pandas AND 过滤
pandas AND filtering
我认为“&”的意思是 AND,但在下面的示例中它的作用类似于 OR,因为这应该返回索引=1 处的行。
我想要列“e”不是 1 和列“g”同时不是“a”的行,但这里它基本上是一个 OR,因为它不返回任何行。您将如何实施 AND?
ex=pd.DataFrame([[1,2,"a"],[1,2,"b"]], columns=['e','f','g'])
ex[(ex.e!=1) & (ex.g!="a")]
编辑:不适用于“and”
你应该在前面加上~
,这只会排除e=1和g = a
的行
out = ex[~((ex.e==1) & (ex.g=="a"))]
print(out)
e f g
1 1 2 b
我认为“&”的意思是 AND,但在下面的示例中它的作用类似于 OR,因为这应该返回索引=1 处的行。
我想要列“e”不是 1 和列“g”同时不是“a”的行,但这里它基本上是一个 OR,因为它不返回任何行。您将如何实施 AND?
ex=pd.DataFrame([[1,2,"a"],[1,2,"b"]], columns=['e','f','g'])
ex[(ex.e!=1) & (ex.g!="a")]
编辑:不适用于“and”
你应该在前面加上~
,这只会排除e=1和g = a
out = ex[~((ex.e==1) & (ex.g=="a"))]
print(out)
e f g
1 1 2 b