python - 删除行不是 .isin ('X' )

标签 python filtering pandas

很抱歉刚刚进入 Pandas,这似乎是一个非常直截了当的问题。如何使用 isin('X') 删除 列表 X 中的行?在 R 中我会写 !which(a %in% b).

最佳答案

你有很多选择。整理上面的一些答案和accepted answer from this post你可以这样做:
1. df[-df["column"].isin(["value"])]
2. df[~df["column"].isin(["value"])]
3. df[df["column"].isin(["value"]) == False]
4. df[np.logical_not(df["column"].isin(["value"]))]

注意:对于选项 4,您需要 import numpy as np

更新:您也可以为此使用 .query 方法。这允许 method chaining :
5. df.query("列不在@values中").
其中 values 是您不想包含的值的列表。

关于python - 删除行不是 .isin ('X' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14057007/

相关文章:

python - Django:没有这样的表:与 postgres 一起使用时的 django_session

Python Pandas df.ix 未按预期执行

python - 合并系列和数据框

python - 图像在 Pygame 中不会移动

python - 如何将元组解析为多个属性?

循环内的 Javascript 动态连续 ID 与它在 html 中出现的次数有关

node.js - mongodb/mongoose findMany - 查找 ID 列在数组中的所有文档

java - 如何在 Java 中实现谓词,用于根据任意数量的规则交叉检查字符串?

python - 如何用 pandas 列制作出现矩阵

python - 添加一列,该列是 pandas 中回溯 x 行的最大值