我正在尝试创建一个新列,该列根据来自另一列的唯一标识符计算日期更改的次数。
的例子:
Date - ID Code - Number of Changes
01.03.21 B017 0
02.03.21 B017 1
01.03.21 A018 0
03.03.21 A019 0
04.03.21 A019 1
06.03.21 A019 2
07.03.21 A021 0
因此,如果日期更改了一次ID代码B017,那么它将记录1,如果它更改了两次,它将记录2等,并对ID代码列中的每个个人ID做同样的事情。
虽然我知道如何在日期列中创建更改总数的计数,但我还没有找到一种基于ID Code进行计数的简单方法。
如有任何帮助,不胜感激。
假设相同id的相同数据没有重复,那么您可以将groupby
与cumcount
一起使用,如下所示:
df['Number of Changes'] = df.groupby('ID Code').cumcount()
结果:
Date ID Code Number of Changes
0 01.03.21 B017 0
1 02.03.21 B017 1
2 01.03.21 A018 0
3 03.03.21 A019 0
4 04.03.21 A019 1
5 06.03.21 A019 2
6 07.03.21 A021 0