news 2026/6/13 7:15:13

将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/12 5:09:52

基于SpringBoot的体育馆管理系统(源码+lw+部署文档+讲解等)

课题介绍 本课题聚焦传统体育馆管理流程繁琐、场地预约低效、资源调度混乱的痛点,开展基于SpringBoot的体育馆管理系统的设计与实现工作。系统以Java为核心开发语言,依托SpringBoot框架搭建轻量高效的后端服务架构,负责处理场地预订、器材管理…

作者头像 李华
网站建设 2026/6/13 14:36:15

C++多线程入门

博主介绍:程序喵大人 35 - 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇&#x…

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

28、实用 awk 程序大集合

实用 awk 程序大集合 在日常的数据处理和文本操作中,awk 是一个功能强大且灵活的工具。本文将介绍一系列实用的 awk 程序,涵盖文件分割、输出复制、去重、计数、查找重复单词、闹钟设置以及字符转写等多个方面。 1. 文件分割程序 文件分割程序的主要功能是将一个大文件分割…

作者头像 李华
网站建设 2026/6/12 23:36:20

30、高级编程技巧与 gawk 特性深度解析

高级编程技巧与 gawk 特性深度解析 1. shell 脚本与命令替换 在 shell 编程中,有一种操作是将 shell 脚本到标记处的内容作为输入传递给命令。shell 会对 here 文档的内容进行变量和命令替换(可能还会有其他操作,具体取决于 shell)。 1.1 命令替换 $(…) 这种 shell 结…

作者头像 李华
网站建设 2026/6/12 19:54:48

【Java数组】--数组实战

个人主页 文章目录前言一、Arrays工具类1.1 toString1.2 sort1.3自己写1.3.1 输出1.3.2 排序冒泡排序是什么?实战一下优化二、稀疏数组三、结尾前言 本文将简单讲解Array的使用以及实战、冒泡排序以及稀疏数组,帮助你快速了解数组 一、Arrays工具类 这…

作者头像 李华
网站建设 2026/6/13 8:58:53

Dify智能体平台工作流中嵌入Qwen-Image节点实战

Dify智能体平台工作流中嵌入Qwen-Image节点实战 在数字内容爆发式增长的今天,企业对视觉素材的需求早已从“有图就行”转向“高频、高质量、个性化”的生产模式。传统设计流程依赖人工反复修改、沟通成本高、响应慢,尤其在电商促销、社交媒体运营等场景…

作者头像 李华