❓为什么要学习pandas❓
NumPy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢?
NumPy能够帮我们处理处理数值型数据,但是这还不够,很多时候,我们的数据除了数值之外,还有字符串,还有时间序列等,所以,NumPy能够帮助我们处理数值,但是pandas除了处理数值之外(基于NumPy),还能够帮助我们处理其他类型的数据。
Pandas是Python第三方库,提供高性能易用数据类型和分析工具。
import pandas as pd
▫️Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用.
🔹计算前N项累加和
Series DataFrame
▫️基于上述数据类型的各类操作
▫️基本操作、运算操作、特征类操作、关联类操作
NumPy
Pandas
Series类型由一组数据及与之相关的数据索引组成.
NumPy中NaN为float,pandas会自动根据数据类型更改series的dtype类型
Series类型包括index和values两部分
Series类型的操作类似ndarray类型
Series类型的操作类似Python字典类型
索引方法采用[ ]
NumPy中运算和操作可用于Series类型
可以通过自定义索引的列表进行切片
可以通过自动索引进行切片,如果存在自定义索引,则一同被切片
Series类型在运算中会自动对齐不同索引的数据。
Series对象和索引都可以有一个名字,存储在属性.name中
Series对象可以随时修改并即刻生效
DataFrame类型由共用相同索引的一组列组成。
DataFrame对象既有行索引,又有列索引
DataFrame是一个表格型的数据类型,每列值类型可以不同
DataFrame既有行索引、也有列索引
DataFrame常用于表达二维数据,但可以表达多维数据
问题:
DataFrame和Series有什么关系呢?
Series能够传入字典,那么DataFrame能够传入字典作为数据么?
对于一个DataFrame类型,既有行索引,又有列索引,我们能够对他做什么操作呢
二维ndarray对象
由一维ndarray、列表、字典、元组或Series构成的字典
Series
其他的DataFrame类型
🔹实例
我们的数据缺失通常有两种情况:
1️⃣一种就是空,None等,在pandas是NaN
(和np.nan一样)
2️⃣另一种是我们让其为0
对于NaN的数据,在numpy中我们是如何处理的?
在pandas中处理起来非常容易
判断数据是否为NaN:
pd.isnull(df),pd.notnull(df)
处理方式1:删除NaN所在的行列
dropna (axis=0, how='any', inplace=False)
处理方式2:填充数据,计算平均值等情况,nan是不参与计算的
t.fillna(t.mean()),t.fillna(t.median()),t.fillna(0)
🔹实例: