Заполните пропущенные значения между точками привязки - PullRequest
0 голосов
/ 05 августа 2020

У меня есть фрейм данных со столбцом, в котором указана первая и 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
...

Кто-нибудь знает, как решить эту проблему?

С уважением

1 Ответ

1 голос
/ 05 августа 2020

Если решение следует упростить путем интерполяции по группам, но возможно только между первым и последним несоответствующими значениями, используйте GroupBy.transform с Series.interpolate:

f = lambda x: x.interpolate(limit_area='inside')
df['MatchMin'] = df.groupby('Group')['MatchMin'].transform(f)
...