在Python中创建SKU编号
我想根据商品编号创建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'][
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()快得多。但谢谢你们两位的快速回复:)