问题描述数据库的字段:uid, year, quarter, score 1 2018 第一季度 4
1 2018 第一季度 3
1 2018 第三季度 3
2 2017 第二季度 5积分是按季度统计的,所以一个季度的积分需要求和。第一层的key是uid,第二层的key是年份,第三层的key是季度,value是积分和s={1:{2018:{1:7,3:3}},2:{2017:{2:5}}}问题出现的环境背景及自己尝试过哪些方法我用json,但是操作起来有难度。用二维数组a=[[1,2018,1,5],[1,2018,1,4],[2,2017,1,7],[2,2018,2,7]]当a[i][0]==a[j][0]&&a[i][1]==a[j][1]&&a[i][2]==a[j][2]ss=sum(a[i][3])操作二维数组相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)你期待的结果是什么?实际看到的错误信息又是什么?形成这种三层嵌套的json,或其他结构严整的格式。
1 回答
GCT1015
TA贡献1827条经验 获得超4个赞
不试一下pandas么?
In [1]: import pandas as pd In [2]: df = pd.DataFrame({'uid':[1,1,1,2], ...: 'year':[2018,2018,2018,2017], ...: 'quarter':['第一季度','第一季度','第三季度','第二季度'], ...: 'score':[4,3,3,5]}) ...: In [3]: df Out[3]: quarter score uid year0 第一季度 4 1 20181 第一季度 3 1 20182 第三季度 3 1 20183 第二季度 5 2 2017
至于要对相同季度,uid和年份汇总分数。可以用groupby
的方法
In [4]: df.groupby(['quarter','uid','year']).sum() Out[4]: quarter uid year score 第一季度 1 2018 7第三季度 1 2018 3第二季度 2 2017 5
- 1 回答
- 0 关注
- 1167 浏览
添加回答
举报
0/150
提交
取消