pandas.DataFrame.interpolate函数方法的使用
Pandas dataframe.interpolate()功能本质上是用来填充NA DataFrame 或系列中的值。但是,这是一个非常强大的功能,可以填补缺失的值。它使用各种插值技术来填充缺失值,而不是hard-coding值。pandas.DataFrame.interpolate函数简介具体用法:DataFrame.interpolate(self, method='linear', ax
·
Pandas dataframe.interpolate()功能本质上是用来填充NA DataFrame 或系列中的值。但是,这是一个非常强大的功能,可以填补缺失的值。它使用各种插值技术来填充缺失值,而不是hard-coding值。
pandas.DataFrame.interpolate函数简介
具体用法:
DataFrame.interpolate(self, method='linear', axis=0, limit=None, inplace=False, limit_direction='forward', limit_area=None, downcast=None, **kwargs)
参数:
- method:{“线性”,“时间”,“索引”,“值”,“最近”,“零”,“线性”,“二次”,“三次”,“重心”,“克罗格”,“多项式”,“样条”,“ piecewise_polynomial”,“ from_derivatives”,“ pchip”,“ akima”}
- axis:0填充column-by-column和1填充row-by-row。
- limit:要填充的连续NaN的最大数量。必须大于0。
- limit_direction:{“前进”,“后退”,“两者”},默认为“前进”
- limit_area:无(默认)无填充限制。inside 仅填充有效值包围的NaN(内插)。outside 仅将NaN填充到有效值之外(外推)。如果指定了限制,则将沿该方向填充连续的NaN。
- inplace:如果可能,更新NDFrame。
- downcast:如果可能,请向下转换dtypes。
- kwargs:关键字参数传递给插值函数。
**返回值:**在NaN处插补的相同形状的Series或DataFrame
范例1:采用interpolate()函数使用线性方法填充缺失值。
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[np.nan, 2, np.nan, 6, np.nan])
print(df)
输出结果:
df.interpolate(method='linear', limit_direction='forward')
输出结果:
正如我们看到的输出,第一行中的值无法填充,因为值的填充方向为forward并且没有可用于插值的先前值。
范例2:采用interpolate()函数使用线性方法向后插值缺失值
df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),
(np.nan, 2.0, np.nan, np.nan),
(2.0, 3.0, np.nan, 9.0),
(np.nan, 4.0, -4.0, 16.0)],
columns=list('abcd'))
print(df)
输出结果:
df.interpolate(method='linear', limit_direction='backward', axis=0)
输出结果:
最后一行中的值无法填充,因为值的填充方向为backward并且没有可用于插值的后续值。
更多推荐
已为社区贡献10条内容
所有评论(0)