我有兴趣了解如何将熊猫数据框转换为包含索引的numpy数组,并设置dtypes。将熊猫数据框转换为numpy数组,保留索引
数据框:
label A B C
ID
1 NaN 0.2 NaN
2 NaN NaN 0.5
3 NaN 0.2 0.5
4 0.1 0.2 NaN
5 0.1 0.2 0.5
6 0.1 NaN 0.5
7 0.1 NaN NaN
转换DF数组回报:
array([[ nan, 0.2, nan],
[ nan, nan, 0.5],
[ nan, 0.2, 0.5],
[ 0.1, 0.2, nan],
[ 0.1, 0.2, 0.5],
[ 0.1, nan, 0.5],
[ 0.1, nan, nan]])
不过,我想:
array([[ 1, nan, 0.2, nan],
[ 2, nan, nan, 0.5],
[ 3, nan, 0.2, 0.5],
[ 4, 0.1, 0.2, nan],
[ 5, 0.1, 0.2, 0.5],
[ 6, 0.1, nan, 0.5],
[ 7, 0.1, nan, nan]],
dtype=[('ID', '<i4'), ('A', '<f8'), ('B', '<f8'), ('B', '<f8')])
(或类似)
任何建议上如何成就这个? (我不知道我是否需要一维或二维数组)。我已经看过几篇涉及这个问题的文章,但没有涉及到dataframe.index的具体内容。
我正在使用to_csv编写数据帧磁盘(并将其读回以创建数组),但我宁愿选择比我的新到熊猫更为雄辩的东西。
要获得抢手的结构数组(具有比recarray更好的性能),您只需通过recarray到'np.array'构造函数。 – meteore
索引名称错误:https://github.com/pydata/pandas/issues/2161 –
我们只是修复了上面显示的索引名称。 –