Я пытаюсь сделать логическое индексирование с помощью нескольких условий, используя Pandas. Мой исходный DataFrame называется df
. Если я выполню ниже, я получаю ожидаемый результат:
temp = df[df["bin"] == 3]
temp = temp[(~temp["Def"])]
temp = temp[temp["days since"] > 7]
temp.head()
Однако, если я это сделаю (что, я думаю, должно быть эквивалентным), я не возвращаю строки:
temp2 = df[df["bin"] == 3]
temp2 = temp2[~temp2["Def"] & temp2["days since"] > 7]
temp2.head()
Любая идея, что объясняет разницу?