熊猫-列之间的插值

时间:2020-04-16 13:19:33

标签: python pandas interpolation

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

enter image description here

我想进行线性插值以填充缺失的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'])

2 个答案:

答案 0 :(得分:1)

df.interpolate(axis=1)

将沿列插值。

答案 1 :(得分: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