Python 将dataframe.to_numpy()与特定的数据类型关联起来

Python 将dataframe.to_numpy()与特定的数据类型关联起来,python,pandas,numpy,dataframe,structured-array,Python,Pandas,Numpy,Dataframe,Structured Array,我有一个包含两列的数据框: In[] df.head() Out[] specific_death months_survival 0 False 179 1 False 127 2 False 67 3 True 111 4 Fals

我有一个包含两列的数据框:

  In[] df.head()

  Out[]      specific_death   months_survival
       0         False            179
       1         False            127
       2         False            67
       3         True             111
       4         False            118
第一列有布尔值,第二列有整数。如果我使用以下命令将数据帧转换为numpy ndarray:

array_from_df = df.to_numpy()
我得到一个非结构化的numpy.ndarray。因此,如果我写:

array_from_df.dtype.fields 
结果是非类型。为了让我的程序工作,我需要一个结构化数组,第一个字段是np.bool类,第二个字段是np.int。在我看来,有两种选择,但我找不到任何一种方法:

选项一

使用正确的数据类型直接从Pandas.DataFrame转换为结构化numpy.ndarray

选项二


将Pandas.DataFrame转换为非结构化numpy.ndarray,然后将其转换为结构化numpy.ndarray。关于这个问题,但我无法在我的代码中复制答案。

正如两条评论所建议的:

array_from_df = df.to_records() # index=False to not include an index column
在以下位置输出具有正确数据类型的numpy.recarray:

array_from_df.dtype.fields 

也许你应该做你想做的事。
df.to_记录(index=False)
应该做这项工作,不是吗?有关更多选项,请参见示例。谢谢你们两位的快速回答,我觉得很奇怪,熊猫还没有实现一个班轮来完成这个技巧。