pandas模块使用介绍

1.pandas简介

pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

-i 指定pip源,使用国内pip提高下载安装速度、

2.pandas数据结构

2-1.Series(⼀维数据)

⽤列表⽣成 Series时,Pandas 默认⾃动⽣成整数索引,也可以指定索引

代码示例1:

  1. ⽆论是numpy中的np.NAN,还是Python中的None在pandas中都以缺失数据NaN对待
  2. pandas⾃动添加索引项
  3. 不指定dtype,默认值为dtype='float64'

代码示例2:

1.可以自行指定⾏索引

代码示例3:

1.可以传⼊字典创建,key⾏为索引,value为数据

2-2.DataFrame(二维数据)

DataFrame是由多种类型的列构成的⼆维标签数据结构,类似于 Excel 、SQL 表,或 Series 对象构成的字典

代码示例1:

1.index 作为⾏索引

2.字典中的key作为列索引

3.通过数据创建了3*3的DataFrame表格⼆维数组

代码示例2:

3.查看数据

查看DataFrame的常⽤属性和DataFrame的概览和统计信息

代码示例:

4.数据的输入与输出

4-1.CSV

4-1-1.数据写入CSV

代码示例:

sep = ',' # ⽂本分隔符,默认是逗号

header = True # 是否保存列索引

index = True # 是否保存⾏索引,保存⾏索引,⽂件被加载时,默认⾏索引会作为⼀列

4-1-2.读取CSV

4-2.Excel

操作Excel文件需要安装相关的模块工具

xlwt包可以正常使用,但是在使用时官方会提示警告:

FutureWarning: As the xlwt package is no longer maintained, the xlwt engine will be removed in a future version of pandas. This is the only engine in pandas that supports writing in the xls format. Install openpyxl and write to an xlsx file instead. You can set the option io.excel.xls.writer to 'xlwt' to silence this warning. While this option is deprecated and will also raise a warning, it can be globally set and the warning suppressed. index=False)

由于xlwt包不再维护,未来版本的panda将删除xlwt引擎。这是panda中唯一支持xls格式编写的引擎。后续可以安装openpyxl并改为写入xlsx文件来替代原来使用习惯

代码示例1:

单分页sheet

代码示例2:

多分页sheet

4-3.SQL

操作SQL需要安装相关的模块工具

安装依赖组件模块、准备MySQL实验环境

代码示例:

从MySQL中查看验证

4-4.HDF5

-

对于HDF5⽂件中的数据存储,有两个核⼼概念:group 和 dataset

dataset 代表数据集,⼀个⽂件当中可以存放不同种类的数据集,这些数据集如何管理,就⽤到了group

最直观的理解,可以参考我们的⽂件管理系统,不同的⽂件位于不同的⽬录下。

⽬录就是HDF5中的group, 描述了数据集dataset的分类信息,通过group 有效的将多种dataset 进⾏管

理和区分;⽂件就是HDF5中的dataset, 表示的是具体的数据。

安装相关HDF5模块:

代码示例:

5.数据选取

5-1.获取数据

5-2.标签选择

 

5-3.位置选择

5-4.boolean索引

5-5.赋值操作

6.数据集成

6-1.concat数据串联拼接

6-2.数据插入

6-3.Join SQL风格合并

数据集的合并(merge)或连接(join)运算是通过⼀个或者多个键将数据链接起来的。这些运算是关系型数据库的核⼼操作。pandas的merge函数是数据集进⾏join运算的主要切⼊点

代码示例1:

代码示例2:

7.数据清洗

数据样例:

7-1.空数据删除过滤

7-2.空数据填充替换

7-3.筛选指定行或列数据

7-4.函数filter使用

7-5.异常值的剔除过滤

8.数据转换

8-1.轴和元素替换

8-2.map Series元素改变

8-3.apply元素改变

既⽀持Series,也⽀持DataFrame

8-4.transform变形

8-5.重排随机抽样哑变量(虚拟变量)

代码示例1:

代码示例2:

9.数据重塑

10.数学和统计⽅法

pandas对象拥有⼀组常⽤的数学和统计⽅法。它们属于汇总统计,对Series汇总计算获取mean、max值或者对DataFrame⾏、列汇总计算返回⼀个Series。

10-1.简单统计指标

10-2.索引标签、位置获取

10-3.更多统计指标

10-4.高级统计指标

11.数据排序

12.分箱操作

13.分组聚合

13-1.分组

代码示例1:

13-2.分组聚合

13-3.分组聚合apply、transform

-

13-4.分组聚合agg

 

13-5.透视表pivot_table

14.时间序列

14-1.时间戳操作

14-2.时间戳索引

15.数据可视化

安装工具:

Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式,Matplotlib 可以用来绘制各种静态,动态,交互式的图表。Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等

Jupyter Notebook是一款开发工具,基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果,经常可以大大增加调试代码效率,快速的展现数据输出结果和图像。

线形图

png

条形图

 

png

饼图

 

png

散点图

 

png

 

png

png

面积图

 

png

箱式图

 

png

直方图

 

png

png

png