当前位置: 首页 > ds >正文

【Pandas】pandas DataFrame from_records

Pandas2.2 DataFrame

Serialization IO conversion

方法描述
DataFrame.from_dict(data[, orient, dtype, …])用于从 字典(dict) 构建 DataFrame 的类方法
DataFrame.from_records(data[, index, …])用于将 结构化数据(如列表的元组、NumPy 结构化数组)转换为 DataFrame

pandas.DataFrame.from_records()

pandas.DataFrame.from_records(data, index=None, exclude=None, columns=None, coerce_float=False, nrows=None)pandas 提供的一个 类方法,用于将 结构化数据(如列表的元组、NumPy 结构化数组)转换为 DataFrame

它特别适用于从数据库查询结果、CSV 文件、JSON 数据等 记录式(record-style)数据 创建 DataFrame。


📌 方法签名
pandas.DataFrame.from_records(data, index=None, exclude=None, columns=None, coerce_float=False, nrows=None)
参数说明:
参数类型描述
datasequence 或 iterable一个可迭代对象,每个元素是一个序列或字典,代表一行数据
indexlist-like(可选)指定行索引标签
excludelist(可选)排除的字段名列表
columnslist(可选)指定列名顺序
coerce_floatbool,默认 False是否尝试将数值字符串自动转为浮点数
nrowsint(可选)读取的最大行数

✅ 示例及结果
示例 1:基本用法(从元组列表创建 DataFrame)
import pandas as pd# 元组列表,每行表示一条记录
data = [('Alice', 25, 'Engineer'),('Bob', 30, 'Manager'),('Charlie', 35, 'Designer')
]df = pd.DataFrame.from_records(data)
print(df)

输出:

         0   1         2
0    Alice  25  Engineer
1      Bob  30   Manager
2  Charlie  35  Designer

默认情况下,列名是整数索引(0, 1, 2…),你可以通过 columns 指定列名。


示例 2:指定列名
df = pd.DataFrame.from_records(data, columns=['Name', 'Age', 'Job'])
print(df)

输出:

       Name  Age        Job
0     Alice   25   Engineer
1       Bob   30    Manager
2  Charlie   35   Designer

示例 3:使用 NumPy 结构化数组

如果你有 NumPy 的结构化数组,可以直接传入:

import numpy as npdtype = [('name', 'U10'), ('age', 'i4'), ('job', 'U10')]
data = np.array([('Alice', 25, 'Engineer'), ('Bob', 30, 'Manager')], dtype=dtype)df = pd.DataFrame.from_records(data)
print(df)

输出:

    name  age        job
0  Alice   25   Engineer
1    Bob   30    Manager

示例 4:指定索引列(index

你可以指定某一列为行索引:

df = pd.DataFrame.from_records(data, index='name')
print(df)

输出:

       age        job
name                
Alice   25   Engineer
Bob     30    Manager

示例 5:限制读取行数(nrows

只读取前 N 行数据:

df = pd.DataFrame.from_records(data, columns=['Name', 'Age', 'Job'], nrows=1)
print(df)

输出:

    Name  Age       Job
0  Alice   25  Engineer

示例 6:排除某些列(exclude
df = pd.DataFrame.from_records(data, exclude=['age'], index='name')
print(df)

输出:

           job
name          
Alice  Engineer
Bob     Manager

📝 总结
特性说明
方法名DataFrame.from_records()
输入类型可迭代的记录结构(如元组列表、结构化数组)
主要用途将“记录”格式的数据快速转换为 DataFrame
支持功能自定义列名、设置索引、排除列、限制行数、强制转换浮点数
常见场景数据库查询结果、日志文件解析、结构化数据导入

🔁 与 DataFrame(data) 的区别
功能pd.DataFrame(data)pd.DataFrame.from_records(data)
支持输入字典、列表、元组等记录式结构(如元组列表、结构化数组)
列名控制需手动指定 columns可通过 columns 控制列名
索引支持不够灵活支持指定 index
性能一般更适合处理大型结构化数据

http://www.xdnf.cn/news/15221.html

相关文章:

  • TCP 保活(KeepAlive)机制详解
  • 在mac m1基于llama.cpp运行deepseek
  • 前端面试十一之TS
  • QPC框架中状态机的设计优势和特殊之处
  • 【Pandas】pandas DataFrame from_dict
  • 数据结构 顺序表(1)
  • iOS Widget 开发-7:TimelineProvider 机制全解析:构建未来时间线
  • 在Docker中运行macOS的超方便体验!
  • macOS 上安装 Miniconda + Conda-Forge
  • 如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
  • Linux:库的原理
  • Qt使用脚本实现GUI扩展技术详解
  • 阿里云-跨账号同步OSS Bucket
  • STM32-ADC
  • 面试技术问题总结一
  • 定位模拟的详细步骤
  • 医院多部门协同构建知识库-指南库-预测模型三维网络路径研究
  • 深入剖析C++ RPC框架原理:有栈协程与分布式系统设计
  • 服务器内核级故障排查
  • 脑科学圈| 利用眼动追踪评估演讲情境下焦虑障碍儿童的注视行为
  • 用 LangChain4j 从零实现 RAG:基于 PDF 文档的智能问答系统
  • 1.2.3_1 OSI参考模型
  • Java设计模式之行为型模式(观察者模式)介绍与说明
  • 【Linux系统】冯诺依曼体系结构 | 初识操作系统
  • 易基因:血浆ChIP-seq的cfDNA组蛋白修饰分析揭示晚期前列腺癌表型和临床异质性|Cancer Res/IF16.6
  • 记一次Android Studio编译报错:Execution failed for task ‘:app:compileDebugAidl‘
  • 中国农作物收获面积空间栅格(1KM分辨率)数据(含16种作物:玉米、小麦、水稻、大豆等)
  • chrony时间同步
  • searxng 对接openweb-UI实现大模型通过国内搜索引擎在线搜索
  • 通过 .NET Aspire 使用本地 AI 模型