技巧 | Pandas 数据填充

课程学习: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 ---

你可能感兴趣的:(技巧 | Pandas 数据填充)