gpt4 book ai didi

python - Groupby 并为组成员分配唯一 ID

转载 作者:行者123 更新时间:2023-12-04 23:35:13 25 4
gpt4 key购买 nike

我有一些数据帧:

df = pd.DataFrame({'fruit': ['apple', 'apple', 'apple', 'apple', 'orange', 'orange', 'orange', 'orange', 'orange', 'orange'], 
'distance': [10, 0, 20, 40, 20, 50 ,70, 90, 110, 130]})
df

fruit distance
0 apple 10
1 apple 0
2 apple 20
3 apple 40
4 orange 20
5 orange 50
6 orange 70
7 orange 90
8 orange 110
9 orange 130

我想为每个按距离排序的组成员添加一个唯一 ID,如下所示:
    fruit   distance    ID
0 apple 10 apple_2
1 apple 0 apple_1
2 apple 20 apple_3
3 apple 40 apple_4
4 orange 20 orange_1
5 orange 50 orange_2
6 orange 70 orange_3
7 orange 130 orange_6
8 orange 110 orange_5
9 orange 90 orange_4

我对排序/分组/循环的努力尚未成功。

最佳答案

使用 pandas.DataFrame.groupby.rank :

df['ID'] = df['fruit'] + "_" + df.groupby("fruit")["distance"].rank().astype(int).astype(str)
print(df)

输出:
    fruit  distance        ID
0 apple 10 apple_2
1 apple 0 apple_1
2 apple 20 apple_3
3 apple 40 apple_4
4 orange 20 orange_1
5 orange 50 orange_2
6 orange 70 orange_3
7 orange 90 orange_4
8 orange 110 orange_5
9 orange 130 orange_6

关于python - Groupby 并为组成员分配唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59796922/

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