利用python进行数据分析——之数据结构pandas(一)

这一系列的文章主要是自己读《利用python进行数据分析》所做的总结,详细内容可以参考这本书,本系列主要做梳理和简化,本章主要介绍pandas的文件读写函数和常用的数据分析处理函数,pandas和numpy一样都是python中非常常用的库。

1、pandas的文件读函数

1.1、read_csv()函数。用于读取csv文件的函数:默认的分隔符为逗号,得到的df是pandas的DataFrame数据结构格式。

利用python进行数据分析——之数据结构pandas(一)_第1张图片

可以看到如果你原始表格带有列名,那么默认方式读入的话会沿用这个列名。如果你原始表格没有列名,那么需要加上关键字header=None或添加新的列名,这样你表格中的所有内容都将当做是DataFrame的内容:


利用python进行数据分析——之数据结构pandas(一)_第2张图片

读大型文件的话,可以限制读入的行数:


1.2、read_table()函数。默认分隔符为制表符("\t")。也可以用read_table()来读csv文件,不过要指定分隔符。


1.3、json.load()函数

该函数主要用于读取json文件数据,一个json文件数据的例子如下:

利用python进行数据分析——之数据结构pandas(一)_第3张图片

读取函数如下:


2、pandas的文件写函数

主要是DataFrame的to_csv方法,用于写到csv文件,默认也是写成逗号分隔符。


另外默认写入的话会将index也写入csv文件,如下图中的第一列。

利用python进行数据分析——之数据结构pandas(一)_第4张图片

因此如果不希望有这一列,可以加上


这样得到的表就没有第一列的index。当然还可以加上关键字header=False,可以去掉第一行的列名,但是一般不会这样做。

还有就是在写入的时候可以指定写入分隔符,如‘|’,不过一般还是默认的逗号分隔符用的比较多


3、pandas常用的数据处理函数或方法

3.1、merge函数

这个函数主要用于连接表,表为pandas的DataFrame格式,有点像SQL里面的Join。merge函数默认的连接方式为内连接,如下图:

利用python进行数据分析——之数据结构pandas(一)_第5张图片

除了默认的内连接外,还可以左连接,右连接和外连接,如下图:

利用python进行数据分析——之数据结构pandas(一)_第6张图片

另外merge函数还可以进行多键连接,例如要按两个键进行合并,只需要将on改为on=['key1','key2']即可

3.2、drop_duplicates方法

DataFrame的drop_duplicates方法主要用于过滤掉重复列。如下图创建了一个DataFrame,然后过滤掉重复的列,默认是判断全部列。

利用python进行数据分析——之数据结构pandas(一)_第7张图片

也可以指定某个或某些列进行重复性判断,如下图

利用python进行数据分析——之数据结构pandas(一)_第8张图片

3.3、replace方法

Series和DataFrame的replace方法可以用来替换表格中的数值,如下图,将data的1和2替换成NaN值

利用python进行数据分析——之数据结构pandas(一)_第9张图片

3.4、cut函数

pandas的cut函数可以用于数据的离散化,比如针对年龄数据,希望按照不同年龄段划分并计算各年龄段的人数:

利用python进行数据分析——之数据结构pandas(一)_第10张图片

cut函数中的第二个参数表示分割区间,pandas的value_counts()函数可以用于计算不同区间的人数

3.5、describe方法

DataFrame的describe方法用于生成数据的基本统计信息如均值、分位数、方差等:

利用python进行数据分析——之数据结构pandas(一)_第11张图片

3.6、get_dummies函数

pandas的get_dummies函数主要用于将类别型的变量转化成哑变量(dummy variable),如下图创建一个DataFrame,然后将city列转化成哑变量

利用python进行数据分析——之数据结构pandas(一)_第12张图片

将生成的哑变量和其他数据合并:

利用python进行数据分析——之数据结构pandas(一)_第13张图片

3.7、groupby方法

DataFrame的groupby方法和SQL的group by语句很像,都是用于聚合。新建一个DataFranme数据,然后根据sex聚合并计算score列的均值:

利用python进行数据分析——之数据结构pandas(一)_第14张图片

把mean()换成count()或size()就是计算各个组内样本个数,把groupby里面换成多个数组就可以按照多个数组进行分组:

利用python进行数据分析——之数据结构pandas(一)_第15张图片

groupby的方法包括count(),sum(),mean(),median(),min(),max()等都是针对非NA值的计算,另外std(),var()是无偏(分母为n-1)的标准差和方差

groupby也可以传入字典,Series,函数等等,此处不细讲,可以参考书籍

3.8、apply方法

apply是最一般化的GroupBy方法,直接上例子:

利用python进行数据分析——之数据结构pandas(一)_第16张图片

桶分析:即可以将数据按照某种分割方式进行分组,然后计算分组信息:先将数据cut成4组

利用python进行数据分析——之数据结构pandas(一)_第17张图片

然后groupby可以直接接收cut生成的对象

利用python进行数据分析——之数据结构pandas(一)_第18张图片

你可能感兴趣的:(Python)