#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. Я добавил некоторую информацию в вопрос