pandas - 使用 .loc 和布尔值的多维键的 Pandas 错误
问题描述
即使代码以前工作过,也遇到同样的错误 2 周。不确定我是否将 pandas 作为另一个库安装的一部分进行了更新,也许那里发生了一些变化。当前版本为 23.4。预期的结果是只返回具有该标识符值的行。
In [42]: df.head()
Out[43]:
index Identifier ...
0 51384710 ...
1 74838J10 ...
2 80589M10 ...
3 67104410 ...
4 50241310 ...
[5 rows x 14 columns]
In [43]: df.loc[df.Identifier.isin(['51384710'])].head()
Traceback (most recent call last):
File "C:\anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2862, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-44-a3dbf43451ef>", line 1, in <module>
df.loc[df.Identifier.isin(['51384710'])].head()
File "C:\anaconda3\lib\site-packages\pandas\core\indexing.py", line 1478, in __getitem__
return self._getitem_axis(maybe_callable, axis=axis)
File "C:\anaconda3\lib\site-packages\pandas\core\indexing.py", line 1899, in _getitem_axis
raise ValueError('Cannot index with multidimensional key')
**ValueError: Cannot index with multidimensional key**
解决方案
解决它。我已经完成了 df.columns = [column_list] where column_list = [...],这导致 df 被视为具有多索引,即使只有一个级别。从 df.columns 分配中删除了括号。
推荐阅读
- python - 用for循环替换JSON列表中的Python?
- python - SQLAlchemy / SQL 索引与 Pandas 中的索引相比如何?
- sql - Msg 120, Level 15, State 1, Procedure Generate_Exame, Line 6, INSERT 语句的选择列表包含的项少于插入列表
- cordova - 由于 cordova-plugin-meteor-webapp 中的“下载资产错误”,热代码推送失败
- python - AttributeError:“collections.OrderedDict”对象没有属性“train”
- java - 有没有办法通过代码或命令行(JDK 9+)禁用原生 DPI 缩放?
- selenium - 如何使用 selenium Junit 验证页脚文本
- firebase - 错误:未找到请求的实体。在 FirebaseMessagingError.FirebaseError [作为构造函数]
- django-rest-framework - get_queryset 被执行而不是 get_object
- python - 如果两个区域相交,则合并它们