python - 对列使用 groupby 后计算重复值的实例
问题描述
我正在处理一个如下所示的数据集:
col1
person1 gene1
person1 gene1
person1 gene2
person1 gene3
person1 gene4
person2 gene1
person2 gene2
person2 gene3
person2 gene4
person3 gene1
person3 gene1
person3 gene1
person3 gene2
person3 gene3
person3 gene3
person3 gene4
对于每个人,我想计算一个基因出现多次的次数。
例如,在我上面介绍的情况下,person1 有gene1 重复,person2 没有基因重复,person3 有gene1 和gene3 重复。因此,我希望我的代码输出 3。
我知道有一个重复的熊猫代码: DataFrame.duplicated(subset=None, keep='first')
但是,尝试将它应用到我的数据框时,我一直被告知我需要应用它?
谢谢
我添加了一个说明以获得更多帮助:
person1 gene1
person1 gene1
person1 gene2
person1 gene2
person2 gene1
person2 gene1
person3 gene1
person3 gene1
person3 gene2
person3 gene2
person3 gene2
解决方案
你可以做size
df.groupby([*df.columns]).size().gt(1).sum()
Out[37]: 3
推荐阅读
- docker - 无法将 docker 镜像推送到 docker hub?
- regex - 被字符序列包围时的转义匹配
- javascript - Angular 和 Ionic 组件中的 clientHeight 和 clientWidth 始终为零
- javascript - 使用新的 proxyUrl 重试失败的页面
- vb.net - 我有问题说 System.Security.Cryptography.CryptographicException: 'Bad Data。' 在 vb.net 中尝试导入 RSA 参数时
- python - 电报机器人 - 现在将机器人添加到组?
- excel - 如何在 EXCEL 中将特定的 CSV 列加载到左侧?
- laravel - 如何使用 laravel 从 vue.js 中的对象道具突出显示类
- java - 主要方法的参数是否符合垃圾回收条件?
- r - 在for循环R中存储具有不同值的列表