You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将list转换为DataFrame并保留原列表中的完整对象?

实现方案

首先我们假设你自定义的item类有对应存储字母和数字的属性,以下示例用letters和numbers作为属性名,你可以根据自己实际的类定义替换。

先给出测试用的item类定义示例:

class item:
    def __init__(self, letters, numbers):
        self.letters = letters
        self.numbers = numbers
    # 控制对象打印格式为你需要的item(xxx, xxx)
    def __repr__(self):
        return f"item({self.letters}, {self.numbers})"

方法1:直接构造各列(简洁高效,适合大多数场景)

import pandas as pd

# 你的原始对象列表
L = [item("ABC", 123), item("DEF", 456), item("GHI", 789)]

# 分别提取三列数据生成DataFrame
df = pd.DataFrame({
    "Letters": [obj.letters for obj in L],
    "Numbers": [obj.numbers for obj in L],
    "Item": L
})

方法2:单次遍历构造(适合超长列表)

如果你的原始列表数据量很大,不想多次遍历列表,可以用一次遍历提取所有字段:

import pandas as pd

L = [item("ABC", 123), item("DEF", 456), item("GHI", 789)]
rows = []
for obj in L:
    rows.append((obj.letters, obj.numbers, obj))

df = pd.DataFrame(rows, columns=["Letters", "Numbers", "Item"])

两种方法得到的DataFrame都完全符合你要求的格式。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:27:03