Python数据分析学习(三)Pandas学习

目录

  • 概述
  • 一、创建Pandas对象
  • 二、查看数据
    • (一)head()和tail()方法
    • (二)显示索引、列和底层NumPy数据
    • (三)to_numpy()方法
    • (四)describe()方法
    • (五)转置数据
    • (六)按轴排序
    • (七)按值排序
  • 三、选择
    • (一)获取
    • (二)按标签选择
    • (三)按位置选择
    • (四)布尔索引
    • (五)赋值
  • 四、缺失值
  • 五、操作
    • (一)统计
    • (二)应用
    • (三)直方图化
    • (四)字符串方法
  • 六、合并
    • (一)连接
    • (二)join
    • (三)追加
  • 七、分组
  • 八、重塑
    • 堆叠(Stack)
  • 九、数据透视表
  • 十、时间序列
  • 十一、分类
  • 十二、绘图
  • 十三、数据输入\输出(各类型文件的输入输出)
    • CSV文件
    • Excel文件
    • HDF5文件
  • 结语
  • 参考资料

概述

Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
Pandas 适用于处理以下类型的数据:

  • 与 SQL 或 Excel 表类似的,含异构列的表格数据;
  • 有序和无序(非固定频率)的时间序列数据;
  • 带行列标签的矩阵数据,包括同构或异构型数据;
  • 任意其它形式的观测、统计数据集, 数据转入 Pandas 数据结构时不必事先标记。

一、创建Pandas对象

  1. 通过传一些值的列表来创建一个Series,Pandas会自动创建一个默认的整数索引
    Python数据分析学习(三)Pandas学习_第1张图片
  2. 通过传递带有日期时间索引和带标签列的NumPy数组来创建DataFrame
    Python数据分析学习(三)Pandas学习_第2张图片
  3. 通过传递可以转化为类似Series的dict对象来创建DataFrame
    Python数据分析学习(三)Pandas学习_第3张图片

二、查看数据

(一)head()和tail()方法

查看DataFrame的顶部和头部
Python数据分析学习(三)Pandas学习_第4张图片

(二)显示索引、列和底层NumPy数据

Python数据分析学习(三)Pandas学习_第5张图片

(三)to_numpy()方法

对于df这种所有值为单一类型的DataFrame,to_numpy()操作是高效的,并且不会复制数据
Python数据分析学习(三)Pandas学习_第6张图片
4. 然而对于df2这种DataFrame对象有多种类型的,to_numpy操作是比较费事的
Python数据分析学习(三)Pandas学习_第7张图片

(四)describe()方法

显示数据的快速统计概要
Python数据分析学习(三)Pandas学习_第8张图片

(五)转置数据

Python数据分析学习(三)Pandas学习_第9张图片

(六)按轴排序

Python数据分析学习(三)Pandas学习_第10张图片

(七)按值排序

Python数据分析学习(三)Pandas学习_第11张图片

三、选择

(一)获取

选择一个列,产生一个“Serise”,相当于“df.A”,这里也可以通过[]选择,对行进行切片
Python数据分析学习(三)Pandas学习_第12张图片

(二)按标签选择

通过标签获取一行数据
在这里插入图片描述
通过标签在多个轴上选择数据
Python数据分析学习(三)Pandas学习_第13张图片
通过标签同时在两个轴上切片

Python数据分析学习(三)Pandas学习_第14张图片
减少返回对象的大小
在这里插入图片描述
获取标量值
Python数据分析学习(三)Pandas学习_第15张图片

(三)按位置选择

Python数据分析学习(三)Pandas学习_第16张图片
通过整数切片,类似于numpy/Python
Python数据分析学习(三)Pandas学习_第17张图片
通过传递整数的列表按位置切片,类似于numpy/Python
Python数据分析学习(三)Pandas学习_第18张图片
整行切片和整列切片
Python数据分析学习(三)Pandas学习_第19张图片
获取具体值
Python数据分析学习(三)Pandas学习_第20张图片

(四)布尔索引

从满足条件的DataFrame中选择值
Python数据分析学习(三)Pandas学习_第21张图片
可以通过isin()方法过滤所需的值
Python数据分析学习(三)Pandas学习_第22张图片

(五)赋值

添加新列将自动根据索引对其数据
Python数据分析学习(三)Pandas学习_第23张图片
Python数据分析学习(三)Pandas学习_第24张图片
经过以上的步骤后
Python数据分析学习(三)Pandas学习_第25张图片
带有条件的赋值
Python数据分析学习(三)Pandas学习_第26张图片

四、缺失值

