news 2026/4/15 9:35:08

将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/4/12 23:39:42

Conda环境隔离保障Qwen-Image-Edit-2509依赖安全

Conda环境隔离保障Qwen-Image-Edit-2509依赖安全 在AI模型部署日益复杂的今天,一个看似不起眼的Python包版本差异,就可能让原本运行稳定的图像编辑系统突然“失明”——比如把用户要求删除的对象变成色块,或将中英文文字渲染成乱码。这种问题…

作者头像 李华
网站建设 2026/4/12 9:53:30

29、AWK实用程序与脚本编程指南

AWK实用程序与脚本编程指南 在AWK编程中,有许多实用的程序和脚本技巧,能够帮助我们更高效地处理数据、生成报告以及进行文件操作。下面将介绍一些常见的应用场景及对应的实现方法。 1. 字符处理函数的改进 最初编写的程序中,字符转写功能可能需要手动实现。但后来发现Bri…

作者头像 李华
网站建设 2026/4/4 17:07:39

2025/12/15英语打卡

1.我做过最正确的事情是不再跟所有人诉说我生活中的事情 The best thing i ever did is stop telling my life to everyone. The best thing i ever did is stop telling everyone what is going on in my life. 成分: 主系表,表语 - stop xxxx重要短语&…

作者头像 李华
网站建设 2026/4/12 23:30:50

31、gawk 高级功能:双向通信、网络编程、性能分析与国际化

gawk 高级功能:双向通信、网络编程、性能分析与国际化 在数据处理和编程领域,gawk 是一款功能强大的工具。它不仅能进行基本的数据处理和脚本编写,还具备许多高级功能,如与其他进程的双向通信、网络编程、性能分析以及国际化支持等。下面我们将详细介绍这些功能。 与其他…

作者头像 李华
网站建设 2026/4/14 17:59:29

mootdx终极指南:快速掌握通达信数据读取技巧

mootdx终极指南:快速掌握通达信数据读取技巧 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx mootdx作为一款专业的Python通达信数据读取工具,为金融数据分析师和量化交易爱…

作者头像 李华
网站建设 2026/4/13 5:08:55

从GitHub克隆到本地运行:完整部署Stable Diffusion 3.5 FP8图文教程

从GitHub克隆到本地运行:完整部署Stable Diffusion 3.5 FP8图文教程 在生成式AI的浪潮中,谁能快速将前沿模型落地到本地设备,谁就掌握了内容创作的主动权。2024年发布的 Stable Diffusion 3.5(SD3.5) 凭借更强的语义理…

作者头像 李华