在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java  Python/ 如何用python形成嵌套式的json數(shù)據(jù)?

如何用python形成嵌套式的json數(shù)據(jù)?

問(wèn)題描述

數(shù)據(jù)庫(kù)的字段:

uid,  year,   quarter,   score
 1    2018    第一季度     4
 1    2018    第一季度     3
 1    2018    第三季度     3
 2    2017    第二季度     5

積分是按季度統(tǒng)計(jì)的,所以一個(gè)季度的積分需要求和。
第一層的key是uid,第二層的key是年份,第三層的key是季度,value是積分和

s={1:{2018:{1:7,3:3}},2:{2017:{2:5}}}

問(wèn)題出現(xiàn)的環(huán)境背景及自己嘗試過(guò)哪些方法

我用json,但是操作起來(lái)有難度。

用二維數(shù)組
a=[[1,2018,1,5],[1,2018,1,4],[2,2017,1,7],[2,2018,2,7]]

當(dāng)a[i][0]==a[j][0]&&a[i][1]==a[j][1]&&a[i][2]==a[j][2]

ss=sum(a[i][3])


操作二維數(shù)組

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

形成這種三層嵌套的json,或其他結(jié)構(gòu)嚴(yán)整的格式。

回答
編輯回答
不二心

不試一下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  year
0    第一季度      4    1  2018
1    第一季度      3    1  2018
2    第三季度      3    1  2018
3    第二季度      5    2  2017

至于要對(duì)相同季度,uid和年份匯總分?jǐn)?shù)??梢杂?code>groupby的方法

In [4]: df.groupby(['quarter','uid','year']).sum()
Out[4]:
                  
quarter   uid  year  score
第一季度    1   2018      7
第三季度    1   2018      3
第二季度    2   2017      5
2018年5月15日 03:29