我有以下部分输入文件(拥有超过500行):如何获得平均为特定列表元素
L1, a, b, 10, 20, pass,
L1, c, d, 11, 21, pass,
L1, e, f, 12, 22, pass,
L1, a, b, 13, 23, pass,
L1, e, f, 14, 34, pass,
我想获得的平均重复的,也就是输出如下:
(其中为L1,A,b,11.5 =(10 + 13)/ 2,21.5 =(20 + 23)/ 2)
L1, a, b, 11.5, 21.5
L1, c, d, 11, 21
L1, e, f, 13, 28
我当前初学者Python代码是如下 - 仍在努力调整它更好
import csv
from collections import defaultdict
import numpy as np
dd = defaultdict(list)
with open("mean.csv") as input_file:
for row in csv.reader(input_file):
dd[tuple(row[:3])].append(float(row[3]))
dd[tuple(row[:3])].append(float(row[4]))
for k, v, m in dd.iteritems():
if len(v) > 1:
print (' '.join(k), np.mean(v), np.mean(m))
我得到的错误是:
Traceback (most recent call last):
File "average.py", line 11, in <module>
for k, v, m in dd.iteritems():
ValueError: need more than 2 values to unpack
你想使用代码片段mtrw张贴到我的答案 - 并保持'为k,v in ...'因为它... – 2012-07-25 16:00:47