Pandas DataFrame interpolate() 方法
实例
将空值替换为上一行和下一行之间的数字:
在下面的例子中,我们将使用名为 ‘data.csv’ 的 CSV 文件。
在浏览器中 查看 CSV 文件
import pandas as pddf = pd.read_csv('data.csv')newdf = df.interpolate(method='linear')print(newdf.to_string())#注意:我们使用 to_string() 方法返回整个 DataFrame 。#Note: 注意:第17、27、91、118、141行的 Calories 列中有空值。
定义与用法
interpolate() 方法替换基于指定方法的空值。
语法
dataframe.interpolate(method, axis, inplace, limit, limit_direction, limit_area, downcast, kwargs)
参数
这些参数是 关键字。
| 参数 | 值 | 描述 |
|---|---|---|
| method | 'linear' 'akima' 'barycentric' 'cubic' 'cubispline' 'from_derivates' 'index' 'krogh' 'nearest' 'pad' 'pchip' 'piecewise_polynomial' 'polynomial' 'quadric' 'slinear' 'spline' 'time' 'zero' 'bfill' 'pad' 'ffill' None | 可选, 默认值 'linear' 。指定替换空值时要使用的方法 |
| axis | 0 1 'index' 'columns' | 可选, 默认值为 0。填充空值的轴 |
| inplace | True False | 可选, 默认值为 False。如果为 True:在当前 DataFrame 上完成替换。如果为 False:返回完成替换的副本 |
| limit | Number None | 可选, 默认值 None。指定要填充的最大空值数(如果指定了方法) |
| limit_direction | 'forward' 'backward' 'both' | 可选, 默认值 'forward', (如果方法是 backfill 或者 bfill, 那默认的 limit_direction 是 'backward'。 指定填充的方向 |
| limit_area | None 'inside' 'outside' | 可选, 默认值 None。指定填充的限制条件: None - 无限制 'inside' -仅在有效值内填充空值 'outside' - 仅填充有效值之外的空值 |
| downcast | Dictionary None | 可选, 为特定数据类型填充的字典 |
返回值
DataFrame 结果,如果 inplace 参数设置为 True,则返回结果或 None。