使用 pandas 插值时如何控制 X 和 Y
How to control X's and Y's when interplolating with pandas
我想使用样条插值来填充一些空值,但我找不到为 Pandas 指定 X 和 Y 的方法。它会自动 select 将索引设为 X,并分别为所有具有空值的列填充空值。
关于如何使其工作的任何想法?还是我需要使用 SciPy?
我试过这样的事情:
df.interpolate(x='some_column1', y='some_column2', method='spline', order=1)
但我得到了:
TypeError: _interpolate_scipy_wrapper() 得到关键字参数 'y'
的多个值
我知道有一个选项可以重置索引,但是还有其他方法可以选择我要使用的列吗?
Pandas 插值法不允许您同时指定 x、y 和 metho。为了更好地控制插值,您可能需要使用 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
参数更改它。
我想使用样条插值来填充一些空值,但我找不到为 Pandas 指定 X 和 Y 的方法。它会自动 select 将索引设为 X,并分别为所有具有空值的列填充空值。 关于如何使其工作的任何想法?还是我需要使用 SciPy?
我试过这样的事情:
df.interpolate(x='some_column1', y='some_column2', method='spline', order=1)
但我得到了: TypeError: _interpolate_scipy_wrapper() 得到关键字参数 'y'
的多个值我知道有一个选项可以重置索引,但是还有其他方法可以选择我要使用的列吗?
Pandas 插值法不允许您同时指定 x、y 和 metho。为了更好地控制插值,您可能需要使用 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
参数更改它。