Pandas Поворот Dataframe: создание новых столбцов из значений столбцов - PullRequest
0 голосов
/ 17 июня 2020

Как преобразовать исходный фрейм данных в желаемый фрейм данных ?

Original DataFrame
--------------------------------------------------
| Key | Value | Month              |
--------------------------------------------------
| 1       | 123 | 1
--------------------------------------------------
| 1       | 456| 2
--------------------------------------------------
| 1       | 789| 3
--------------------------------------------------
| 2       | 111| 1
--------------------------------------------------
| 2       | 222| 2
--------------------------------------------------
| 2       | 333| 3
--------------------------------------------------

Desired DataFrame
--------------------------------------------------
| Key | Month_1 | Month_2 | Month_3             |
--------------------------------------------------
|1  |123    |456    |789|
--------------------------------------------------
|2  |111    |222    |333|
--------------------------------------------------

1 Ответ

0 голосов
/ 17 июня 2020

Используйте stack () и unstack (), чтобы преобразовать его.

df = df.set_index(['Month','Key']).stack().unstack(level=0).reset_index()
df = df.drop('level_1', axis=1)
df.columns = ['Key','Month_1','Month_2','Month_3']

df
    Key Month_1 Month_2 Month_3
0   1   123     456     789
1   2   111     222     333
...