我正在尝试根据某一列上的某些条件从pandas数据框中选择行。 我们的数据框列为:用户,年龄,性别。 我试图找出用户值为'kunal'的行。我尝试了以下两种方法:
df.loc[df.user == 'kunal']
df.loc[df.user == 'kunal', :]
它抛出以下错误:
ValueError: Cannot index with multidimensional key
我不知道熊猫是否在最新版本中更改了任何内容。
答案 0 :(得分:1)
我认为问题在于列中的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