pandas.DataFrame.from_records 是一个方便的函数,可以将结构化数据(如列表、元组或字典的列表)转换为 Pandas DataFrame。它允许你从各种格式的数据中创建 DataFrame,并提供了许多选项来控制转换过程。
函数签名
pandas.DataFrame.from_records(data, index=None, exclude=None, columns=None, coerce_float=False, nrows=None)
data: 结构化数据,可以是列表、元组或字典的列表,或者是 numpy 记录数组。
index: 用作行索引的字段。如果为多个字段的序列,则为多索引。
exclude: 排除的数据列。
columns: 用作列的字段名称列表。如果 data 是字典的列表,并且 columns 为 None,则列名将从字典键中推断。
coerce_float: 强制转换数值类型为浮点数。
nrows: 读取的行数。
1、从字典列表创建 DataFrame
这是最常见的用法,将字典列表转换为 DataFrame。
import pandas as pd
data = [
{"name": "Alice", "age": 25, "city": "New York"},
{"name": "Bob", "age": 30, "city": "Los Angeles"},
{"name": "Charlie", "age": 35, "city": "Chicago"}
]
df = pd.DataFrame.from_records(data)
print(df)
2、从元组列表创建 DataFrame
如果数据是元组列表,你需要提供列名。
data = [
("Alice", 25, "New York"),
("Bob", 30, "Los Angeles"),
("Charlie", 35, "Chicago")
]
columns = ["name", "age", "city"]
df = pd.DataFrame.from_records(data, columns=columns)
print(df)
3、使用 index 参数
可以使用 index 参数将某个字段设置为 DataFrame 的索引。
data = [
{"name": "Alice", "age": 25, "city": "New York"},
{"name": "Bob", "age": 30, "city": "Los Angeles"},
{"name": "Charlie", "age": 35, "city": "Chicago"}
]
df = pd.DataFrame.from_records(data, index="name")
print(df)
参考文档:Python Pandas pandas.DataFrame.from_records函数方法的使用-CJavaPy