Python Pandas:获取DataFrame中某列不为空的行
Python Pandas: 获取DataFrame中某一列不为空的行
在Python中,有一些短路逻辑运算符,如`not`、`and`和`or`。这些运算符在Python中具有非常特定的含义,无法被覆盖重写。其中,`not`必须返回一个布尔值,而`a and/or b`总是返回`a`或`b`,否则会抛出错误。
然而,Python还具有可重载的布尔运算符,如`~`(not)、`&`(and)、`|`(or)和`^`(xor)。你可能会认出它们是整数的按位运算符,但Numpy(因此也包括Pandas)使用它们来进行数组/系列的布尔运算。
举个例子:
b = np.array([True, False, True]) & np.array([True, False, False]) # b --> [True False False] b = ~b # b --> [False True True]
因此,你想要的是:
df = df[~df['my_col'].isnull()]
我同意PEP8的观点,不要使用`== False`。
感谢解释和另一个示例。