我有一个看起来像这样的 DataFrame:
A B C
1 2 3
1 5 3
4 8 2
4 2 1
我想根据这些数据创建一个 NumPy 数组,使用 A 列作为索引,B 列作为列标题和列C 作为填充数据。
最终,它应该是这样的:
2 5 8
1 3 3
4 1 2
有什么好的方法吗?
我试过 df.pivot_table,但我担心我弄乱了数据,我宁愿用另一种更直观的方式来做。
请您参考如下方法:
像这样操作数据框
df.set_index(['A', 'B']).C.unstack()
或者
df.set_index(['A', 'B']).C.unstack(fill_value='')
像这样得到numpy数组
df.set_index(['A', 'B']).C.unstack().values
array([[ 3., 3., nan],
[ 1., nan, 2.]])
或者
df.set_index(['A', 'B']).C.unstack(fill_value='').values
array([[3, 3, ''],
[1, '', 2]], dtype=object)
