Растопить и развернуть датафрейм в Python

Я работаю с общедоступным набором данных о выборах, который я импортировал в Pandas как df:

    fips_code   county              total_2008  dem_2008    gop_2008     oth_2008   total_2012  dem_2012    gop_2012    oth_2012    total_2016  dem_2016    gop_2016    oth_2016
0   26041       Delta County        19064       9974        8763        327         18043       8330        9533        180         18467       6431        11112       924
1   48295       Lipscomb County     1256        155         1093        8           1168        119         1044        5           1322        135         1159        28
2   1127        Walker County       28652       7420        20722       510         28497       6551        21633       313         29243       4486        24208       549

Я хотел бы получить что-то вроде этого:

fips_code   county          total   dem     gop     oth year
26041       Delta County    19064   9974    8763    327 2008
48295       Lipscomb County 1256    155     1093    8   2008
1127        Walker County   28652   7420    20722   510 2008

Я искал и нашел нечто похожее, Стек данных и сводный фрейм данных в Python , но я не могу понять, как применить это к моему вопросу.

Мне удалось сделать расплав DF:

In [86]:
df_melt = pd.melt(df, id_vars=['fips_code', 'county'], value_name='num_votes')
df_melt.head()

Out [86]:
fips_code       county              variable    num_votes
0   26041       Delta County        total_2008  19064
1   48295       Lipscomb County     total_2008  1256
2   1127        Walker County       total_2008  28652
3   48389       Reeves County       total_2008  3077
4   56017       Hot Springs County  total_2008  2546

Это то, где я застреваю, потому что я не могу понять, является ли это многошаговым процессом, который начинается с использования расплава, или есть простой способ добраться туда из первоначального df, который у меня есть. Я даже не уверен, какие функции я должен использовать, но похоже, что это включает в себя pivot /stack /unstack? Любая помощь очень ценится.

4 голоса | спросил dawson645 14 J0000006Europe/Moscow 2018, 04:46:19

1 ответ


0
Это снова широкий вопрос.wide_to_long
ответил Wen-Ben 14 J0000006Europe/Moscow 2018, 04:49:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132