如何从现有列线性插入新列?

How to linearly interpolate a new column from existing columns?

我正在尝试使用两个可用列中的值对新列进行线性插值。我正在使用 np.interp,但它给出了关于 fp 的错误。任何人都可以建议使用 pandasnumpy 进行这种线性插值的方法吗?

X1      X2
34.5    36.3
12.4    11.3
16.5    15.9
8.5      8.1
56.6    55.6


df['intreped_X'] = pd.Series(dtype='float') #adding a new column with NaN
df['intreped_X'] = np.interp(df['X1'].values,
                           df['X2'].values)

错误:TypeError: _interp_dispatcher() missing 1 required positional argument: 'fp'.

更新: 我还测试了 中的以下脚本,但没有在新列中生成新值,只是在每一行中添加了 "bound method NDFrame.interpolate ..."

df['intreped_X'] = np.NaN
df = df.fillna(df.interpolate, axis=1)
print(df)

     X1                   intreped_X                     X2
0   34.5    <bound method NDFrame.interpolate of A ...  36.3
1   12.4    <bound method NDFrame.interpolate of A ...  11.3
2   16.5    <bound method NDFrame.interpolate of A ...  15.9
3   8.5     <bound method NDFrame.interpolate of A ...  8.1
4   56.6    <bound method NDFrame.interpolate of A ...  55.6

在现有的两个填充有 NaN 值的列之间添加一个新列,然后使用 interpolateaxis=1:

df.insert(1, 'intreped_X', np.nan)
df.interpolate(axis=1)

结果:

      X1  intreped_X    X2
0   34.5       35.40  36.3
1   12.4       11.85  11.3
2   16.5       16.20  15.9
3   8.5         8.30   8.1
4   56.6       56.10  55.6