условное выделение на основе значений в пандах, бросающих ValueError - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь выбрать строки в кадре данных pandas на основе какого-либо условия в одном столбце.Давайте день, мои столбцы dataframe являются: пользователь, возраст, пол.Я пытаюсь выяснить строки с пользовательским значением 'kunal'.Я попробовал два следующих способа:

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

Выдает следующую ошибку:

ValueError: Cannot index with multidimensional key

Я не знаю, изменил ли pandas что-либо в последней версии.

1 Ответ

0 голосов
/ 05 декабря 2018

Я считаю, что проблема составляет 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...