【问题标题】:Generate instance in column with duplicates in pandas在 Pandas 中生成具有重复项的列中的实例
【发布时间】:2022-01-26 22:16:24
【问题描述】:

输入:

df_1 = pd.DataFrame({'A': ['a','a','b','a','b','c']})

    A
0   a
1   a
2   b
3   a
4   b
5   c

预期输出:

     A
0   a.1
1   a.2
2   b.1
3   a.3
4   b.2
5   c.1

需要为列中的重复项生成实例

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    GroupBy.cumcount 用于计数器和add 1 并转换为字符串:

    df_1['A'] = df_1['A'] + '.' + df_1.groupby('A').cumcount().add(1).astype(str)
    

    或者使用Series.str.cat:

    df_1['A'] = df_1['A'].str.cat(df_1.groupby('A').cumcount().add(1).astype(str), sep='.')
    

    print (df_1)
         A
    0  a.1
    1  a.2
    2  b.1
    3  a.3
    4  b.2
    5  c.1
    

    【讨论】:

      【解决方案2】:
      df_1['A']=df_1['A']+'.'+(df_1.groupby('A').cumcount()+1).astype(str)
      
      
      
          A
      0  a.1
      1  a.2
      2  b.1
      3  a.3
      4  b.2
      5  c.1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-07
        • 1970-01-01
        • 2012-05-19
        • 2011-05-14
        相关资源
        最近更新 更多