#python #pandas #dataframe #fillna #ffill
Вопрос:
У меня есть набор данных, в котором я хочу заполнить столбцы и строки в python, как показано ниже:
Набор данных:
| P | Q |
|678|1420|
|678|---|
|609|---|
|583|1260|
|---|1260|
|---|1261|
|---|1262|
|584|1263|
|---|403|
|---|---|
ожидаемый результат:
| P | Q |
|678|1420|
|678|1420|
|609|---|
|583|1260|
|583|1260|
|583|1261|
|583|1262|
|584|1263|
|584|403|
|584|403|
Я заполнил столбец P с помощью fillna (), но не могу сделать то же самое для столбца Q, так как значения должны быть заполнены для пары ключей.
может кто-нибудь, пожалуйста, помочь.
Ответ №1:
С показанными вами образцами, пожалуйста, попробуйте выполнить следующие действия.
df['P'] = df['P'].ffill()
df['Q'] = df.groupby('P')['Q'].ffill()
Результат будет следующим:
P Q
0 678.0 1420.0
1 678.0 1420.0
2 609.0
3 583.0 1260.0
4 583.0 1260.0
5 583.0 1261.0
6 583.0 1262.0
7 584.0 1263.0
8 584.0 403.0
9 584.0 403.0
Комментарии:
1. Thnaks @RavinderSingh13. Это Сработало.