在Python中创建SKU编号

在Python中创建SKU编号,python,pandas,datatables,Python,Pandas,Datatables,我想根据商品编号创建SKU编号,如下所示: article_nr SKUid 0 101 1 1 101 2 2 101 3 3 152 1 4 152 2 5 160 1 6 170 1 有人能帮我解决我的问题吗 我的想法是创造一些东西,比如: for i in range(len(df01)): while True: if df01['article_nr'][

我想根据商品编号创建SKU编号,如下所示:

article_nr  SKUid
0   101      1
1   101      2
2   101      3
3   152      1
4   152      2
5   160      1
6   170      1
有人能帮我解决我的问题吗

我的想法是创造一些东西,比如:

for i in range(len(df01)): 
    while True: 
        if df01['article_nr'][i+1] == df01['article_nr'][i]:
            df01['SKUid'][i+1] = range(1, len(df01) + 1)
        else: 
            df01['SKUid'][i] = 1
有没有一种聪明有效的方法

提前谢谢大家

您可以将
.groupby()
.transform()
一起使用:

印刷品:

   article_nr  SKUid
0         101      1
1         101      2
2         101      3
3         152      1
4         152      2
5         160      1
6         170      1
您可以将
.groupby()
.transform()
一起使用:

印刷品:

   article_nr  SKUid
0         101      1
1         101      2
2         101      3
3         152      1
4         152      2
5         160      1
6         170      1
您可以为此使用
cumcount()

df = pd.DataFrame({'article_nr':[101, 101, 101, 152, 152, 160, 170]})
df['SKU'] = df.groupby(['article_nr']).cumcount()+1
您可以为此使用
cumcount()

df = pd.DataFrame({'article_nr':[101, 101, 101, 152, 152, 160, 170]})
df['SKU'] = df.groupby(['article_nr']).cumcount()+1

Thaaanks!比.transform()快得多。但谢谢你们两位的快速回复:)Thaaans!比.transform()快得多。但谢谢你们两位的快速回复:)