我有一张如下的table:
+---+----+----+
| id|Sell| Buy|
+---+----+----+
| A|null|null|
| B| Y| Y|
| C|null| Y|
| D| Y|null|
| E|null|null|
+---+----+----+
当值等于“y”时,我可以轻松筛选单个或两个列。例如,当两列都为“y”时,以下过滤器:
df.filter((df["Buy"] == "Y") & (df["Sell"] == "Y"))
但是,当一列或两列不等于“y”时,如何筛选??每个案例的代码是什么?我尝试了这些代码,但它们不返回任何行:
df.filter((df["Buy"] != "Y") & (df["Sell"] != "Y"))
df.filter(~((df["Buy"] == "Y") | (df["Sell"] == "Y")))
它似乎没有捕获空值
2条答案
按热度按时间0ve6wy6x1#
首先填充空值并进行筛选。
kmb7vmvb2#
我认为问题是它们是空的,空值在某种程度上是特殊的
尝试此操作以筛选
Buy
这不是我的错因此,如果您想筛选出买入和卖出不是“y”的地方,您需要这样做:
快速示例:
输入
输出