【发布时间】:2018-11-15 01:35:50
【问题描述】:
以下问题经常出现。假设我有一个数据框,其中一列可以采用离散值:
df = pd.DataFrame({'col1': [1, 2,3,4,5,6,7], 'col2': ["A", "B", "A", "C", "B", "A", "D"]})
在这种情况下,col2 可以取值 A、B 或 C。我只想找到 col2 不 等于 A 或 B 的行。我认为以下语法可以使用,
df["col2"] not in ["A", "B"]
但是,这给了我错误ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
有没有一种巧妙的方法可以过滤掉这些行?
【问题讨论】:
-
你想要
df[~df['col2'].isin(['A','B'])]