标题为列Pandas Dataframes - 索引

时间:2016-11-28 19:16:15

标签: python-3.x pandas dataframe

Name   Jan  Feb  Mar
A      10   12   13
B      09   11   15
C      07   15   16

我想将上述数据框转换为以下内容:

Jan  A  10
     B  09
     C  07
Feb  A  12
     B  11
     C  15
Mar  A  13
     B  15
     C  16

我认为groupby是我想要使用的,但我无法弄清楚如何分组列值。有什么建议吗?

2 个答案:

答案 0 :(得分:3)

Nameunstack使用set_index

In [52]: df.set_index('Name').unstack()
Out[52]:
     Name
Jan  A       10
     B        9
     C        7
Feb  A       12
     B       11
     C       15
Mar  A       13
     B       15
     C       16
dtype: int64

答案 1 :(得分:1)

Nameset_indexunstack

一起使用{{3}}
s = df.set_index('Name').unstack()
print (s)

     Name
Jan  A       10
     B        9
     C        7
Feb  A       12
     B       11
     C       15
Mar  A       13
     B       15
     C       16
dtype: int64