看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Series 和 DataFrame 对象都有interpolate()
方法,默认情况下,该函数在缺失值处执行线性插值。这个方法是利用数学方法来估计缺失点的值,对于较大的数据非常有用。
插值就是在已知数据之间计算估计值的过程,是一种实用的数值方法,是函数逼近的重要方法。在信号处理和图形分析中,插值运算的应用较为广泛。
插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。
插值法是根据已知数据点来预测未知数据点,假如你有n个已知条件,就可以求一个n-1次的插值函数P(x),使得P(x)接近未知原函数f(x),并由插值函数预测出你需要的未知点值。而又n个条件求n-1次P(x)的过程,实际上就是求n元一次线性方程组。
以下是一个非常简单的示例,其中一个值是缺失的,我们对它进行差值:
s = pd.Series([0, 1, np.nan, 3])
s.interpolate()
'''
0 0.0
1 1.0
2 2.0
3 3.0
dtype: float64
'''
默认linear
方法,会认为是一条直线。
默认 method=‘linear’ 如果你的数据增长速率越来越快,可以选择 method='quadratic' 二次插值。如果数据集呈现出累计分布的样子,推荐选择 method='pchip'。如果需要填补缺省值,以平滑绘图为目标,推荐选择 method='akima'。method='akima' 和 method = ‘pchip’,需要你的环境中安装了 Scipy 库。除此之外,method='barycentric' 和 method='pchip' 同样也需要 Scipy 才能使用。
使用插值方法,可为:
可参见官网的 interpolation user_guide
常用的有以下几种方法:
(1)邻近点插值(method=’nearest’)。
(2)线性插值(method=’linear’):在两个数据点之间连接直线,计算给定的插值点在直线上的值作为插值结果,该方法是interp1函数的默认方法。
(3)三次样条插值(method=’spline’):通过数据点拟合出三次样条曲线,计算给定的插值点在曲线上的值作为插值结果。
(4)立方插值(method=’pchip’or’cubic’):通过分段立方Hermite插值方法计算插值结果。
选择一种插值方法时,考虑的因素包括运算时间、占用计算机内存和插值的光滑程度。一般来说:
更新时间:2024-08-09 09:24:23 标签:pandas 插值