gpt4 book ai didi

python - 使用 Pandas 和 R 将序列号连接到组中的每一行

转载 作者:行者123 更新时间:2023-12-05 08:49:31 26 4
gpt4 key购买 nike

我有一个如下所示的数据框(下面给出了 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)

你能帮我解决以下问题吗?

  1. 我如何在 R 中执行此操作?

  2. 在 Python 中有什么优雅的方法可以做到这一点?

我希望我的输出如下所示。您可以看到 sequence number 为每个组连接在一起并且未添加

enter image description here

最佳答案

你的解决方案很好,只是我使用 astype 转换为字符串:

df['new_enc_id'] = (df['enc_id'].astype(str) + 
(df.groupby('person_id').cumcount()+1).astype(str))

关于python - 使用 Pandas 和 R 将序列号连接到组中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63938911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com