Pandas — выбор нескольких критериев фрейма данных

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

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

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

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

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

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

Комментарии:

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

2. Ошибка значения: значение истинности ряда неоднозначно. Используйте .empty , .bool(), .item(), .any() или.all() .

Ответ №1:

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

 status_filter = df[(df['STATUS'] == 'Complete') amp; (df['READY TO INVOICE'] == 'No')]
  

Комментарии:

1. За предоставление объяснения и кода вместо простого кода 1

Ответ №2:

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

добро пожаловать

Ответ №3:

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

 status_filter = df[(df['STATUS'] == 'Complete') amp;  (df['READY TO INVOICE'] == 'No')]
  

Комментарии:

1. У вас опечатка. * должно быть amp;