繁体   English   中英

从另一列创建新列 + pandas dataframe 中的唯一数字索引

[英]Creating a new column from another column + unique numeric index in pandas dataframe

我有一个 dataframe ,其中一列的几行具有相同的值:

   unique_code      0
0   p01_PAR_1  zertara
1   p01_PAR_1    atera
2   p01_PAR_1       da
3   p01_MOT_1       ez
4   p01_MOT_1    dakit

我想通过在 value 之后添加一个数字索引来重做该列或创建一个具有一个唯一值的新列,因此它会产生如下结果:

   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

不能通过将行索引添加到每一行来完成,因为它们具有不同且不相关的值。

使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM