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

Pandas新建列报错TypeError: 'set' type is unordered问题咨询

错误原因
  • 错误类型TypeError: 'set' type is unordered的触发原因是你在给pandas DataFrame列赋值时,使用了无序的Python集合类型(用大括号{}包裹元素且没有键值对的结构)。
  • pandas要求给列赋值的可迭代对象必须是有序结构,保证元素顺序和DataFrame的行顺序一一对应,集合本身不维护元素顺序,因此被pandas主动拦截报错。
  • 你代码中的两处错误点:missions['LM mass (kg)']和missions['CM mass (kg)']的赋值右侧都用了集合,需要替换为有序的列表(方括号[]包裹元素)。
正确实现代码
# 登月舱相关列
missions['Lunar module (LM)'] = ['Eagle (LM-5)', 'Intrepid (LM-6)', 'Antares (LM-8)', 'Falcon (LM-10)', 'Orion (LM-11)', 'Challenger (LM-12)']
# 原集合结构改为有序列表
missions['LM mass (kg)'] = [15103, 15235, 15264, 16430, 16445, 16456]
missions['LM mass diff'] = missions['LM mass (kg)'].diff()
missions['LM mass diff'] = missions['LM mass diff'].fillna(value=0)

# 指令舱相关列
missions['Command module (CM)'] = ['Columbia (CSM-107)', 'Yankee Clipper (CM-108)', 'Kitty Hawk (CM-110)', 'Endeavor (CM-112)', 'Casper (CM-113)', 'America (CM-114)']
# 原集合结构改为有序列表
missions['CM mass (kg)'] = [5560, 5609, 5758, 5875, 5840, 5960]
missions['CM mass diff'] = missions['CM mass (kg)'].diff()
missions['CM mass diff'] = missions['CM mass diff'].fillna(value=0)

missions

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:54:00