python - Pandas:如果 id 在 pandas 数据框中的特定列中出现至少 3 次,则检查 True/False
问题描述
我有一个带有“ID”列的 csv 文件。我想检查文件中的“ID”列中是否至少出现了 3 次相同的 ID。如果是,则将其标记为True
,如果不是,则将其标记为False
并将结果添加到同一数据框中的新列中。
到目前为止我的代码:
combined_csv['threeIDs'] = (combined_csv['ID'].value_counts() > 2)
上面的代码添加了额外的列(三个ID),但是它是空的并且不包含真/假结果。
有人可以帮忙吗?先感谢您!
解决方案
使用groupby().transform
:
combined_csv['threeIds'] = combined_csv.groupby('ID')['ID'].transform('size')>=3
推荐阅读
- google-cloud-platform - 关于 Goolge Cloud 中的 SQL 实例,是否可以删除备份中的特定数据?
- html - 为什么 svg blur 在 html 或浏览器中不起作用?
- javascript - foreach 语句中的 JavaScript 无限循环
- google-cloud-platform - 如何恢复到之前在 Google Cloud 上正常工作的 VM 实例?
- python - Tensorflow 无法解释存储在 numpy ndarray 中的内容
- mongodb - 如何从 mLAB 导出我的数据库并导入 Atlas?
- linux - 创建脚本以报告系统挂起或唤醒未运行?
- javascript - NodeJS - expressJS - req.body 只得到一个变量
- sql - 在 SQL 中重置计数
- r - 如何有条件地计算组中具有特定值的观察值?