Pandas主要使用值np.nan来表示缺失的数据。通常情况下,它不包含在计算中。
重建索引允许更改/添加/删除指定轴上的索引。这个操作会返回一个副本,不会改变原有对象
Python数据分析学习(三)Pandas学习_第27张图片
删除任何带有缺失值的行
在这里插入图片描述
填充缺失值
Python数据分析学习(三)Pandas学习_第28张图片
获取值为nan的掩码
Python数据分析学习(三)Pandas学习_第29张图片

五、操作

(一)统计

进行描述性统计
Python数据分析学习(三)Pandas学习_第30张图片
在其他轴(行)上进行同样的操作
Python数据分析学习(三)Pandas学习_第31张图片
使用具有不同维度且需要对齐的对象进行操作。 此外,Pandas会自动沿指定维度进行广播。
Python数据分析学习(三)Pandas学习_第32张图片

(二)应用

将函数运用于数据
Python数据分析学习(三)Pandas学习_第33张图片

(三)直方图化

Python数据分析学习(三)Pandas学习_第34张图片

(四)字符串方法

Series在str属性中配备了一组字符串处理方法,可以轻松地对数组的每个元素进行操作,str中的模式匹配中默认情况下通常使用正则表达式
Python数据分析学习(三)Pandas学习_第35张图片

六、合并

(一)连接

  1. ==concat()==连接Pandas对象
    Python数据分析学习(三)Pandas学习_第36张图片
    拆分并连接起来
    Python数据分析学习(三)Pandas学习_第37张图片

(二)join

SQL风格的合并,==merge()==方法
Python数据分析学习(三)Pandas学习_第38张图片

(三)追加

给DataFrame追加一行
Python数据分析学习(三)Pandas学习_第39张图片

七、分组

涉及以下步骤:

  • 分割:根据一些标准将数据分成组
  • 应用:将函数独立地应用于每个组
  • 组合:将结果组合成数据结构
    先构建一个DataFrame
    Python数据分析学习(三)Pandas学习_第40张图片
    Python数据分析学习(三)Pandas学习_第41张图片

八、重塑

堆叠(Stack)

==stack()==压缩DataFrame或者Series
==unstack()==是stack()的逆操作,默认情况下取消最后压缩的那个级别

九、数据透视表

我们有如下数据
Python数据分析学习(三)Pandas学习_第42张图片
现在我们将其生成透视表pivot_table()方法
Python数据分析学习(三)Pandas学习_第43张图片

十、时间序列

不解,待后续添加

十一、分类

Pandas可以在DataFrame中包含分类数据。
将原始成绩转换为category数据类型
Python数据分析学习(三)Pandas学习_第44张图片
通过调用Series.cat.categories来替换,将类别名重命名为更有意义的名称
在这里插入图片描述
Series.cat.set_categories()方法对categories重新排序并同时添加缺少的category
Python数据分析学习(三)Pandas学习_第45张图片
可以按categories中的顺序排序
Python数据分析学习(三)Pandas学习_第46张图片
按分类的列分组(groupby)可以显示空categories
Python数据分析学习(三)Pandas学习_第47张图片

十二、绘图

Python数据分析学习(三)Pandas学习_第48张图片
参阅Plotting文档

十三、数据输入\输出(各类型文件的输入输出)

在《Python数据分析学习(三)掌握数据加载、存储、文件格式》博文中将有更详细的说明

CSV文件

  1. 写入CSV文件
df.to_csv('foo.csv')
  1. 从CSV文件读数据
pd.read_csv('foo.csv')

Excel文件

  1. 写入excel文件
df.to_excel('foo.xlsx', sheet_name='Sheet1')
  1. 从Excel文件读取数据
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])

HDF5文件

写入HDF5

df.to_hdf('foo.h5', 'df')

从HDF5读取数据

pd.read_hdf('foo.h5', 'df')

结语

什么?不详细,不得劲,来来来说道说道,开个玩笑,大家的学习欲望还没有满足的话,可以继续学习哦,参考资料里为大家准备了不少学习的传送门,大家加油!


参考资料

  1. 文档
    Pandas中文文档
  2. 视频教程
    Python进阶-Pandas数据分析库
    【全30集】使用 pandas 进行数据分析
    注:两者均为哔哩哔哩视频,前者由国人讲授,后者为油管搬运(无字幕,有野生翻译菌,需量力而行)
  3. 练习
    Pandas练习
    Pandas练习-GitHub
    注:前者为后者的翻译内容

你可能感兴趣的:(#,Python数据分析,Pandas,数据分析,学习总结)