python - 返回分配有不同值的名称
问题描述
我有一个如下所示的数据框。
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']
是否有任何转换命令或其他命令可以帮助我返回此类列表?
解决方案
您可以使用变换:
df[df.groupby('name')['gender'].transform(lambda x: x.nunique()>1)]
df[df.groupby('name')['country'].transform(lambda x: x.nunique()>1)]
推荐阅读
- javascript - 递归函数求解
- python - 如何构建一个简单的分词器
- r - 通过SQL从数据库导入数据时如何让注册商标标志在R中正确显示
- c# - Type.GetType(“{namespace.classname}{assemblyname}”) 在 C# 中不起作用
- r - 使用 If 函数,如何将数据框中的文本字符串更改为另一个字符串?
- batch-file - 从 .bat 脚本模拟 CMD 提示的最佳方法
- windows - 动态更改文件扩展名外观
- windows - 为什么我的 IP 随机开始默认为 IPv6(以及我的私有 IP 更改)?
- java - 重新运行时将替换保存到文件的输入
- typescript - 打字稿 - 类型“未定义”不可分配给类型“字符串 | 号码 | 象征'