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

如何创建将元组作为单个单元格值的Pandas DataFrame?

问题描述

我编写了如下代码:

import pandas as pd
dict={'name':'theName','data':('a','b','c')}
df = pd.DataFrame(dict)

我期望得到如下表格:

namedata
1theName('a','b','c')

但实际运行后得到的却是:

namedata
1theName'a'
2theName'b'
3theName'c'

请问如何修改代码以实现期望的效果?

解决方案

问题根源是Pandas的字典解析逻辑:当字典中某个值是可迭代对象(比如你用的元组)时,Pandas会将其拆分为多行,搭配重复的标量值(这里的'theName')。要让元组作为单个单元格值保留,只需把它包装成长度为1的可迭代结构即可,以下是两种可行方案:

方案一:将元组嵌套进列表

import pandas as pd
dict={'name':'theName','data':[('a','b','c')]}
df = pd.DataFrame(dict)

方案二:统一用列表包裹所有值

import pandas as pd
dict={'name':['theName'],'data':[('a','b','c')]}
df = pd.DataFrame(dict)

执行任意一种方案后,都会得到你期望的结果。如果需要索引从1开始,可额外添加一行代码:

df.index = df.index + 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 18:34:54