无法设置 pandas 数据框的索引 - 获取“KeyError”

2023-11-27

我生成一个看起来像这样的数据框(summaryDF):

   accuracy        f1  precision    recall
0     0.494  0.722433   0.722433  0.722433
0     0.290  0.826087   0.826087  0.826087
0     0.274  0.629630   0.629630  0.629630
0     0.278  0.628571   0.628571  0.628571
0     0.288  0.718750   0.718750  0.718750
0     0.740  0.740000   0.740000  0.740000
0     0.698  0.765133   0.765133  0.765133
0     0.582  0.778547   0.778547  0.778547
0     0.682  0.748235   0.748235  0.748235
0     0.574  0.767918   0.767918  0.767918
0     0.398  0.711656   0.711656  0.711656
0     0.530  0.780083   0.780083  0.780083

因为我知道其中的每一行应该是什么,所以我使用此代码来设置每一行的名称(这些不是实际的行名称,只是为了论证)。

summaryDF = summaryDF.set_index(['A','B','C', 'D','E','F','G','H','I','J','K','L'])

但是,我得到:

level = frame[col].values
  File "/Users/me/anaconda/lib/python2.7/site-packages/pandas/core/frame.py", line 1797, in __getitem__
    return self._getitem_column(key)
  File "/Users/me/anaconda/lib/python2.7/site-packages/pandas/core/frame.py", line 1804, in _getitem_column
    return self._get_item_cache(key)
  File "/Users/me/anaconda/lib/python2.7/site-packages/pandas/core/generic.py", line 1084, in _get_item_cache
    values = self._data.get(item)
  File "/Users/me/anaconda/lib/python2.7/site-packages/pandas/core/internals.py", line 2851, in get
    loc = self.items.get_loc(item)
  File "/Users/me/anaconda/lib/python2.7/site-packages/pandas/core/index.py", line 1572, in get_loc
    return self._engine.get_loc(_values_from_object(key))
  File "pandas/index.pyx", line 134, in pandas.index.IndexEngine.get_loc (pandas/index.c:3824)
  File "pandas/index.pyx", line 154, in pandas.index.IndexEngine.get_loc (pandas/index.c:3704)
  File "pandas/hashtable.pyx", line 686, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12280)
  File "pandas/hashtable.pyx", line 694, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12231)
KeyError: 'A'

我不知道我做错了什么并且进行了广泛的研究。有任何想法吗?


我猜你和@jezrael 误解了 pandas 文档中的一个例子:

df.set_index(['A', 'B'])

A and B本例中是列名称/标签:

In [55]: df = pd.DataFrame(np.random.randint(0, 10, (5,4)), columns=list('ABCD'))

In [56]: df
Out[56]:
   A  B  C  D
0  6  9  7  4
1  5  1  3  4
2  4  4  0  5
3  9  0  9  8
4  6  4  5  7

In [57]: df.set_index(['A','B'])
Out[57]:
     C  D
A B
6 9  7  4
5 1  3  4
4 4  0  5
9 0  9  8
6 4  5  7

The 文档说应该是list列标签数 /arrays.

所以您正在寻找:

In [58]: df.set_index([['A','B','C','D','E']])
Out[58]:
   A  B  C  D
A  6  9  7  4
B  5  1  3  4
C  4  4  0  5
D  9  0  9  8
E  6  4  5  7

但正如 @jezrael 所建议的df.index = ['A','B',...]是更快更惯用的方法......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法设置 pandas 数据框的索引 - 获取“KeyError” 的相关文章

