python - 使用 Pandas 和 R 将序列号连接到组中的每一行
问题描述
我有一个如下所示的数据框(R 和 Python 数据框代码都在下面给出)
df = pd.DataFrame({'person_id': [11,11,11,12,12,12,12,13,13,13,13,13,14,14,14]})
df['enc_id'] = [1134567890,1134567890,1134567890,3456789210,3456789210,3456789210,3456789210,5643271890,5643271890,5643271890,5643271890,5643271890,2468013579,2468013579,2468013579]
person_id <- c(11,11,11,12,12,12,12,13,13,13,13,13,14,14,14)
enc_id <- c(1134567890,1134567890,1134567890,3456789210,3456789210,3456789210,3456789210,5643271890,5643271890,5643271890,5643271890,5643271890,2468013579,2468013579,2468013579)
df <- data.frame(person_id, enc_id)
我想enc_id
为每个人连接一个序列号
我在Python中写了类似下面的东西
df['new_enc_id'] = df['enc_id'].map(str) + (df.groupby('person_id').cumcount()+1).map(str)
你能帮我解决以下问题吗?
我怎样才能在 R 中做到这一点?
在 Python 中有什么优雅的方法可以做到这一点?
我希望我的输出如下所示。您可以看到sequence number
每个组和not added
.
解决方案
您的解决方案很好,只有我astype
用于转换为字符串:
df['new_enc_id'] = (df['enc_id'].astype(str) +
(df.groupby('person_id').cumcount()+1).astype(str))
推荐阅读
- git - 如何保存我的项目所依赖的开源库的修改?
- java - 如何使用 AmazonSQSExtendedClient 从 SQSEvent 接收数据
- html - 在移动视图的下一行中滑动中心 div
- javascript - 从 Doc 函数中删除空对象
- mysql - 1036 表 'C:\xampp\tmp\#sql5598_2b_0.MAI' 是只读的
- sql - 按日期访问累计总数
- c - 进程完成时如何使Windows Pipe添加EOF
- oauth-2.0 - FeathersJS:如何调试 OAuth2 身份验证过程?
- excel - 如何从 txt 文件中的每一行中取出第一个单词并使用 PowerShell 将它们放入 Excel 工作表中?
- python - 多次上传到 TestPyPI 的问题