[英]Pandas dataframe: turn date in column into value in row
我正在嘗試打開以下數據框(具有縣和年份的值)
county region 2012 2013 ... 2035
A 101 10 15 ... 7
B 101 13 8 ... 11
...
變成如下所示的數據框:
county region year sum
A 101 2012 10
A 101 2013 15
... ... ... ...
A 101 2035 7
B 101 2012 13
B 101 2013 8
B 101 2035 11
我當前的數據框有400行(不同的縣),其值是2012-2035年。
我的手動方法是將年份列切成片,然后將每一列放在上一年的最后一行下方。 但是,當然必須有一種Python方式。
我想我在這里缺少基本的熊貓概念,可能我只是找不到正確的答案,因為我根本不知道如何問正確的問題。 請對新來者保持溫和。
您可以使用熊貓melt
:
In [26]: df
Out[26]:
county region 2012 2013
0 A 101 10 15
1 B 101 13 8
In [27]: pd.melt(df, id_vars=['county','region'], var_name='year', value_name='sum')
Out[27]:
county region year sum
0 A 101 2012 10
1 B 101 2012 13
2 A 101 2013 15
3 B 101 2013 8
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.