@yamatoko

Фильтрация в pandas — как не фильтровать, если переменная None?

Работаю с pandas на Питоне. Есть такой код

res = df[
  (df['Column1'] >= column1_min) & (df_item['Column1'] <= column1_max) &
  (df['Column2'].isin(column2) ) &
  (df['Column3'] == column3) &
  #.....

Кай сделать так, чтобы фильтры (column1_min, column1_max, column2, column3) которые None, не применялись для фильтрации?

Сейчас если какая-нибудь из них равна None, то будет производится фильтрация по значением, которые тоже None, то есть будет искать None.
Я же хочу, чтобы если None, то не фильтровать по этому значению вообще.
  • Вопрос задан
  • 805 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lPolar
data scientist
Мне кажется можно сделать чуть проще:
1. Выберите те записи, где встречается None - выделите их в отдельный фрейм
2. На остатке примените ваш код
3. Сцепите два frame по оси рядов (pd.concat([df1,df2],axis=0))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы