课程学习:Pandas 数据处理基础入门
数据填充
除了直接填充值,我们还可以通过参数,将缺失值前面或者后面的值填充给相应的缺失值。例如使用缺失值前面的值进行填充:
df.fillna(method='pad')
或者是后面的值:
df.fillna(method='bfill')
可以看到,连续缺失值也是按照前序数值进行填充的,并且完全填充。这里,我们可以通过 limit=
参数设置连续填充的限制数量:
df.fillna(method='pad', limit=1) # 最多填充一项
除了上面的填充方式,还可以通过 Pandas 自带的求平均值方法等来填充特定列或行。举个例子:
df.fillna(df.mean()['C':'E']) # 对 C 列到 E 列用平均值填充
插值填充
插值是数值分析中一种方法。简而言之,就是借助于一个函数(线性或非线性),再根据已知数据去求解未知数据的值。插值在数据领域非常常见,它的好处在于,可以尽量去还原数据本身的样子。我们可以通过 interpolate()
方法完成线性插值。
df_interpolate = df.interpolate()
df_interpolate
对于 interpolate()
支持的插值算法,也就是 method=
。下面给出几条选择的建议:
- 如果你的数据增长速率越来越快,可以选择
method='quadratic'
二次插值。 - 如果数据集呈现出累计分布的样子,推荐选择
method='pchip'
。 - 如果需要填补缺省值,以平滑绘图为目标,推荐选择
method='akima'
。
其他用法
除了上面提到的一些方法和技巧,实际上 Pandas 常用的还有:
-
数据计算,例如:
DataFrame.add
等。 -
数据聚合,例如:
DataFrame.groupby
等。 -
统计分析,例如:
DataFrame.abs
等。 -
时间序列,例如:
DataFrame.shift
等。
--- End ---