我的数据是制表符分隔的,如下所示:
Name Count Sample
Dog .0001 1
Dog .00003 1
Dog .0001 2
Cat .0004 1
Cat .0002 1
Cat .0003 2
Cat .0002 2
在我将变量 unid 定义为与第三列(ex Dog_1)合并的第一列并将 num 定义为该行的 Count 之后,我将每个 num 附加到 unid 下的字典中(使用 Python 2.7),如下所示:
for line in K:
sp = line.split("\t")
name = sp[0]
unid = sp[3][:-2] +"_"+ sp[0]
num = int(Decimal(sp[1]))
if not dict1.has_key(unid):
dict1[unid] = []
dict1[unid].append(num)
我试着用这个来总结:
dictTot = sum(dict1.values())
但我收到此错误消息:
TypeError: unsupported operand type(s) for +: 'int' and 'list'
我怎样才能总结这些值,以便我可以检索Cat_1: .0006, Cat_2: .0005
等?
对不起大家,我知道我的?不是很好。但正如下面 Jacob 所说,“dictTot = sum(sum(value) for value in dict1.values())”对所有总和进行求和,但我正在寻找的是独立地对每个键下的每组值求和所以我可以找出样本 1 中有多少只猫,依此类推。也许 sum 不适合这个?对不起,很明显我不是一个非凡的 Python。