pandas ffill() с помощью groupby

#python #pandas #pandas-groupby

#python #pandas #pandas-groupby

Вопрос:

У меня есть следующий фрейм данных с 22 столбцами:

 ID     S0     S1     S2 .....
ABC          10.4   5.58
ABC   12.6          
ABC                 8.45
LMN           5.6   
LMN   8.7           
  

Я должен ffill() значения, основанные на группах. Предполагаемый результат:

 ID     SS     RR     S2   ...
ABC          10.4   5.58
ABC   12.6   10.4   5.58
ABC   12.6   10.4   8.45
LMN           5.6   
LMN   8.7     5.6   
  

Я использую следующий код для получения значений S0, S1 …:

 df[['Resistance', 'cumcountR']].pivot(columns='cumcountR').droplevel(0, axis=1).add_prefix('R').drop(columns='R-1.0').ffill()
  

Небольшая помощь будет оценена. Спасибо!

Комментарии:

1. Я предполагаю, что пустые значения находятся NaN в ваших фактических данных, а не в пустых строках, поскольку это числовые столбцы.

Ответ №1:

Попробуйте с GroupBy.ffill

 out = df.groupby('ID').ffill()
  

Комментарии:

1. вызовите KeyError(gpr) KeyError: ‘ID’

2. Я добавил некоторую информацию в вопрос