gpt4 book ai didi

python - 每次下一行与前一行不同时增加一个值

转载 作者:行者123 更新时间:2023-12-04 08:56:21 26 4
gpt4 key购买 nike

我有这个 df :

name
str_a
str_a
str_a
str_b
str_b
str_c
str_c
在专栏 name我得到了不同的 str ,我想创建另一个名为 number 的列它的第一行是 0,然后每次前一个名称与下一个名称不同时,它都会在前一个数字上加 +1。预期的结果是:
name  number
str_a 0
str_a 0
str_a 0
str_b 1
str_b 1
str_c 2
str_c 2
有没有办法在没有循环的情况下做到这一点?
谢谢 !

最佳答案

让我们试试 shiftcumsum , 通知您可以查看df['name'].factorize()[0] ,但是,如果名称重复但并不总是连续连续factorize不管用

df['name'].ne(df['name'].shift()).cumsum()-1
Out[10]:
0 0
1 0
2 0
3 1
4 1
5 2
6 2
Name: name, dtype: int32

关于python - 每次下一行与前一行不同时增加一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63813855/

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