如何在python中为pandas创建一个"not"过滤器

sta*_*n12 10 python python-2.7 pandas

我有这个大型数据帧我已经导入到熊猫中,我想通过过滤器将其砍掉.这是我的基本示例代码:

import pandas as pd
import numpy as np
from pandas import Series, DataFrame

df = DataFrame({'A':[12345,0,3005,0,0,16455,16454,10694,3005],'B':[0,0,0,1,2,4,3,5,6]})

df2= df[df["A"].map(lambda x: x > 0) & (df["B"] > 0)]
Run Code Online (Sandbox Code Playgroud)

基本上这显示了底部的4个结果,这是半正确的.但我需要显示一切但这些结果.基本上,我正在寻找一种方法来使用这个过滤器,但如果可能的话,在"非"版本中.因此,如果列A大于0且列B大于0,那么我们想要从数据帧中取消这些值.谢谢

hhb*_*lly 14

系列"A"无需调用地图函数.

适用德摩根定律:

"不(A和B)"与"(不是A)或(不是B)"相同

df2 = df[~(df.A > 0) | ~(df.B > 0)]
Run Code Online (Sandbox Code Playgroud)