这是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
答案 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
答案 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
这给你的结果与塞巴斯蒂安的答案相同。