"assign auto-incremented number for each group" 我应该在这里做什么?



最近我参加了一次面试测试,问题如下:

  1. 创建给定列表的数据帧,并为每个组分配自动递增的编号。lst=[A','B','C','A','A','B','D','E','F','F','Z']例如,如果A出现三次,那么第一个A将获得1秒,获得2,第三个将获得3,B也是如此,第一个B将获得1,第二个将获得2。。。。。,C.等

经过深思熟虑,我得出结论,我们需要添加另一列,显示给定字母表出现的次数,但我无法为其编写代码。

使用pandas.DataFrame创建DataFrame,使用groupby+cumcount+add(1)创建每个组的索引:

lst = ['A', 'B', 'C', 'A','A','B','D','E','F','F','Z']
df = pd.DataFrame({'col': lst})
df['idx'] = df.groupby('col').cumcount().add(1)

输出:

>>> print(df)
col  idx
0    A    1
1    B    1
2    C    1
3    A    2
4    A    3
5    B    2
6    D    1
7    E    1
8    F    1
9    F    2
10   Z    1

相关内容

最新更新