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

如何将元组列表转换为指定格式的Pandas DataFrame

问题与解决方案

问题描述

有一个通过循环动态生成的单条元组列表,示例如下:

builddict =  [
    ('MfgPartNumber', 'ITEM NUMBER'), 
    ('ShortDescription', 'ITEM DESCRIPTION'), 
    ('StdPk', 'PACKAGE QTY'), 
    ('ListPrice', 'LIST PRICE'), 
    ('Cost', 'NET PRICE APRIL 2024')
]

需要将该列表转换为Pandas DataFrame,要求以元组的第一个元素作为列名,第二个元素作为对应行的值,目标格式如下:

| MfgPartNumber | ShortDescription   | StdPk | ListPrice | Cost |
| ------------ | ------------------- |----- | ---------- | ---- |
| ITEM NUMBER  | ITEM DESCRIPTION   |PACKAGE QTY| LIST PRICE | NET PRICE APRIL 2024 |

已尝试以下代码,但不知道如何设置列名:

DictCols = list(zip(*builddict))[0]
DictData = pd.DataFrame(list(zip(*builddict))[1]).T
print(DictData)

解决方法

方法1:字典直接转换(最直观)

元组列表本质是列名与对应值的键值对,直接转为字典后传入DataFrame即可:

import pandas as pd

builddict =  [
    ('MfgPartNumber', 'ITEM NUMBER'), 
    ('ShortDescription', 'ITEM DESCRIPTION'), 
    ('StdPk', 'PACKAGE QTY'), 
    ('ListPrice', 'LIST PRICE'), 
    ('Cost', 'NET PRICE APRIL 2024')
]

# 将元组列表转为字典,再构造单条数据的DataFrame
df = pd.DataFrame([dict(builddict)])
print(df)

运行后直接生成符合要求的DataFrame,列名和行值自动匹配。

方法2:基于现有代码修改

你已经提取了列名和数据,只需给DataFrame添加columns参数指定列名:

import pandas as pd

builddict =  [
    ('MfgPartNumber', 'ITEM NUMBER'), 
    ('ShortDescription', 'ITEM DESCRIPTION'), 
    ('StdPk', 'PACKAGE QTY'), 
    ('ListPrice', 'LIST PRICE'), 
    ('Cost', 'NET PRICE APRIL 2024')
]

DictCols = list(zip(*builddict))[0]
DictData = pd.DataFrame(list(zip(*builddict))[1]).T
# 为DataFrame设置列名
DictData.columns = DictCols
print(DictData)

方法3:字典推导式构造

用字典推导式直接生成单条数据的结构,再传入DataFrame:

import pandas as pd

builddict =  [
    ('MfgPartNumber', 'ITEM NUMBER'), 
    ('ShortDescription', 'ITEM DESCRIPTION'), 
    ('StdPk', 'PACKAGE QTY'), 
    ('ListPrice', 'LIST PRICE'), 
    ('Cost', 'NET PRICE APRIL 2024')
]

df = pd.DataFrame([{col: val for col, val in builddict}])
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:42:38