我想通过为同一列指定多个值来排除行。我有以下 Dataframe :| 十|是|| - ------|- ------|| A类|1个|| B|第二章|| C级|1个|| D级|1个|| B| 1个|| A类|1个|希望排除取值为A和B的行。已尝试以下代码:第一个月它不工作,新 Dataframe 有0行
wj8zmpe11#
用~
df[(~df.X.isin(['A','B']))] Out[183]: X Y 2 C 1 3 D 1
cygmwpex2#
或者您可以使用来自SQL世界的pd.DataFrame.query,这样做更有意义,更容易阅读。
pd.DataFrame.query
df.query("X not in ['A','B']")
输出:
X Y 2 C 1 3 D 1
btqmn9zl3#
您甚至可以使用lambda尝试相同的逻辑代码:
df[~df.apply(lambda row: row.x in ['A','B'], axis=1)]
3条答案
按热度按时间wj8zmpe11#
用~
cygmwpex2#
或者您可以使用来自SQL世界的
pd.DataFrame.query
,这样做更有意义,更容易阅读。输出:
btqmn9zl3#
您甚至可以使用lambda尝试相同的逻辑
代码: