在2个.txt文件中,我有2列,每列有相似的序列,每个文件中的第二列都是计数 文件的一部分,
NNNNCGGTTGNGGTATGG 1
NANNTGTGACCATGAATG 1
NGNNTGAGTCGTACGTTT 1
GTACACTGTCCAACGCTG 1
ACCCTCCCGCGTGCGCTG 1
TGNNNACAGNCANAACCC 8
TGNNNACAGNCANAACCA 3
GNNNGNGGGGGCGNGNGT 1
NNNCGACTAAACNCGTTG 1
TGNNNACAGNCANAACCC 8
我想在每次序列发生时添加计数值。 例如,“NNNNCGGTTGNGGTATGG”每次出现3次计数1,因此该序列读取的总读取计数为3。 我终于希望检索每个序列的读数。 (这不需要希望熊猫)
答案 0 :(得分:1)
Python为此提供了一种数据类型:collections.Counter。
答案 1 :(得分:1)
使用Python的Counter
执行此操作,如下所示,其中data1.txt
和data2.txt
是您的两个输入源:
from collections import Counter
counts = Counter()
for filename in ['data1.txt', 'data2.txt']:
with open(filename) as f_input:
for line in f_input:
data, count = line.split()
counts[data] += int(count)
for data, count in counts.items():
print(data, count)
这将显示以下内容:
NGNNTGAGTCGTACGTTT 1
NNNCGACTAAACNCGTTG 1
TGNNNACAGNCANAACCC 16
GNNNGNGGGGGCGNGNGT 1
TGNNNACAGNCANAACCA 3
NNNNCGGTTGNGGTATGG 1
ACCCTCCCGCGTGCGCTG 1
GTACACTGTCCAACGCTG 1
NANNTGTGACCATGAATG 1