python - 令人沮丧的错误:在 Pandas 中创建新列时抛出 KeyError
问题描述
这很奇怪,我以前使用过这段代码并且它有效。但现在它给我一个 KeyError 说:
KeyError:“[索引(['0','1'],dtype ='object')]都不在[列]中”
d = {'col1': [1, 2, 3], 'col2': [3, 4, 5]}
df = pd.DataFrame(data=d)
df[[str(c) for c in range(2)]] = [[5,6],[6,6], [7,7]]
我什至让我的朋友在他身边测试它,他执行代码没有任何错误没有问题。还有,我的Pandas
版本确实不一样,一个是1.1.4,一个是1.0.3。
另外,如果有人有一个优雅的解决方案,.loc
或者.iloc
请让我知道。当版本控制不是问题时,为什么这在我的计算机上不起作用,我真的很沮丧。
解决方案
对我来说工作得很好。
另一种解决方案是创建新的 DataFrame 并添加到原来的:
df = df.join(pd.DataFrame([[5,6],[6,6], [7,7]], index=df.index, columns=['0','1']))
print (df)
col1 col2 0 1
0 1 3 5 6
1 2 4 6 6
2 3 5 7 7
推荐阅读
- javascript - 视频无法通过异步可观察调用播放
- typescript - 将无类型的 JavaScript 选项属性添加到声明的类
- javascript - 数据表更新单元格值不显示
- python - 他们在 django 模型上使用 @property 装饰器而不是将字段直接保存到数据库中是否有任何时间优势
- sql - SQL 服务器——年份
- android - 播放音频文件时显示进度条?
- swift - 奇怪的 tableView.reloadData() 行为
- windows - 汇编 - 在循环中使用 scanf 读取字符串仅读取一个字符串
- c++ - 正确地将 SDL 矩形渲染到屏幕上
- java - 删除项目后更新 JList