随机推荐

  • 图像中的 r 轴标签

    我需要按呼叫中心的空间位置绘制指标图表 我用 R 写了一个小例子 tt lt data frame a1 c 0 4 5 5 7 a2 c 5 6 7 8 a3 c 8 7 9 8 row names tt lt paste L 1 4 s
  • 如何使用 SharedPreferences [重复]

    这个问题在这里已经有答案了 我是 Android 开发新手 使用一本名为 Sams Teach Yourself Android Application Development in 24 hours 的书 到目前为止 但在尝试使用 Sha
  • 在 Visual Studio 2010 中,如何搜索不在单行注释内的文本?

    在 Visual Studio 2010 中 如何搜索不在单行注释内的文本 例如 如何在以下位置找到 bas foo bar bas 但不在 foo bar bas 请注意 它应该找到以下行 foo bar bas 编辑 它不应该找到该行
  • 相同的 Ajax 调用了两次..JQuery

    我在 JQuery 中有一个问题 我正在使用 ajax 在我的代码中 Function 1 将字段名和序列号发送到 ctrller 后者通过以下方式获取数据 POST name and POST sequenceno 并使用未给定的序列更新
  • Math.Round 返回奇数向上舍入,但偶数向下舍入

    我正在尝试使用数学循环找到一个浮点数 我发现了以下内容 0 5 gt 0 1 5 gt 2 2 5 gt 2 3 5 gt 4 等等 我相信这是由于浮点错误造成的 但不太确定是如何造成的 我怎样才能解决这个问题 以便偶数正确舍入 From
  • 避免 Android Market 对可选使用位置进行过滤

    在我的应用程序中 我尝试使用位置信息 如果可用 因此 我的清单中有这些权限 e g
  • 对列中的每个单元格应用函数并将结果添加到新列

    我有一个 data table 如下所示 我想要的是将一个函数应用于 C 列中的每个元素 该函数将接受一个向量 因为 Col C 包含向量元素 并返回另一个向量 应将所得向量添加到新列中 A B C 1 16 151 c 2579 2659
  • Yii框架登录后重定向页面

    我是 Yii 框架的新手 在 Yii 中 当您默认登录时 它会重定向到索引页面 我希望当我登录 Yii 时 页面将重定向到另一个页面而不是索引页面 那么任何人都可以帮助我吗 任何帮助或建议将非常感激 edit 当我使用用户模块时 重定向将如
  • 显示与线连接的树视图项目?

    有没有办法让树视图在展 开项目时显示连接项目的线 Thanks 您必须替换 TreeViewItem 控件模板才能实现这一点 看着MSDN 上的这个线程应该有您需要的所有信息
  • XSLT:更改节点内部文本

    我需要转换以下 xml 文档 a b b a
  • pandas散点矩阵显示相关系数

    我试图找到一种方法来显示 pandas 散点矩阵的下三或上三中的相关系数 有人能指出我正确的方向吗 谢谢 一个最小的工作示例 import matplotlib pyplot as plt import pandas as pd impor
  • Foundation 5 顶栏在 Rails 4 中无法一致工作

    我在 Rails 4 应用程序中使用 Foundation 5 当我发送请求时 顶栏菜单工作正常 我可以悬停项目和嵌套项目没有问题 然后 我单击其中一个项目 该项目具有与其关联的 link to 方法 有时它会给出正确的结果 我的菜单仍然可
  • 向量值多元函数中的插值

    在Python中 我试图构建一个在多维 5 参数空间中插入向量值数据的例程 即我有一个函数 它接受多个输入变量并返回多个输出变量 目前 向量的每个元素都有一个调用 数据位于列式文件中 因此我使用以下命令检索它 import numpy x
  • 在 CollectionView 上的滚动需求上加载更多数据

    我正在 collectionView 上实现一项功能 其中用户滚动底部的 collectionView 20 个项目 并从服务器请求另一组数据 另外 20 个项目 我已经实施了以下两种方法 但我想知道哪种方法更好 或者还有其他我不知道的更好
  • Grailsquartz 插件在 Tomcat 中部署时不起作用

    我有一个使用 Grails 开发的 Web 应用程序 我正在尝试实现一个后台进程 使用 Grails 的quartz1 0 RC9 插件每 5 分钟扫描一次数据库中的表 在尝试编写实际逻辑之前 我正在学习如何使用该插件 因为我是石英新手 因
  • 将省略号添加到 WinForms 程序中的路径,无需 Win32 API 调用(重新访问)

    我正在寻找一种在 C 路径中插入省略号的方法 并在 stackoverflow 上找到了答案 没有 Win32 API 调用的 C 路径省略号 使用VS2010和 Net 4 0的RTM版本 我无法让建议的方法起作用 我搜索了 Net并找到
  • BackgroundWorker多线程访问表单

    我出于某种目的使用同时运行的 5 个 BackgroundWorker 对象 并且所有这些对象都必须更改相同的标签 我怎么做 那么如何从多个线程修改表单呢 如果我想更改公共字符串 我该怎么做 将 Control Invoke 与委托一起使用
  • 在层次结构中移动 UIView 时保留位置(就地粘贴)

    在 Xcode 4 IB 中 有没有一种方法可以将一堆子视图从一个超级视图移动到另一个超级视图 而不破坏它们当前的布局 这应该非常简单 但是当我尝试在视图树中复制 粘贴或移动它们时 它们都会移动到一个位置 例如 在添加一个额外的视图来保存表
  • 两个字符串的连接不起作用[重复]

    这个问题在这里已经有答案了 我有以下代码 但它不起作用 CHARACTER 260 xx yy zz xx A yy B zz xx yy 当我在 Visual Studio 中调试代码时 多变的xx包含 A 多变的yy包含 B 多变的zz
  • 无法设置 pandas 数据框的索引 - 获取“KeyError”

    我生成一个看起来像这样的数据框 summaryDF accuracy f1 precision recall 0 0 494 0 722433 0 722433 0 722433 0 0 290 0 826087 0 826087 0 82