我有一个字典,用于将ID映射到日期时间对象和该给定ID的数字分数。我想要做的是创建一个新的字典,其中键值对是月份和该月份所有对象的平均分数。构建这本字典最简单的方法是什么?谢谢!
这就是字典的样子......
{878947806442119168: [datetime.datetime(2017, 6, 25, 12, 7, 41), 0.5411],
878946025662296064: [datetime.datetime(2017, 6, 25, 12, 0, 37), -0.522],
878725385235701761: [datetime.datetime(2017, 6, 24, 21, 23, 52), 0.6588],
878717095701336064: [datetime.datetime(2017, 6, 24, 20, 50, 56), -0.5992],
878715504063643648: [datetime.datetime(2017, 6, 24, 20, 44, 36), 0.3724],
878711517537083392: [datetime.datetime(2017, 6, 24, 20, 28, 46), -0.3595] ...
}
我想要的是什么 {月:当月的平均分数}
答案 0 :(得分:2)
我认为您首先需要DataFrame.from_dict
然后groupby
需要dt.month
或strftime
,最后to_dict
:
df = pd.DataFrame.from_dict(d, orient='index')
d = df.groupby(df[0].dt.month)[1].mean().to_dict()
print (d)
{6: 0.015266666666666687}
或者:
d = df.groupby(df[0].dt.strftime('%b'))[1].mean().to_dict()
print (d)
{'Jun': 0.015266666666666687}
d = df.groupby(df[0].dt.strftime('%b-%Y'))[1].mean().to_dict()
print (d)
{'Jun-2017': 0.015266666666666687}
答案 1 :(得分:0)
不使用"react-test-renderer": "^16.0.0-alpha.12"
,您也可以使用pandas
defaultdict