这是我想将一维数据转换为二维数组形式的 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
>>> 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
请参阅重塑和数据透视表
您还可以使用面板来帮助您完成此操作。像这样:-
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
这给了你与上面塞巴斯蒂安的答案相同的结果。