您好,我有一个数据框,其中一列具有重复的值。我想在这些重复值的末尾迭代地添加一个字母,以便使它们唯一,但我想保持原始顺序。所以如果我有:
df['column_name'] = [**John**,George,Christian,Denice,**John**]
我想退回
df_clean = [**John_A**,George,Christian,Denice,**John_B**]
我进行了以下修改,返回的名称已更改,但顺序更改了
def gen(L):
c = Counter(L)
for elt, count in c.items():
if count == 1:
yield elt
else:
for letter in letters[:count]:
yield elt + letter
return(L)
df_clean = pd.DataFrame(gen(df))
df_clean -> [**JohnA**,**JohnB**,George,Christian,Denice]
有没有嵌套循环的聪明方法吗?