pandas.DataFrame.interpolate函数方法的使用

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)

输出结果:

pandas.DataFrame.interpolate函数方法的使用
df.interpolate(method='linear', limit_direction='forward')

输出结果:

pandas.DataFrame.interpolate函数方法的使用
正如我们看到的输出,第一行中的值无法填充,因为值的填充方向为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)

输出结果:

pandas.DataFrame.interpolate函数方法的使用
df.interpolate(method='linear', limit_direction='backward', axis=0)

输出结果:

pandas.DataFrame.interpolate函数方法的使用
最后一行中的值无法填充,因为值的填充方向为backward并且没有可用于插值的后续值。

Original: https://blog.csdn.net/u012856866/article/details/122230597
Author: 酒酿小圆子~
Title: pandas.DataFrame.interpolate函数方法的使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/638624/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球