#python #pandas
#python #панды
Вопрос:
У меня есть этот простой фрейм данных 1, где я хотел бы запросить фрейм данных, используя логический распределительный закон следующим образом:
1 Пример фрейма данных
users x y w z
1 tom 30 12 65 100
3 john 30 13 76 200
3 rachel 30 25 43 200
4 rachel 5 10 87 300
5 rachel 10 45 65 300
6 jeff 20 50 92 400
7 jeff 30 43 54 400
8 jeff 50 20 46 200
Получить все строки, удовлетворяющие одному из следующих условий:
(x == 30 amp; z == 200) | (y == 20 amp; z == 200) | (w > 60 amp; z == 200)
Я думал применить распределительный закон, но это не сработало:
df.query(z == 200 amp; (x == 30 | y == 20 | w > 60))
Как я могу применить это условие при запросе фрейма данных?
Ответ №1:
Для меня отлично работает ""
, но ваша ошибка, похоже, здесь нет проблем:
df = df.query("z == 200 amp; (x == 30 | y == 20 | w > 60)")
print (df)
users x y w z
3 john 30 13 76 200
3 rachel 30 25 43 200
8 jeff 50 20 46 200
Комментарии:
1. Опечатка на моей стороне.
2. @xeon123 — так
x,y,z
были какие-то переменные?