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

Pandas DataFrame列名与第0行值生成键值对报ValueError解决

问题解决方法

错误原因

代码报错的核心原因是列表推导式中错误使用了逻辑运算符and来同时遍历两个序列,Python会尝试将df.columns[2:4]作为布尔值判断,而Pandas的索引对象无法直接做布尔判断,因此抛出了ValueError: The truth value of a Index is ambiguous的错误。

修复方案

方案1:修改原列表推导式

使用zip()函数同时绑定列名和对应行的数值,遍历配对:

pt = [(k, l) for k, l in zip(df.columns[2:4], df.iloc[0, 2:4])]
pt_dict = dict(pt)

方案2:更简洁的Pandas原生方法

直接取指定行和列后调用to_dict()方法,一步生成目标字典:

pt_dict = df.iloc[0, 2:4].to_dict()

两种方案运行后都可以得到期望的输出:

{'Revenue': 4, 'Cost': 5}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:33:03