我有一个问题,希望您能帮助我。假设一个看起来像这样的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'])
答案 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