python - 大熊猫中基于值的条件选择抛出ValueError
问题描述
我正在尝试根据一列上的某些条件从熊猫数据框中选择行。让我们开始吧,我的数据框列是:用户、年龄、性别。我正在尝试找出用户值为“kunal”的行。我尝试了以下两种方法:
df.loc[df.user == 'kunal']
df.loc[df.user == 'kunal', :]
它抛出以下错误:
ValueError: Cannot index with multidimensional key
我不知道 pandas 在最新版本中是否改变了任何东西。
解决方案
我相信问题MultiIndex
出在列中:
df=pd.DataFrame({'a':['kunal',''],'b':[1,2]})
df.columns = [['user'] * 2, df.columns]
print(df)
user
a b
0 kunal 1
1 2
print(df.columns)
MultiIndex(levels=[['user'], ['a', 'b']],
labels=[[0, 0], [0, 1]])
可能的解决方案是通过元组选择:
df3 = df.loc[df.loc[:, ('user','a')] == 'kunal']
print(df3)
user
a b
0 kunal 1
推荐阅读
- directus - 将多租户与 Directus 一起使用时,如何解决此身份验证问题?
- vue.js - Vue 路由:未捕获类型错误:window.Vue.use 不是函数
- typescript - 使用 Vuex 和 typescript 的正确方法是什么?
- ios - 使用 SwiftyCams didFocusAtPoint 函数为点击创建动画以进行对焦
- ios - 如何从 iTunes 连接下载我们的应用程序
- c++ - 仅当条件的 C++ 模板
- java - 如何解码 JSON API 响应
- dart - 相对于居中的小部件定位小部件
- python-3.x - 蟒蛇街机;如何添加敌人
- javascript - 从右到左显示的 div 部分