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
我有一个问题,希望你能帮助我。假设一个 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