Pandas - 列之间的插值

Pandas - Interpolation between Columns

我有一个问题,希望你能帮助我。假设一个 Pandas Dataframe 看起来像这样:

我想做一个线性插值来填充缺失的 nan 值。在搜索时,我只找到了必须对同一列中的值进行插值的示例,没有跨列。 有没有办法在 nan 值的左右两边进行插值?

亲切的问候

PS: 代码被截取:

import pandas as pd

data = {'A':[2,4,6,8,4],
        'B':[0,0,0,0,0],
        'C':[4,10,4,5,1]}

df = pd.DataFrame(data,columns=['A','B','C'])
df.interpolate(axis=1)

将沿列进行插值。

interpolate可以在横轴上使用,但只考虑NaN值

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

它给出:

   A    B   C
0  2  3.0   4
1  4  7.0  10
2  6  5.0   4
3  8  6.5   5
4  4  2.5   1