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

概述

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

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

一、创建Pandas对象

  1. 通过传一些值的列表来创建一个Series,Pandas会自动创建一个默认的整数索引
    在这里插入图片描述
  2. 通过传递带有日期时间索引和带标签列的NumPy数组来创建DataFrame
    在这里插入图片描述
  3. 通过传递可以转化为类似Series的dict对象来创建DataFrame
    在这里插入图片描述

二、查看数据

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

查看DataFrame的顶部和头部
在这里插入图片描述

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

在这里插入图片描述

(三)to_numpy()方法

对于df这种所有值为单一类型的DataFrame,to_numpy()操作是高效的,并且不会复制数据
在这里插入图片描述
4. 然而对于df2这种DataFrame对象有多种类型的,to_numpy操作是比较费事的
在这里插入图片描述

(四)describe()方法

显示数据的快速统计概要
在这里插入图片描述

(五)转置数据

在这里插入图片描述

(六)按轴排序

在这里插入图片描述

(七)按值排序

在这里插入图片描述

三、选择

(一)获取

选择一个列,产生一个“Serise”,相当于“df.A”,这里也可以通过[]选择,对行进行切片
在这里插入图片描述

(二)按标签选择

通过标签获取一行数据
在这里插入图片描述
通过标签在多个轴上选择数据
在这里插入图片描述
通过标签同时在两个轴上切片

在这里插入图片描述
减少返回对象的大小
在这里插入图片描述
获取标量值
在这里插入图片描述

(三)按位置选择

在这里插入图片描述
通过整数切片,类似于numpy/Python
在这里插入图片描述
通过传递整数的列表按位置切片,类似于numpy/Python
在这里插入图片描述
整行切片和整列切片
在这里插入图片描述
获取具体值
在这里插入图片描述

(四)布尔索引

从满足条件的DataFrame中选择值
在这里插入图片描述
可以通过isin()方法过滤所需的值
在这里插入图片描述

(五)赋值

添加新列将自动根据索引对其数据
在这里插入图片描述
在这里插入图片描述
经过以上的步骤后
在这里插入图片描述
带有条件的赋值
在这里插入图片描述

四、缺失值

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

五、操作

(一)统计

进行描述性统计
在这里插入图片描述
在其他轴(行)上进行同样的操作
在这里插入图片描述
使用具有不同维度且需要对齐的对象进行操作。 此外,Pandas会自动沿指定维度进行广播。
在这里插入图片描述

(二)应用

将函数运用于数据
在这里插入图片描述

(三)直方图化

在这里插入图片描述

(四)字符串方法

Series在str属性中配备了一组字符串处理方法,可以轻松地对数组的每个元素进行操作,str中的模式匹配中默认情况下通常使用正则表达式
在这里插入图片描述

六、合并

(一)连接

  1. ==concat()==连接Pandas对象
    在这里插入图片描述
    拆分并连接起来
    在这里插入图片描述

(二)join

SQL风格的合并,==merge()==方法
在这里插入图片描述

(三)追加

给DataFrame追加一行
在这里插入图片描述

七、分组

涉及以下步骤:

  • 分割:根据一些标准将数据分成组
  • 应用:将函数独立地应用于每个组
  • 组合:将结果组合成数据结构
    先构建一个DataFrame
    在这里插入图片描述
    在这里插入图片描述

八、重塑

堆叠(Stack)

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

九、数据透视表

我们有如下数据
在这里插入图片描述
现在我们将其生成透视表pivot_table()方法
在这里插入图片描述

十、时间序列

不解,待后续添加

十一、分类

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

十二、绘图


参阅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
    注:前者为后者的翻译内容
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值