python - 尝试在熊猫数据框中将列设置为索引时出错
问题描述
我有以下代码:
A = pd.DataFrame([[1, 2], [1, 3], [4, 6]], columns=[['att1', 'att2']])
A['idx'] = ['a', 'b', 'c']
A
在我这样做之前效果很好(尝试将列'idx'设置为数据框的索引)
A.set_index('idx', inplace=True)
引发错误
TypeError: only integer scalar arrays can be converted to a scalar index
这是什么意思 ?
解决方案
错误是当您A
使用
columns = [['att1', 'att2']]
如果您打印A.columns
,您将获得:
MultiIndex([('att1',),
('att2',),
( 'idx',)],
)
所以'idx'
并不是真的在你的专栏里为你设置索引。现在,这将起作用:
A.set_index(('idx',))
并给出:
att1 att2
(idx,)
a 1 2
b 1 3
c 4 6
但是,您应该只修复您的创建A
:
columns = ['att1', 'att2']
推荐阅读
- java - 如何在java中检查重复/相同值的条件
- c++ - 在图像顶部模拟天体(恒星)
- django - django>=1.7 django.setup() 正在提高 AppRegistryNotReady
- visual-studio - 运行时的 Visual Studio 热键检测
- reactjs - AutocompleteArrayInput 显示空白条目
- c++ - 具有相对路径的 CMake 安装目标
- c++ - C++:在多个文件中定义类
- python - 继承中带/不带下划线的python变量
- vbscript - crt.Dialog.FileOpenDialog([title, [buttonLabel, [defaultFilename, [filter ]]]])
- html - 当浏览器不是全屏时,单击此处按钮上的定位关闭