次のようなテーブルがあります。
id value
AGA 0.211
AGA 0.433
AGA 0.123
AGH 0.002
DHI 0.063
DHI 0.193
DHI 0.004
KHI 0.543
KHI 0.064
HID 0.234
各 ID には異なる値が存在する場合があります。各 ID の入り口の数、各 ID の値の平均と合計を数えたいので、結果は次のようになります。
id cnt sum av
AGA 3 0.76 0.25
AGH 1 0.002 0.002
DHI 3 0.26 0.008
KHI 2 0.607 0.304
HID 1 0.234 0.234
最初に各エントリをカウントする辞書を作成するのが最善だと思いますが、辞書の値を配列(cnt、sum、avを使用)として持つのが最善かどうかわからず、その後行き詰まりました。次に、Cnt の範囲を使用して計算しましたが、それを行う方法を考えることができませんでした! これは私が得た距離です:
idDict = {}
for line in file:
line = line.rstrip()
f = line.split()
id = f[0]
idDict[id] = idDict.get(id, 0) + 1
しかし、ここで cnt を使用して既に辞書を作成している場合は、各 ID を反復処理して sum と av の計算を行う方法がわかりません:(