私は3D辞書に次のようなデータを持っています:
movieid, date,customer_id,views
0, (2011,12,22), 0, 22
0, (2011,12,22), 1, 2
0, (2011,12,22), 2, 12
.....
0, (2011,12,22), 7, 2
0, (2011,12,23), 0, 123
..基本的に、データは、各顧客が1日に映画を何回視聴したかを表します(顧客は8人だけです)。
ここで、各顧客が映画を平均して何回視聴したかを計算したいと思います。
だから基本的に
movie_id,customer_id, avg_views
0, 0, 33.2
0, 1 , 22.3
and so on
これを解決するためのPythonの方法は何ですか。
タクンズ
編集:
data = defaultdict(lambda : defaultdict(dict))
date = datetime.datetime(2011,1,22)
data[0][date][0] = 22
print data
defaultdict(<function <lambda> at 0x00000000022F7CF8>,
{0: defaultdict(<type 'dict'>,
{datetime.datetime(2011, 1, 22, 0, 0): {0: 22}}))
顧客が2人、映画が1人、データが2日分しかないとします。
movie_id, date, customer_id,views
0 , 2011,1,22,0,22
0 , 2011,1,22,1,23
0 , 2011,1,23,0,44
注:顧客1は1月23日に映画ID0を視聴しませんでした。
movie_id,customer_id,avg_views
0 , 0 , (22+44)/2
0, 1, (23)/1