Python dataframe:将列中的日期转换为行中的值

Python dataframe:将列中的日期转换为行中的值,python,pandas,dataframe,rows,Python,Pandas,Dataframe,Rows,我正在尝试转换以下数据帧(带有县和年的值) 进入如下所示的数据帧: 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 我当前的数据框

我正在尝试转换以下数据帧(带有县和年的值)

进入如下所示的数据帧:

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年

我的手动方法是将年份列切掉,并将它们放在前一年最后一行的下方。但当然,必须有一种蟒蛇式的方式


我想我在这里遗漏了一个基本的熊猫概念,可能我就是找不到这个问题的正确答案,因为我根本不知道如何提出正确的问题。请对新来者温柔。

您可以使用熊猫的
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

太好了。从不知道“融化”这个词,效果很好。
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