Распределительный закон при запросе фрейма данных

#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 были какие-то переменные?