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

pandas1.1.5中将df2索引值赋值给新空DataFrame列报错如何解决

报错原因

报错信息:ValueError: Must have equal len keys and value when setting with an iterable

这个报错是因为你使用df[['Name']](双中括号)选择列时,pandas会将其识别为多列赋值场景,期望接收二维结构的赋值内容,但你传入的df2.index.values是一维数组,二者维度不匹配触发校验失败。

可用解决方案
  • 方案1:使用单中括号指定单列赋值(最常用,写法最简单)
    代码如下:
    df['Name'] = df2.index.values
    
  • 方案2:如果需要保留双中括号写法(比如后续要同步赋值多列),可以先把索引转换为二维结构:
    第一种写法:调用to_frame()直接将索引转为DataFrame
    df[['Name']] = df2.index.to_frame(name='Name')
    
    第二种写法:手动调整数组维度
    df[['Name']] = df2.index.values.reshape(-1, 1)
    
  • 方案3:创建DataFrame时直接指定数据,一步完成初始化:
    df = pd.DataFrame({'Name': df2.index.values})
    
补充说明

该规则属于pandas的基础赋值校验逻辑,和你使用的1.1.5版本无关,所有正式版pandas都存在该校验要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:18:02