You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将DataFrame的列与值转换为单个列表并保留表头为列表首项?

最优实现:一行代码搞定DataFrame转带表头的列表

嘿,你的思路完全没问题,但其实Pandas本身就有更简洁直接的方式,不用手动拆分再合并,一行代码就能精准满足你的需求!

核心实现代码

import pandas as pd

df = pd.DataFrame({
    "Sales QTY":[10,20,30,40], 
    "Sales Person":['Jack', 'Adam', 'Ken', 'Jack'], 
    "Product":["Apple", "Orange","Apple","Cherry"] 
})

# 一行搞定:表头列表 + 数据行列表
result = [df.columns.tolist()] + df.values.tolist()
print(result)

输出结果

[['Sales QTY', 'Sales Person', 'Product'], [10, 'Jack', 'Apple'], [20, 'Adam', 'Orange'], [30, 'Ken', 'Apple'], [40, 'Jack', 'Cherry']]

为什么这是更优的方式?

  • 简洁性:直接调用Pandas内置的columns.tolist()values.tolist()方法,省去手动拆分合并的冗余步骤
  • 可读性:逻辑一目了然——先拿表头,再拼数据行,后续维护成本极低
  • 性能优势:内置方法是经过优化的C扩展实现,处理大体积DataFrame时,比手动循环或拆分合并的效率高很多

如果你想更贴合Pandas的官方推荐写法,也可以用df.to_numpy().tolist()替代df.values.tolist()(官方更推荐to_numpy(),因为values在未来版本可能会有行为调整),代码变成:

result = [df.columns.tolist()] + df.to_numpy().tolist()

两种写法都能完美达成目标,选哪个全看你的个人习惯~

内容的提问来源于stack exchange,提问作者Jack Miller

火山引擎 最新活动