【发布时间】:2021-08-12 08:21:27
【问题描述】:
我正在尝试使用插值(线性)来填充数据框中的缺失值。插值应分别应用于行组(具有相同的 id )。数据框示例如下:
mdata:
id f1 f2 f3 f4 f5
d1 34 3 5 nan 6
d1 nan 4 6 9 7
d1 37 nan 6 10 8
d2 nan 7 8 1 32
d2 12 8 nan 45 56
d2 13 9 11 46 59
鉴于上面的示例,我想对具有 id1、id2 等的行应用插值函数。我尝试将它们分组然后使用插值,但我的代码似乎有问题:
mdata=[~mdata['id'].map(mdata.groupby('id').apply(mdata.interpolate(method
='linear', limit_direction ='both')))]
我想要的输出应该是这样的:
output:
id f1 f2 f3 f4 f5
d1 34 3 5 9 6
d1 35.5 4 6 9 7
d1 37 5 6 10 8
d2 12 7 8 1 32
d2 12 8 9.5 45 56
d2 13 9 11 46 59
【问题讨论】:
标签: python dataframe group-by interpolation