python - 如何用另一列中的变量出现的次数填充一列?
问题描述
我有这个由两个变量 A 和 B 组成的数据集。变量 A 由一个数字列表组成。并非所有数字都不同。我想在每一行中用数字 N 填充变量 B,其中 N 是到目前为止 A 出现的次数。
这是我拥有的数据框:
A B
2101
2101
2102
2102
2102
2103
2104
2104
2104
2104
这是我希望输出的方式:
A B
2101 1
2101 2
2102 1
2102 2
2102 3
2103 1
2104 1
2104 2
2104 3
2104 4
解决方案
你可以用这个简单地做到这一点
df['B']=df.groupby('A').cumcount()+1 # +1 as the index starts with 0
推荐阅读
- powershell - Robocopy /RH 运行结束时间参数
- sas - 创建一个宏变量来存储数据集的所有变量名称
- tsql - 根据发票项目退回发票(INNER JOIN)
- mysql - 将 mysql 查询转换为 CodeIgniter $query->row
- java - 访问 Azure Data Lake 的 clientId、authTokenEndpoint、clientKey 是什么?
- c++ - pthread 与 Qt5 兼容吗?
- node.js - 如何使用 Sequelize 查询包含子类别产品的类别下的所有产品
- c++ - 如何传递私有地图和输入数据
- svn - 在 SVN 中使用旧的重命名分支的名称创建分支时是否存在问题?
- php - Ajax 调用以 Datalist 形式返回错误的日期格式