使用
()是因为运算符优先级:
temp2 = df[~df["Def"] & (df["days since"] > 7) & (df["bin"] == 3)]
或者,在单独的行上创建条件:
cond1 = df["bin"] == 3 cond2 = df["days since"] > 7cond3 = ~df["Def"]temp2 = df[cond1 & cond2 & cond3]
样品 :
df = pd.Dataframe({'Def':[True] *2 + [False]*4, 'days since':[7,8,9,14,2,13], 'bin':[1,3,5,3,3,3]})print (df) Def bin days since0 True 171 True 382 False 593 False 3 144 False 325 False 3 13temp2 = df[~df["Def"] & (df["days since"] > 7) & (df["bin"] == 3)]print (temp2) Def bin days since3 False 3 145 False 3 13


