📜  Python| Pandas DataFrame.to_records(1)

📅  最后修改于: 2023-12-03 15:34:16.056000             🧑  作者: Mango

Python | Pandas DataFrame.to_records

Pandas DataFrame是一种常用的数据结构,它类似于电子表格或SQL表。Pandas DataFrame可以被转换为NumPy ndarray、Python字典或其他数据结构。Pandas DataFrame.to_records()方法是将DataFrame转换为NumPy结构化数组的一种简便方法。

语法
DataFrame.to_records(index=True, convert_datetime64=True)
参数
  • index - bool,默认为True。如果为True,则在输出中包括行索引。
  • convert_datetime64 - bool,默认为True。如果为True,则将datetime64列转换为datetime.datetime。如果使用pandas版本低于0.19,则此选项无效。
返回值

返回NumPy的结构化数组。

示例
import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'score': [9, 8, 7]})

# 将DataFrame转换为结构化数组
records = df.to_records(index=False)

# 打印结果
print(records)

输出结果:

array([('Alice', 9), ('Bob', 8), ('Charlie', 7)],
      dtype=[('name', 'O'), ('score', '<i8')])

这个例子说明了如何将DataFrame转换为结构化数组。由于我们在调用to_records时指定了index=False,所以结果中没有行索引。输出结果是一个由元组组成的NumPy结构化数组,每个元组包含两个元素,分别是名字和分数。

注意事项
  • 当DataFrame包含datetime64列时,可以使用convert_datetime64选项将其转换为datetime.datetime。
  • 在转换期间,数据类型可能会发生变化。例如,如果DataFrame包含float类型的列,则在转换为结构化数组时,该列的数据类型将变为numpy.float64。
参考资料