像Excel一样使用python进行数据分析(3)

7,数据汇总

第七部分是对数据进行分类汇总,Excel中使用分类汇总和数据透视可以按特定维度对数据进行汇总,python中使用的主要函数是groupby和pivot_table。下面分别介绍这两个函数的使用方法。

分类汇总

Excel的数据目录下提供了“分类汇总”功能,可以按指定的字段和汇总方式对数据表进行汇总。Python中通过Groupby函数完成相应的操作,并可以支持多级分类汇总。

Groupby是进行分类汇总的函数,使用方法很简单,制定要分组的列名称就可以,也可以同时制定多个列名称,groupby按列名称出现的顺序进行分组。同时要制定分组后的汇总方式,常见的是计数和求和两种。

# 对所有列进行计数汇总
df_inner.groupby(‘city‘).count()

可以在groupby中设置列名称来对特定的列进行汇总。下面的代码中按城市对id字段进行汇总计数。

#对特定的ID列进行计数汇总
df_inner.groupby(‘city‘)[‘id‘].count()
city
beijing 2
guangzhou 1
shanghai 2
shenzhen 1
Name: id, dtype: int64

在前面的基础上增加第二个列名称,分布对city和size两个字段进行计数汇总。

#对两个字段进行汇总计数
df_inner.groupby([‘city‘,‘size‘])[‘id‘].count()
city size
beijing A 1
F 1
guangzhou A 1
shanghai A 1
B 1
shenzhen C 1
Name: id, dtype: int64

除了计数和求和外,还可以对汇总后的数据同时按多个维度进行计算,下面的代码中按城市对price字段进行汇总,并分别计算price的数量,总金额和平均金额。

#对city字段进行汇总并计算price的合计和均值。
df_inner.groupby(‘city‘)[‘price‘].agg([len,np.sum, np.mean])

数据透视

Excel中的插入目录下提供“数据透视表”功能对数据表按特定维度进行汇总。Python中也提供了数据透视表功能。通过pivot_table函数实现同样的效果。

数据透视表也是常用的一种数据分类汇总方式,并且功能上比groupby要强大一些。下面的代码中设定city为行字段,size为列字段,price为值字段。分别计算price的数量和金额并且按行与列进行汇总。

#数据透视表
pd.pivot_table(df_inner,index=["city"],values=["price"],columns=["size"],aggfunc=[len,np.sum],fill_value=0,margins=True)

8,数据统计

第九部分为数据统计,这里主要介绍数据采样,标准差,协方差和相关系数的使用方法。

数据采样

Excel的数据分析功能中提供了数据抽样的功能,如下图所示。Python通过sample函数完成数据采样。

Sample是进行数据采样的函数,设置n的数量就可以了。函数自动返回参与的结果。

#简单的数据采样
df_inner.sample(n=3)

Weights参数是采样的权重,通过设置不同的权重可以更改采样的结果,权重高的数据将更有希望被选中。这里手动设置6条数据的权重值。将前面4个设置为0,后面两个分别设置为0.5。

#手动设置采样权重
weights = [0, 0, 0, 0, 0.5, 0.5]
df_inner.sample(n=2, weights=weights)

从采样结果中可以看出,后两条权重高的数据被选中。

Sample函数中还有一个参数replace,用来设置采样后是否放回。

#采样后不放回
df_inner.sample(n=6, replace=False)
#采样后放回
df_inner.sample(n=6, replace=True)

描述统计

Excel中的数据分析中提供了描述统计的功能。Python中可以通过Describe对数据进行描述统计。

Describe函数是进行描述统计的函数,自动生成数据的数量,均值,标准差等数据。下面的代码中对数据表进行描述统计,并使用round函数设置结果显示的小数位。并对结果数据进行转置。

#数据表描述性统计
df_inner.describe().round(2).T


标准差
Python中的Std函数用来接算特定数据列的标准差。

#标准差
df_inner[‘price‘].std()
1523.3516556155596

协方差
Excel中的数据分析功能中提供协方差的计算,python中通过cov函数计算两个字段或数据表中各字段间的协方差。

Cov函数用来计算两个字段间的协方差,可以只对特定字段进行计算,也可以对整个数据表中各个列之间进行计算。

#两个字段间的协方差
df_inner[‘price‘].cov(df_inner[‘m-point‘])
17263.200000000001
#数据表中所有字段间的协方差
df_inner.cov()

相关分析
Excel的数据分析功能中提供了相关系数的计算功能,python中则通过corr函数完成相关分析的操作,并返回相关系数。

Corr函数用来计算数据间的相关系数,可以单独对特定数据进行计算,也可以对整个数据表中各个列进行计算。相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关。

#相关性分析
df_inner[‘price‘].corr(df_inner[‘m-point‘])
0.77466555617085264
#数据表相关性分析
df_inner.corr()

9,数据输出

第九部分是数据输出,处理和分析完的数据可以输出为xlsx格式和csv格式。

写入excel

#输出到excel格式
df_inner.to_excel(‘excel_to_python.xlsx‘, sheet_name=‘bluewhale_cc‘)

写入csv

#输出到CSV格式
df_inner.to_csv(‘excel_to_python.csv‘)

在数据处理的过程中,大部分基础工作是重复和机械的,对于这部分基础工作,我们可以使用自定义函数进行自动化。以下简单介绍对数据表信息获取自动化处理。

