news 2026/6/23 17:34:22

将DataFrame转换为列表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
将DataFrame转换为列表

1.转换为列表的列表(每行一个子列表)

import pandas as pd # 示例DataFrame df = pd.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) # 方法1: 使用 values.tolist() list_of_lists = df.values.tolist() # 结果: [[1, 4, 7], [2, 5, 8], [3, 6, 9]] # 方法2: 使用 to_numpy().tolist() list_of_lists = df.to_numpy().tolist()

2.转换为字典列表(每行一个字典)

# 每行作为一个字典 dict_list = df.to_dict('records') # 结果: [{'A': 1, 'B': 4, 'C': 7}, # {'A': 2, 'B': 5, 'C': 8}, # {'A': 3, 'B': 6, 'C': 9}]

3.按列转换为列表

# 每列作为一个列表 column_lists = df.values.T.tolist() # 结果: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 或者分别获取每列 col_a_list = df['A'].tolist() # [1, 2, 3] col_b_list = df['B'].tolist() # [4, 5, 6]

4.转换为嵌套字典的不同格式

# 'index'格式: 索引作为外层键 dict_index = df.to_dict('index') # 结果: {0: {'A': 1, 'B': 4, 'C': 7}, # 1: {'A': 2, 'B': 5, 'C': 8}, # 2: {'A': 3, 'B': 6, 'C': 9}} # 'split'格式: 分离数据、列名和索引 split_dict = df.to_dict('split') # 结果: {'index': [0, 1, 2], # 'columns': ['A', 'B', 'C'], # 'data': [[1, 4, 7], [2, 5, 8], [3, 6, 9]]}

5.保留索引信息

# 将索引也包含在列表中 df_with_index = df.reset_index() list_with_index = df_with_index.values.tolist() # 结果: [[0, 1, 4, 7], [1, 2, 5, 8], [2, 3, 6, 9]]

6.处理特定数据类型

# 如果DataFrame中有复杂数据类型,建议先转换 df_clean = df.astype(str) # 先转换为字符串 str_list = df_clean.values.tolist()

选择建议:

  • 需要简单矩阵数据:用df.values.tolist()

  • 需要保持列名信息:用df.to_dict('records')

  • 需要按列处理:用df['列名'].tolist()

  • 需要完整结构信息:用df.to_dict('split')

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 8:59:08

ZeroOmega代理管理:3分钟掌握浏览器智能代理的完整指南

ZeroOmega代理管理:3分钟掌握浏览器智能代理的完整指南 【免费下载链接】ZeroOmega Manage and switch between multiple proxies quickly & easily. 项目地址: https://gitcode.com/gh_mirrors/ze/ZeroOmega 在现代网络环境中,高效管理浏览器…

作者头像 李华
网站建设 2026/6/23 19:06:38

27、实用awk程序大揭秘

实用awk程序大揭秘 1. 运行示例程序 在使用awk程序时,运行程序是首要步骤。通常,运行给定的awk程序可以使用如下命令: awk -f program —options files其中, program 是awk程序的名称,例如 cut.awk ; options 是程序的命令行选项,以 - 开头; files 则是实…

作者头像 李华
网站建设 2026/6/23 18:19:08

Reactor Core终极指南:掌握JVM高性能异步编程核心技术

Reactor Core终极指南:掌握JVM高性能异步编程核心技术 【免费下载链接】reactor-core Non-Blocking Reactive Foundation for the JVM 项目地址: https://gitcode.com/gh_mirrors/re/reactor-core 在现代微服务架构和实时数据处理场景中,传统同步…

作者头像 李华
网站建设 2026/6/22 22:06:06

Linux网络编程之封装Socket模块现实意义和价值

第一阶段 设计架构Linux Socket模块第一部分:规划 - 专注Linux Socket核心1.1 精简架构设计socket_lib/ ├── include/ # 对外头文件(只有1个!) │ └── socket.h # 统一对外接口 ├── …

作者头像 李华
网站建设 2026/6/23 18:19:16

LangChain输出解析器提取Qwen-Image-Edit-2509编辑指令结构

LangChain输出解析器提取Qwen-Image-Edit-2509编辑指令结构 在电商运营的深夜,一位市场专员正为即将上线的促销活动焦头烂额:几十张商品图需要统一修改价格标签、替换品牌LOGO、调整背景色调。过去这需要设计师逐张打开PSD文件手动操作,耗时…

作者头像 李华
网站建设 2026/6/23 15:27:02

Python字典的`==`操作:从表面相等到深度洞察

1. 序章:当两个字典相遇时 想象一下,你手头有两个购物清单,一份写在精美的笔记本上,一份潦草地记在手机备忘录里。它们都记录了同样的商品和数量——你会认为这两份清单是"相等"的吗?在Python的世界里&#…

作者头像 李华