Pandas的使用
pandas是一个基于numpy的数据处理的库,我们可以简单的将pandas理解为对numpy的封装。
pandas有两个主要的数据结构:Series和DataFrame.
Series
Series是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成,仅一组数据即可产生最简单的Series:
Series以上这组Series数据由一组values和一组index组成:
values&index当然,我们也可以自定义索引的值:
index我们甚至可以将Series看作是一个定长的有序字典,我们甚至可以直接把一个python字典转换成Series:
字典与SeriesSeries对象本身及其索引都有一个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与tailcolumns方法显示文档的列标签,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)