Pandas: le Filtrage de plusieurs conditions

Je suis en train de faire booléenne de l'indexation avec un couple de conditions, en utilisant les Pandas. Mon premier DataFrame est appelé df. Si j'effectue la ci-dessous, j'obtiens le résultat escompté:

temp = df[df["bin"] == 3]
temp = temp[(~temp["Def"])]
temp = temp[temp["days since"] > 7]
temp.head()

Cependant, si je fais cela (qui je pense doit être équivalent), je n'ai pas de lignes de retour:

temp2 = df[df["bin"] == 3]
temp2 = temp2[~temp2["Def"] & temp2["days since"] > 7]
temp2.head()

Aucune idée de ce qu'est la différence?

OriginalL'auteur bclayman | 2018-02-25