gpt4 book ai didi

python - Pandas 组内的交替值

转载 作者:行者123 更新时间:2023-12-02 07:16:37 27 4
gpt4 key购买 nike

我有以下数据框:

df1
a b
4 0 1
5 0 1
6 0 2
2 0 3
3 1 2
15 1 3
12 1 3
13 1 1
15 3 1
14 3 1
8 3 1
9 3 1
10 3 2

我需要另一列按 a、b 分组,并在 a 的每一组中交替分配值 1,2,始终从 1 开始。它应该是这样的:

    a   b   c                               
4 0 1 1
5 0 1 1
6 0 2 2
2 0 3 1
3 1 2 1
15 1 3 2
12 1 3 2
13 1 1 1
15 3 1 1
14 3 1 1
8 3 1 1
9 3 1 1
10 3 2 2

最佳答案

使用transform + factorize

df.groupby('a').b.transform(lambda x : (x.factorize()[0]+1)//2+1)
4 1
5 1
6 2
2 1
3 2
15 2
12 2
13 2
15 1
14 1
8 1
9 1
Name: b, dtype: int64

关于python - Pandas 组内的交替值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61489359/

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