DataFrame.to_records(index=True, column_dtypes=None, index_dtypes=None)
将DataFrame转换为一个NumPy记录数组。
如果需要,Index将被包括为记录数组的第一个字段。
参数:index :bool, 默认为 True
如果设置,在结果记录数组中包括索引,
存储在“index”字段或使用索引标签。
column_dtypes :str, type, dict, 默认为 None
新版本为0.24.0。
如果是字符串或类型,则数据类型要存储所有列。
如果是字典,
则列名称和索引(zero-indexed)到特定数据类型的映射。
index_dtypes:str, type, dict, 默认为 None
如果是字符串或类型,则该数据类型要存储所有索引级别。
如果是字典,
索引级别名称和索引(zero-indexed)到特定数据类型的映射。
该映射仅在index=True时应用。
返回值:numpy.recarray
NumPy ndarray,DataFrame标签为字段,DataFrame的每一行为条目。
例子>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},
... index=['a', 'b'])
>>> df
A B
a 1 0.50
b 2 0.75
>>> df.to_records()
rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],
dtype=[('index', 'O'), ('A', '
如果DataFrame索引没有标签,则将recarray字段名称设置为“ index”。如果索引具有标签,则将其用作字段名称:>>> df.index = df.index.rename("I")
>>> df.to_records()
rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],
dtype=[('I', 'O'), ('A', '
索引可以从记录数组中排除:>>> df.to_records(index=False)
rec.array([(1, 0.5 ), (2, 0.75)],
dtype=[('A', '
可以为列指定数据类型:>>> df.to_records(column_dtypes={"A": "int32"})
rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],
dtype=[('I', 'O'), ('A', '
以及索引:>>> df.to_records(index_dtypes="
rec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],
dtype=[('I', 'S2'), ('A', '
>>> index_dtypes = f"
>>> df.to_records(index_dtypes=index_dtypes)
rec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],
dtype=[('I', 'S1'), ('A', '