前言
Pandas基于两种数据类型:series与dataframe。
一个series是一个一维的数据类型,其中每一个元素都有一个标签。series类似于Numpy中元素带标签的数组。其中,标签可以是数字或者字符串。
一个dataframe是一个二维的表结构。Pandas的dataframe可以存储许多种不同的数据类型,并且每一个坐标轴都有自己的标签。你可以把它想象成一个series的字典项。
一、读取csv文件为dataframe
Pandas很好的一点是,可以操作表文件。输出为dataframe格式,这点很nice。 使用pandas.read_csv()读取csv文件,输出为dataframe格式数据。 这里数据data.csv数据集下载自百度地图。
检测下数据格式
二、 DataFrame数据概况
我们想知道数据如下知识:
- 展示dataframe前后几条记录
- 显示dataframe的列名字
- 查看dataframe的维度情况(几行几列)
2.1展示dataframe前后几行
2.2展示dataframe列名
三、从dataframe中取列数据
使用dataframe[column_name],返回series格式数据。 series序列数据类似于list,你可以近似等同于list。 只不过返回数据中会多一列index索引。如下面的左侧数字序号
3.1 取一列数据
3.2取多列数据
四、从dataframe中取行数据(记录)
ix[row, col] 中括号中第一个参数row是行参数,你想选择的数据行数。 第二个参数col是列参数,选择你想要的列数据项。
4.1取一行数据
4.2取多行数据
五、取某一单元格数据
取第一行第一列。df.ix[0,0] 第三行第七列。df.ix[2,6]
六、缺失值处理
缺失值一般标记为NaN,处理办法如下
6.1按照行进行缺失值处理
七、归一化处理
数据集中,不同的列的数据可能在不同量级,如果直接进行分析。模型会认为数字大的影响力大,数字小的影响力小。 最终结果可能导致量级小的变量被剔除出模型。因此需要将数据归一化,变成同一量级的数据,这就是归一化操作。 在这里我们只对一列操作下,其余列也需要操作,但为了方便,这里只写一列的归一化处理。
这里要注意,我们会用到pandas特性,矢量化操作,也就是可以对一个列表进行批量同样的操作。
八、排序
九、索引重新
十、求平均值
10.1所有列的平均值信息
10.2 单个列的平均值
十一、矢量化操作(批量操作)
一般对如list样式的数据批量操作,需要写循环,但是这样费时费力。 pandas基于numpy,可进行矢量化操作,一行就能完成复杂的循环语句,而且运行效率还很高。
十二、透视表
围绕index参数列,分析各个col2,aggfunc是np函数,当然这里的aggfunc也可以是自定义函数。
pandas提取html中的表格数据
pandas会在网页中寻找任何符合html表形式的数据,并将其转化WieDataFrame对象作为返回结果
Code
pandas使用方法
实战代码开始
注意啊,这里得到的数据格式是list。
DataFrame对象
df.to_json()
而只要知道数据存储在DataFrame中,一切都变的简单起来。 比如我很希望数据以json记形式输出,很简单!这只是一行代码的事情。
df.to_csv()
dataframe对象,还可以将数据输出保存为csv文件