我有一个带有一栏的数据框,该栏指示要玩几局游戏的第一分钟和第45分钟。两者之间的时间戳不见了。我想用相应的时间戳填充这些缺失的值。数据框看起来像这样
Group Index MatchMin
0 0 nan
0 1 nan
0 2 1
0 3 nan
0 4 nan
0 5 nan
...
0 48 45
0 49 nan
0 50 nan
1 0 nan
1 1 nan
1 2 1
1 3 nan
1 4 nan
1 5 nan
...
1 48 45
1 49 nan
1 50 nan
...
所需的输出应为:
Group Index MatchMin
0 0 nan
0 1 nan
0 2 1
0 3 2
0 4 3
0 4 4
...
0 48 45
0 49 nan
0 50 nan
1 0 nan
1 1 nan
1 2 1
1 3 2
1 4 3
1 5 4
...
1 48 45
1 49 nan
1 50 nan
...
有人知道如何解决此问题吗?
亲切的问候
答案 0 :(得分:1)
如果应该通过对每个组进行插值来简化解决方案,但只能在第一个和最后一个不误值之间使用GroupBy.transform
和Series.interpolate
:
f = lambda x: x.interpolate(limit_area='inside')
df['MatchMin'] = df.groupby('Group')['MatchMin'].transform(f)