Python中相当于R的seq_len函数是什么?

3

我正在尝试在我的数据框中进行分组索引

例如,在这个数据框中

Col1
A
A
A
B
B
C
D
D
D

我希望输出如下所示。
Col1    idx
A   1
A   2
A   3
B   1
B   2
C   1
D   1
D   2
D   3

在R中,我可以只使用data.table,通过以下方式完成:df[, idx:=seq_len(.N), by=Col1]。 我在寻找Python相应的方法时遇到了困难。 到目前为止,我知道可以在numpy包中使用linspacearrange函数,但我不太确定如何按组执行此操作。 非常感谢您提前的帮助!
1个回答

3
使用cumcount函数
In [289]: df['idx'] = df.groupby('Col1').cumcount().add(1)

In [290]: df
Out[290]:
  Col1  idx
0    A    1
1    A    2
2    A    3
3    B    1
4    B    2
5    C    1
6    D    1
7    D    2
8    D    3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接