首页 > 解决方案 > 返回分配有不同值的名称

问题描述

我有一个如下所示的数据框。

name    country gender  
Ada      US      1
Aby      UK      0
Alan     US      0
Eli      US      1
Eddy     US      1
Bing     NW      0
Bing     US      1
Eli      UK      0
Eli      US      0
Alan     US      1
Ada      UK      0

我希望返回一个列表,其中包含分配给不同国家/地区的名称或分配有不同性别的名称。

例如

Eli UK
Eli US

还,

   Eli 1
   Eli 0 

我用了

groupby('name')['gender']

是否有任何转换命令或其他命令可以帮助我返回此类列表?

标签: pythonpandas

解决方案


您可以使用变换:

df[df.groupby('name')['gender'].transform(lambda x: x.nunique()>1)]
df[df.groupby('name')['country'].transform(lambda x: x.nunique()>1)]

推荐阅读