2

这是我想将一维数据转换为二维数组形式的 Pandas 数据框

我如何从

  '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
4

2 回答 2

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

请参阅重塑和数据透视表

于 2012-02-18T07:36:49.570 回答
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

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

于 2012-11-05T06:03:43.170 回答