2016-10-04 2 views
1

У меня есть DataFrame с несколькими столбцами, и мне нужно установить критерии для доступа к определенным значениям из двух разных столбцов. Я могу сделать это успешно на одной колонке, как показано здесь:Pandas - выбор нескольких критериев данных данных

status_filter = df[df['STATUS'] == 'Complete'] 

Но я изо всех сил пытаюсь указать значения из двух столбцов. Я пробовал что-то подобное, но получаю ошибки:

status_filter = df[df['STATUS'] == 'Complete' and df['READY TO INVOICE'] == 'No'] 

Это может быть простой ответ, но любая помощь приветствуется.

+0

Какие ошибки вы получаете? – MMF

+0

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

ответ

4

Ваш код имеет две очень маленькие ошибки: 1) нуждается в скобках для двух или более критериев и 2) вы должны использовать амперсанд между вашими критериями:

status_filter = df[(df['STATUS'] == 'Complete') & (df['READY TO INVOICE'] == 'No')] 
+0

За пояснение и код вместо _just_ code +1 – Nicarus

+0

Большое спасибо! Сейчас все работает. – King

1
status_filter = df.ix[(df['STATUS'] == 'Complete') & (df['READY TO INVOICE'] == 'No'),] 

ур приветствовать

0

вы можете использовать:

status_filter = df[(df['STATUS'] == 'Complete') & (df['READY TO INVOICE'] == 'No')] 
+1

У вас есть опечатка. '*' должно быть '&' – Nicarus

+0

@Nicarus исправлено, спасибо – JMat

Смежные вопросы