Фильтрация выбранных категорий из столбца на основе значения другого столбца

#python #pandas #numpy

#python #pandas #numpy

Вопрос:

После создания блок-графика, визуализирующего категориальный объект по сравнению с моей целевой непрерывной характеристикой-ценой, я хочу отфильтровать выборку или подмножество этого категориального объекта на основе цены, поскольку существует ряд выбросов.

Моя категориальная функция — авиакомпания. Допустим, я хочу создать новый фрейм данных, в котором категории «Aer Lingus» и «Ryanair» имеют цену меньше 1000.

Как я могу выбрать и закрепить эти категории в зависимости от авиакомпании в зависимости от цены?

 irish_airlines= ['Aer Lingus','Ryanair']


df['Price'].loc[df['Airline'].isin(irish_airlines) < 1000]
  

не работает, поскольку возвращает серию всех цен. Есть идеи? Спасибо!

Ответ №1:

Цепочка обоих условий с помощью amp; побитового AND :

 df[df['Airline'].isin(irish_airlines) amp; (df['Price'] < 1000)]
  

Ответ №2:

Вы можете «где» в dataframe

 filter1 = df['Airline'].isin(['Aer Lingus','Ryanair'])
filter2 = df['Price'] < 1000
df = df.where( filter1 amp; filter2)