解密大数据python大法攻略数据挖掘

Pandas的使用

2017-09-16  本文已影响106人  眼君

pandas是一个基于numpy的数据处理的库,我们可以简单的将pandas理解为对numpy的封装。

pandas有两个主要的数据结构:Series和DataFrame.

Series

Series是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成,仅一组数据即可产生最简单的Series:

Series

以上这组Series数据由一组values和一组index组成:

values&index

当然,我们也可以自定义索引的值:

index

我们甚至可以将Series看作是一个定长的有序字典,我们甚至可以直接把一个python字典转换成Series:

字典与Series

Series对象本身及其索引都有一个name属性,该属性跟pandas其他关键功能关系非常密切:

DataFrame

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型,DataFrame既有行索引也有列索引,它可以被看作是由Series组成的字典。

同样的我们可以直接传入一个由等长列表或Numpy数组组成的字典:

从字典构建pandas

如果在DataFrame中指定列序列,则DataFrame的列就会按照指定顺序进行排列:

DataFrame指定列

通过字典标记的方式或者属性的方式,都剋获取DataFrame中的一个Series:

 从pandas获取Series

我们也可以通过ix方法获取一行DataFrame数据:

通过索引字段获取一行数据

DataFrame也可以通过属性方式获取index、columns、values。

安装

>>>pip install pandas

读取数据

如同numpy一样,Pandas也有一些自带的函数用于读取数据。以下代码用于读取csv文件中的数据:

原始数据 读取CSV文件

head()方法和tail()方法用于显示头N条和尾N条数据,如果括号内里不填参数,则默认N为5。

head与tail

columns方法显示文档的列标签,shape方法显示数据规模,如图表示这个文档有8618条记录,每条记录有36个特征(列)项。

columns和shape方法

索引

下面的代码表示在food_info中取第1行数据。

loc()用法

当然,pandas索引也支持切片操作

索引

我们也可以通过列名进行索引取每列的数据

列名索引

取多列数据

取多列数据

tolist()方法可以将数据转换成列表

tolist()方法

排序

sort_values()方法用来对取出对数据进行排序,代码如下:

sort_values()方法

其中参数inplace = True意思是在原本对数据集food_info 中进行变换而非新生成一个对象,ascending=False意思是对取出对数据进行降序排序。

pandas的常用运算方法

isnull()方法判断缺失值

isnull()方法 mean()求均值

Pandas的数据透视表

Pandas库自带一个pivot_table()方法用于对某一组数据生成数据透视表。

参数index表示分类标签,参数values表示取数据的值,aggfunc表示对values进行哪种操作

透视表函数(1) 透视表函数(2)

剔除掉含有缺失值的数据

剔除掉含有缺失值的数据

填充缺失值

上一篇下一篇

猜你喜欢

热点阅读