Python:Pandas,Dataframe,将1列数据转换为2D数据格式

时间:2012-02-18 06:26:50

标签: python transform dataframe pandas

这是Pandas数据帧 我想将1D数据转换为2D数组形式

如何从

转换
  'A'  'B'  'C'
1  10   11   a  
2  10   12   b
3  10   13   c 
4  20   11   d  
5  20   12   e
6  20   13   f

to this 2d array as the following

   11 12 13
10  a  b  c 
20  d  e  f

2 个答案:

答案 0 :(得分:6)

>>> df.pivot('A', 'B', 'C')
  B  11  12  13
A              
10   a   b   c 
20   d   e   f 

df的位置:

>>> df = DataFrame(dict(A=[10]*3+[20]*3, B=range(11, 14)*2, C=list('abcdef')))
>>> df
   A   B   C
0  10  11  a
1  10  12  b
2  10  13  c
3  20  11  d
4  20  12  e
5  20  13  f

请参阅Reshaping and Pivot Tables

答案 1 :(得分:2)

您还可以使用面板来帮助您进行此操作。像这样: -

In [86]: panel = df.set_index(['A', 'B']).sortlevel(0).to_panel()

In [87]: panel["C"]
Out[87]: 
B  11 12 13
A          
10  a  b  c
20  d  e  f

这给你的结果与塞巴斯蒂安的答案相同。