删除不是.isin('X')的行 [英] Remove rows not .isin('X')
问题描述
很抱歉,刚进入Pandas,这似乎应该是一个非常简单的问题.如何使用isin('X')
删除列表X
中的行?在R中,我会写!which(a %in% b)
.
Sorry just getting into Pandas, this seems like it should be a very straight forward question. How can I use the isin('X')
to remove rows that are in the list X
? In R I would write !which(a %in% b)
.
推荐答案
您有很多选择.整理上面的一些答案和从此接受的答案发布,您可以这样做:
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"]))]
You have many options. Collating some of the answers above and the accepted answer from this post you can do:
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
Note: for option 4 for you'll need to import numpy as np
更新:您也可以为此使用.query
方法.这允许方法链接:
5. df.query("column not in @values")
.
其中values
是您不想包含的值的列表.
Update: You can also use the .query
method for this too. This allows for method chaining:
5. df.query("column not in @values")
.
where values
is a list of the values that you don't want to include.
这篇关于删除不是.isin('X')的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!