gpt4 book ai didi

python - Pandas - 使用groupby为组中的所有记录分配最小ID

转载 作者:行者123 更新时间:2023-11-30 22:10:10 25 4
gpt4 key购买 nike

我有以下 Pandas 数据框:

ID Name   Mascot
0 Team 1 Cat
1 Team 2 Rabbit
2 Team 1 Cat
3 Team 3 Rat

我想将每个组中的最小 ID 分配给所有记录,以便能够将重复记录与重复数据删除后保留的 ID 相关联。因此,我的预期输出是:

ID Name   Mascot Parent_ID
0 Team 1 Cat 0
1 Team 2 Rabbit 1
2 Team 1 Cat 0
3 Team 3 Rat 3

我已尝试以下操作,但这是为每个组分配新的 ID。

df['Parent_ID'] = pd.factorize(list(zip(df['Name'], df['Mascot'])))[0] + 1

输出为:

ID Name   Mascot Parent_ID
0 Team 1 Cat 1
1 Team 2 Rabbit 2
2 Team 1 Cat 1
3 Team 3 Rat 3

最佳答案

IIUC,使用transform广播

df['Parent_ID'] = df.groupby('Name').ID.transform('min')

ID Name Mascot Parent_ID
0 0 Team 1 Cat 0
1 1 Team 2 Rabbit 1
2 2 Team 1 Cat 0
3 3 Team 3 Rat 3

关于python - Pandas - 使用groupby为组中的所有记录分配最小ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51734215/

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