ValueAccessing фреймы данных с несколькими условиями, примененными к столбцам с ошибкой. Ошибка: Истинное значение Серии неоднозначно - PullRequest
0 голосов
/ 27 апреля 2018

Я получаю доступ к столбцам данных, основываясь на условиях, примененных к двум столбцам. У меня был следующий код

def data1(q,t,sub):
    lit=[]
    a=df['teacher']==t & df['subject']==sub
    lit = df[q].where(df['teacher'].values == t) and (df['subject'].values == sub).dropna()

lit = df[q].where(a).dropna()
return lit    

но я получаю эту ошибку

ValueError: Значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().

1 Ответ

0 голосов
/ 27 апреля 2018

Это тот случай, когда сообщение об ошибке не очень полезно. Вы хотите использовать & вместо and в вашем where:

df[q].where((df['teacher'].values == t) & (df['subject'].values == sub))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...