我有一个数据框,其中一列的几行具有相同的值: 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
提交
取消