ValueE中基于值的条件选择

2024-10-01 07:39:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图根据某一列上的某些条件从pandas数据帧中选择行。 今天,我的数据框列是:用户、年龄、性别。 我试图找出用户值为“kunal”的行。我尝试了以下两种方法:

df.loc[df.user == 'kunal']
df.loc[df.user == 'kunal', :]

它抛出以下错误:

ValueError: Cannot index with multidimensional key

我不知道熊猫在最新版本中是否有任何改变


Tags: 数据方法用户pandasdf错误条件loc
1条回答
网友
1楼 · 发布于 2024-10-01 07:39:54

我认为问题在于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

相关问题 更多 >