before_data = [[100,50,250,300], [101,20,150,150], [101,30,200,150], [102,80,100,200], [102,20,150,200]]
hashed_data = before_data.group_by { |row| row[0] }
#=> {100=>[[100, 50, 250, 300]], 101=>[[101, 20, 150, 150], [101, 30, 200, 150]], 102=>[[102, 80, 100, 200], [102, 20, 150, 200]]}
# 配列の蓄積器に、結果を入れながら、処理を繰り返す
result = hashed_data.each_with_object([]) do | (key, rows), ary |
if rows.length >= 2
puts "rows"
p rows
# 配列の蓄積器に、結果を入れながら、処理を繰り返す
r = rows.each_with_object([]) do | row, ary2 |
if ary2.length == 0
ary2.push *row # 展開
ary2[2] = row[1] * row[2]
else
ary2[1] += row[1]
ary2[2] = ary2[2] + row[1] * row[2]
end
end
r[2] = r[2] / r[1].to_f
ary.push r
else
ary.push rows.flatten
end
end
p result
Ruby で作った。結果
[[100, 50, 250, 300], [101, 50, 180.0, 150], [102, 100, 110.0, 200]]
探検
くだすれPython(超初心者用) その36
■ このスレッドは過去ログ倉庫に格納されています
545デフォルトの名無しさん
2018/02/26(月) 15:55:59.62ID:NcBRNf65■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★2 [蚤の市★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【SFC】『ドラゴンクエストVI 幻の大地』の発売30周年! [湛然★]
- 日本で対中宣戦布告が正しかったという謎の国民意識が醸成され学者や外交官が危機感を表明 [819729701]
- クリスマス、誰の配信見る!!??
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- 【動画】ママチャリまんさん「わたし女ですけど!」シャコシャコシャコシャコ 🚴‍♀❗🚛 [329329848]
- おまえらスキンケアしてる?
- 人殺す人殺す人殺す人殺す
