我有一個數據框,其中一列的幾行具有相同的值: unique_code 00 p01_PAR_1 zertara1 p01_PAR_1 atera2 p01_PAR_1 da3 p01_MOT_1 ez4 p01_MOT_1 dakit我想通過在 value 之后添加一個數字索引來重做該列或創建一個具有一個唯一值的新列,因此它會產生如下結果: unique_code 00 p01_PAR_1_1 zertara1 p01_PAR_1_2 atera2 p01_PAR_1_3 da3 p01_MOT_1_1 ez4 p01_MOT_1_2 dakit這不能通過將行索引添加到每一行來完成,因為它們具有不同且不相關的值。
1 回答

holdtom
TA貢獻1805條經驗 獲得超10個贊
使用GroupBy.cumcount然后將其添加為字符串:
df['unique_code'] = (
df['unique_code'] +
'_' +
df.groupby('unique_code').cumcount().add(1).astype(str)
)
unique_code 0
0 p01_PAR_1_1 zertara
1 p01_PAR_1_2 atera
2 p01_PAR_1_3 da
3 p01_MOT_1_1 ez
4 p01_MOT_1_2 dakit
添加回答
舉報
0/150
提交
取消