如何将重复的值复制到新列并保持第一个重复的值为空?



我有一个像这样的数据框架

sku
FAT-001
FAT-001
FAT-001
FAT-002
FAT-002

我想根据重复的sku值创建另一个列。在up-sku列中,第一个重复值必须为空。我想在我的up-sku列中只保留重复的sku。所以我期望的数据框是这样的:

sku        dup-sku
FAT-001      #empty 
FAT-001      FAT-001
FAT-001      FAT-001
FAT-002      #emty  
FAT-002      FAT-002
FAT-003      

dup-sku列中duplicate的第一个值必须为空

这对你的例子有用吗?

df['dup']=df['sku']
df['dup'].loc[~df['sku'].duplicated(keep='first')]=''

给定示例的另一种方法:

df['dup-sku'] = df.where(df==df.shift(),'')
>>> df
'''
sku  dup-sku
0  FAT-001         
1  FAT-001  FAT-001
2  FAT-001  FAT-001
3  FAT-002         
4  FAT-002  FAT-002
5  FAT-003       

相关内容

最新更新