【问题标题】:How to control X's and Y's when interplolating with pandas用熊猫插值时如何控制X和Y
【发布时间】:2018-09-15 07:36:49
【问题描述】:

我想使用样条插值来填充一些空值,但我找不到为 Pandas 指定 X 和 Y 的方法。它会自动选择索引作为 X 并分别为所有具有空值的列填充空值。 关于如何使其工作的任何想法?还是我需要使用 SciPy?

我尝试过这样的事情:

df.interpolate(x='some_column1', y='some_column2', method='spline', order=1)

但我得到了: TypeError: _interpolate_scipy_wrapper() 为关键字参数 'y' 获得了多个值

我知道有一个重置索引的选项,但是还有其他方法可以选择我要使用的列吗?

【问题讨论】:

    标签: python python-2.7 pandas scipy interpolation


    【解决方案1】:

    Pandas 插值不允许您同时指定 x、y 和方法。为了更好地控制插值,您可能需要使用scipy.interp1d

    df['some_column_2'] = scipy.interp1d(df['some_column_1'], df['some_column_2'])
    

    注意事项:

    • 如果DataFrame不是按some_column_1排序的,指定assume_sorted=False
    • 默认情况下,interp1d 进行线性插值。可以使用 kind 参数更改此设置。

    【讨论】:

    • interp1d 和 spline order=1 一样,还是需要指定顺序?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多