簡體   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