在数据框中查找不包含某些值的所有值

时间:2020-08-20 22:43:37

标签: python python-3.x pandas pandas-groupby

假设我有一个带有城市和名称的熊猫数据框。 当然每个城市都会有很多名字,例如:

Chicago   John
Chicago   Mary
Chicago   Jane

我意识到我有1000个不同的城市,但是当我按名字分组并计算与约翰相关的城市数时,我只会看到998。 我如何找到哪些城市没有“约翰”字样?

2 个答案:

答案 0 :(得分:2)

你可以做

df.groupby('cities').filter(lambda x : (x['name']!='John').all())

答案 1 :(得分:1)

尝试groupbyquery

df = df.groupby('city')['names'].value_counts().unstack(fill_value=0)
#here you can replace whatever name you like to check
df.query("John==0").index