クラスが入ったリストを日付でグループ分けして、属性の値の平均を出したいです。
クラスにはnum_1,num_2...のように計算に使うnumが複数あって、どのnumを使うか計算するたびに選択する予定でいます。
また例えば、num_1を選択した場合、全クラスでnum_1の値を使った平均を出したいです。
クラスをグループ化した後、属性を使って平均値を出す方法が分かりません。以下がサンプルコードです。
Python
1from itertools import groupby 2import numpy 3 4class MyClass(): 5 def __init__(self, date, num_1, num_2): 6 self.date = date 7 self.num_1 = num_1 8 self.num_2 = num_2 9 10my_list = [] 11my_list.append(MyClass('2022-4-12', 1, 2)) 12my_list.append(MyClass('2022-4-12', 2, 3)) 13my_list.append(MyClass('2022-4-13', 3, 4)) 14my_list.append(MyClass('2022-4-13', 4, 5)) 15 16 17my_list.sort(key=lambda x: x.date) 18 19grouped_list = {} 20for key, iter in groupby(my_list, key=lambda x: x.date): 21 grouped_list[key] = [] 22 23 for item in iter: 24 grouped_list[key].append(item) 25
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。