Skip to main content
 首页 » 编程设计

python之从 Pandas 数据框的列创建一个 numpy 数组

2025年05月04日24虾米哥

我有一个看起来像这样的 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)