很抱歉没有明确问题标题,所以我将在数据集上进行描述
Id Item
1 North
1 South
1 West
1 Central
2 North
2 South
2 East
3 North
3 East
我想过滤,例如never West
Id Item
2 North
2 South
2 East
3 North
3 East
这只是来自Id
的{{1}}的显示数据。
答案 0 :(得分:1)
使用:
df = df[~df['Id'].isin(df.loc[df['Item'] == 'West', 'Id'])]
print (df)
Id Item
4 2 North
5 2 South
6 2 East
7 3 North
8 3 East
<强>详情:
print (df.loc[df['Item'] == 'West', 'Id'])
2 1
Name: Id, dtype: int64
print (~df['Id'].isin(df.loc[df['Item'] == 'West', 'Id']))
0 False
1 False
2 False
3 False
4 True
5 True
6 True
7 True
8 True
Name: Id, dtype: bool
<强>解释强>:
West
并获取Id
值isin
再次过滤,并按~
答案 1 :(得分:0)
如果您的数据框名为df
,则可以根据Item
不等于West
进行过滤:
df[df['Item'] != 'West']