[英]Pandas Add an incremental number based on another column
Consider a dataframe with a column like this:考虑具有如下列的 dataframe:
sequence
1
2
3
4
5
1
2
3
1
2
3
4
5
6
7
I wish to create a column when the sequence resets.我希望在序列重置时创建一个列。 The sequence is of variable length.序列是可变长度的。
Such that I'd get something like:这样我会得到类似的东西:
sequence run
1 1
2 1
3 1
4 1
5 1
1 2
2 2
3 2
1 3
2 3
3 3
4 3
5 3
6 3
7 3
Try with diff
then cumsum
尝试diff
然后cumsum
df['run'] = df['sequence'].diff().ne(1).cumsum()
Out[349]:
0 1
1 1
2 1
3 1
4 1
5 2
6 2
7 2
8 3
9 3
10 3
11 3
12 3
13 3
14 3
Name: sequence, dtype: int32
Use:使用:
dataset['sequence'] = dataset.groupby('run').cumcount().add(1)
output example: output 示例:
sequence run
y 1
a 1
g 1
a 2
b 1
a 3
b 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.