我有一个包含很多行和五列的数据框,如下所示:
mydataframe:
customer_id read_Key read_date Index Value
X52 333 2019-02-19 12:23:25 1 0.0
X52 333 2019-02-19 12:23:25 2 89.0
... ... ... ... ...
X52 333 2019-02-19 12:23:25 32 0.0
X52 455 2019-02-20 10:23:25 1 2.0
X52 455 2019-02-20 10:23:25 2 19.0
... ... ... ... ...
X52 455 2019-02-20 10:23:25 32 4.0
X62 113 2019-03-10 11:03:25 1 0.0
X62 113 2019-03-10 11:03:25 2 89.0
... ... ... ... ...
X62 113 2019-03-10 11:03:25 32 0.0
X62 200 2019-03-11 10:23:25 1 12.0
X62 200 2019-03-11 10:23:25 2 39.0
... ... ... ... ...
X62 200 2019-03-11 10:23:25 32 41.0
我想将此数据框转换为嵌套字典,以便唯一的 customer_ids 成为主字典的键,唯一的 read_keys 成为第二个字典(在第一个字典内)的键,其中包含相应的索引和值作为数据框。我已经尝试了下面的代码,但它没有提供我需要的:
dict = {k: mydataframe.groupby(['read_Key']).apply(lambda x: list(map(list,zip(x['read_date'],x['Index'],x['Value'])))).to_dict()
for k, f in mydataframe.groupby('customer_id')}
然后,我想计算具有一年中同一周日期的数据框的平均值。例如,read_dates 2019-02-19 和 2019-02-20 记录在一年的第 8 周,所以我想获得它们具有相同索引的值的平均值。