Панды: проверьте, вернет ли df.loc с несколькими условиями ошибку - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть следующий код в моем проекте python / pandas:

df.loc[df['A'] == 'Total', 'AAA'] = df.loc[(df['Category'] == 'Category_A') & (df['Sub_Category'] == 'AAA'), 'Quantity'].values

Предполагая, что у df есть «Category_A» и «Sub_Category» из «AAA», это прекрасно работает.Однако могут быть случаи, когда один или несколько из них отсутствуют в зависимости от импортируемых данных.Это вызывает ошибку KeyError.

В настоящее время у меня есть неуклюжий обходной путь, когда я вручную устанавливаю значение на ноль, но мне необходимо заранее знать, какие наборы данных могут вызвать проблему, что в долгосрочной перспективезапустить не хорошее решение.

Есть мысли?

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете сделать с

df.loc[(df['Category'] == 'Category_A') & (df['Sub_Category'] == 'AAA')&(df['A'] == 'Total'), 'AAA'] = df['Quantity']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...