次のパーツ入力ファイルがあります (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