#创建数据表
df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006],
"date":pd.date_range(‘20130102‘, periods=6),
"city":[‘Beijing ‘, ‘SH‘, ‘ guangzhou ‘, ‘Shenzhen‘, ‘shanghai‘,‘BEIJING ‘],
"age":[23,44,54,32,34,32],
"category":[‘100-A‘,‘100-B‘,‘110-A‘,‘110-C‘,‘210-A‘,‘130-F‘],
"price":[1200,np.nan,2133,5433,np.nan,4432]},
columns =[‘id‘,‘date‘,‘city‘,‘category‘,‘age‘,‘price‘])
#创建自定义函数
def table_info(x):
    shape=x.shape
    types=x.dtypes
    colums=x.columns
    print("数据维度(行,列):\n",shape)
    print("数据格式:\n",types)
    print("列名称:\n",colums)
#调用自定义函数获取df数据表信息并输出结果
table_info(df)

数据维度(行,列):
(6, 6)
数据格式:
id int64
date datetime64[ns]
city object
category object
age int64
price float64
dtype: object
列名称:
Index([‘id‘, ‘date‘, ‘city‘, ‘category‘, ‘age‘, ‘price‘], dtype=‘object‘)

本篇是《像Excel一样使用python进行数据分析》系列文章的最后一篇。在这个系列中我们列举了python中36个简单的函数来实现excel中最常见的一些功能。感兴趣的朋友可以下载并阅读pandas官方文档,里面有更详细的函数说明。

原文地址:https://www.cnblogs.com/xitingxie/p/8412909.html

时间: 2024-11-09 06:20:24

像Excel一样使用python进行数据分析(3)的相关文章

像Excel一样使用python进行数据分析

Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ,我们从1787页的pandas官网文档中总结出最常用的36个函数,通过这些函数介绍如何通过python完成数据生成和导入,数据清洗,预处理,以及最常见的数据分类,数据筛选,分类 汇总,透视等最常见的操作. 文章内容共分为9个部分.这是第一篇,介绍前3部分内容,数据表生成,数据表查看,和数据清洗.

python的数据分析的学习方法

python数据分析的要求并不是软件开发的要求,确实,对于一门工具,不同目的的使用者,需要的技能是不一样的,比如刀这个工具,屠夫用它是杀猪的,厨师用它是切菜的,军人用它是保家卫国的,客人用它是切牛排的,每个人用的方式都不一样,对于刀的掌握方法都有特定的要求. python数据分析,就如同学excel做数据分析一样,都是从了解python如何打开使用,如何在里面处理数据,如何筛选数据,如何统计分析,如何图表展示.python只是工具,关键还是处理问题的思维方法.我们学习python的目的不是为了写

利用python进行数据分析——(一)库的学习

总结一下自己对python常用包:Numpy,Pandas,Matplotlib,Scipy,Scikit-learn 一. Numpy: 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指 针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象.对于数值运算来说这种结构显然比较浪费内存和CPU计算时间. 此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和

基于Python的数据分析(1):配置安装环境

数据分析是一个历史久远的东西,但是直到近代微型计算机的普及,数据分析的价值才得到大家的重视.到了今天,数据分析已经成为企业生产运维的一个核心组成部分. 据我自己做数据分析的经验来看,目前数据分析按照使用工具可以分为大体四类: 基于Excel的数据分析,Excel自带的函数.数据透视表.宏等功能对于数据分析来说十分适用且好用:基于matlib.SAS.SPSS等专业统计软件,我自己用过一段时间的SAS,觉得功能十分全面,但是作为程序员使用又觉得限制太多不够自由:基于SQL+数据库的数据分析,这一类

利用Python进行数据分析(一)简单介绍

一.处理数据的基本内容 数据分析 是指对数据进行控制.处理.整理.分析的过程. 在这里,“数据”是指结构化的数据,例如:记录.多维数组.Excel 里的数据.关系型数据库中的数据.数据表等. 二.说说 Python 这门语言 Python 是现在最受欢迎的动态编程语言之一(还有 Perl.Ruby 等).近些年非常流行用 Python 建站,比如流行的 Python Web 框架 Django. Python 这类语言被称为脚本语言,因为它们可以编写简短粗糙的小程序,即脚本.不过这好像在说 Py

利用python进行数据分析--(阅读笔记一)

以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分代码组成:少量需要占用大部分执行时间的代码,以及大量不经常执行的“粘合剂代码”. cython已经成为python领域中创建编译型扩展以及对接c/c++代码的一大途径. 3.在那些要求延迟性非常小的应用程序中(例如高频交易系统),为了尽最大可能地优化性能,耗费时间使用诸如C++这样更低级.更低生产率的语言进行

《利用python进行数据分析》

今天开始码这本书--<利用python进行数据分析>.R和python都得会用才行,这是码这本书的原因.首先按照书上说的进行安装,google下载了epd_free-7.3-1-win-x86.msi,译者建议按照作者的版本安装.

《利用Python进行数据分析》.(Wes McKinney).[PDF].pdf

下载地址:网盘下载 内容简介  · · · · · · [名人推荐] "科学计算和数据分析社区已经等待这本书很多年了:大量具体的实践建议,以及大量综合应用方法.本书在未来几年里肯定会成为Python领域中技术计算的权威指南." --Fernando Pérez 加州大学伯克利分校 研究科学家, IPython的创始人之一 [内容简介] 还在苦苦寻觅用python控制.处理.整理.分析结构化数据的完整课程?本书含有大量的实践案例,你将学会如何利用各种Python库(包括NumPy.pan

PYTHON学习(三)之利用python进行数据分析(1)---准备工作

学习一门语言就是不断实践,python是目前用于数据分析最流行的语言,我最近买了本书<利用python进行数据分析>(Wes McKinney著),还去图书馆借了本<Python数据分析基础教程--NumPy学习指南>(第二版),准备将python数据分析工具的门给入了哈哈,闲话少说,直接切入正题. 首先<利用python进行数据分析>此书的译者强烈建议计算机环境的配置最好与书上的一致,所以我找了半天书上要求用的安装包 第一,安装32位的EPDFree(书上的版本就是3