使用pandas或python追加唯一的混合字符串
我有一个表或df(如果pandas有更好的方法),其中一列包含多个混合字符和字符串,我需要计算它们并向其附加一个唯一的混合字符串,什么是执行python循环的最佳方法,或者pandas有一些语法来执行它?示例数据使用pandas或python追加唯一的混合字符串,python,python-2.7,pandas,counter,Python,Python 2.7,Pandas,Counter,我有一个表或df(如果pandas有更好的方法),其中一列包含多个混合字符和字符串,我需要计算它们并向其附加一个唯一的混合字符串,什么是执行python循环的最佳方法,或者pandas有一些语法来执行它?示例数据 col0 col1 col2 ENSG0001 E001 ENSG001:E001 ENSG0001 E002 ENSG001:E002 . . ENSG001 E028 ENSG001:E028 ENSG002 E001 ENSG002:E001 . ENSG002 E
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串联起来,添加到由+创建的列
序列字符串+
您可以添加所需的输出吗?这看起来就像是df['col2']=df['col0']+':'+df['col1']
请查看编辑高兴可以帮助您,祝您愉快!
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