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

【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.lryc.cn/news/584038.html

相关文章:

  • 【PyTorch】PyTorch中的数据预处理操作
  • 杰赛S65_中星微ZX296716免拆刷机教程解决网络错误和时钟问题
  • RocketMQ安装(Windows环境)
  • 零成本实现商品图换背景
  • 特征筛选步骤
  • 计算机视觉 之 数字图像处理基础
  • NAT技术(网络地址转换)
  • IPv4和IPv6双栈配置
  • CRT 不同会导致 fopen 地址不同
  • 飞书AI技术体系
  • Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
  • OSPF协议:核心概念与配置要点解析
  • 栈题解——有效的括号【LeetCode】两种方法
  • ACL协议:核心概念与配置要点解析
  • LlamaFactory Demo
  • 强缓存和协商缓存详解
  • SQL进阶:自连接的用法
  • 深度探索:实时交互与增强现实翻译技术(第六篇)
  • 【郑大二年级信安小学期】Day9:XSS跨站攻击XSS绕过CSRF漏洞SSRF漏洞
  • 医院多部门协同构建知识库-指南库-预测模型三维网络路径研究
  • 【C++】第十四节—模版进阶(非类型模版参数+模板的特化+模版分离编译+模版总结)
  • OSPF实验以及核心原理全解
  • vue引入应用通义AI大模型-(一)前期准备整理思路
  • Vue+Element Plus 中按回车刷新页面问题排查与解决
  • Scala实现网页数据采集示例
  • AI 智能体:开启自动化协作新时代
  • 2025.07.09华为机考真题解析-第三题300分
  • CentOs 7 MySql8.0.23之前的版本主从复制
  • 树莓派5+Ubuntu24.04 LTS ROS2 N10P镭神激光雷达 保姆级教程
  • ubuntu server配置静态IP