我有一个表或df(如果pandas有更好的方法),其中包含多个混合字符和字符串的列之一,我需要对它们进行计数并向其添加唯一的混合字符串,这是执行python循环的最佳方法或熊猫有一些语法可以做到吗?示例数据

col0     col1 col2
ENSG0001 E001 ENSG001:E001
ENSG0001 E002 ENSG001:E002
.
.
ENSG001  E028 ENSG001:E028
ENSG002  E001 ENSG002:E001
.
ENSG002  E012 ENSG002:E012


编辑:
需要计算col0中的元素,而不是数字,我需要E001作为计数器,并在col2中连接col0和col1

最佳答案

Series + cumcount创建的astype列添加到string + zfill

df['col3'] = df['col0'] + ':E' +
             df.groupby('col0').cumcount().add(1).astype(str).str.zfill(3)
print (df)
       col0  col1          col2           col3
0  ENSG0001  E001  ENSG001:E001  ENSG0001:E001
1  ENSG0001  E002  ENSG001:E002  ENSG0001:E002
2   ENSG001  E028  ENSG001:E028   ENSG001:E001
3   ENSG002  E001  ENSG002:E001   ENSG002:E001
4   ENSG002  E012  ENSG002:E012   ENSG002:E002

关于python - 使用pandas或python附加唯一的混合字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43522144/

10-12 00:12
查看更多