Как добавить полученный после преобразований столбец к изначальному фрейму?
Есть изначальный фрейм данных:
| Name | Ноябрь | Декабрь | Февраль | |
|---|---|---|---|---|
| 0 | Алексей | 15 | 10 | 15 |
| 1 | Алексей | 10 | 10 | 10 |
| 2 | Андрей | Empty | Empty | Empty |
| 3 | Андрей | 15 | 25 | 15 |
| 4 | Алексей | 15 | 15 | 10 |
| 5 | Андрей | 25 | 10 | 45 |
Для дальнейших преобразований с помощью pd.drop из него были удалены некоторые строки и был получен новый столбец.
Столбец idx содержит изначальные значения индексов:
| Name | Ноябрь | Декабрь | Февраль | num | idx | |
|---|---|---|---|---|---|---|
| 0 | Алексей | 15 | 10 | 15 | Ноябрь | 0 |
| 1 | Алексей | 10 | 10 | 10 | Ноябрь | 1 |
| 2 | Андрей | 15 | 25 | 15 | Февраль | 3 |
| 3 | Алексей | 15 | 15 | 10 | Ноябрь | 4 |
| 4 | Андрей | 25 | 10 | 45 | Февраль | 5 |
Как мне теперь можно добавить полученный новый столбец к изначальному фрейму данных?
| Name | Ноябрь | Декабрь | Февраль | num | |
|---|---|---|---|---|---|
| 0 | Алексей | 15 | 10 | 15 | Ноябрь |
| 1 | Алексей | 10 | 10 | 10 | Ноябрь |
| 2 | Андрей | Empty | Empty | Empty | |
| 3 | Андрей | 15 | 25 | 15 | Февраль |
| 4 | Алексей | 15 | 15 | 10 | Ноябрь |
| 5 | Андрей | 25 | 10 | 45 | Февраль |
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Воспользуйтесь методом DataFrame.join():
res = df1.join(df2.set_index("idx")[["num"]])
результат:
In [140]: res
Out[140]:
Name Ноябрь Декабрь Февраль num
0 Алексей 15 10 15 Ноябрь
1 Алексей 10 10 10 Ноябрь
2 Андрей Empty Empty Empty NaN
3 Андрей 15 25 15 Февраль
4 Алексей 15 15 10 Ноябрь
5 Андрей 25 10 45 Февраль