午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python - 如何利用元組中某個(gè)數(shù)據(jù)或字典中某組key,對(duì)一個(gè)序列的數(shù)據(jù)進(jìn)行排序?

瀏覽:185日期:2022-06-29 15:57:33

問(wèn)題描述

假設(shè)通過(guò)對(duì)海量的原始數(shù)據(jù)后分析得到這樣的數(shù)據(jù):

[(id,node,val)(id,node,val)...]就是依次為 用戶id,所在服務(wù)器,數(shù)值 這樣的元組,然后要根據(jù)服務(wù)器分開(kāi),再依靠val大小進(jìn)行排序,然后寫(xiě)入excel中。或者產(chǎn)生[{'id':xxx,'node':xxx,'val':xxx},{'id':xxx,'node':xxx,'val':xxx}...]如果是只有一組kv,可以通過(guò)sorted的方式進(jìn)行排序,但是現(xiàn)在node的名稱是未知的,這些服務(wù)器名每天都可以能會(huì)發(fā)生變化。當(dāng)我獲取到這樣的數(shù)據(jù)后,如何根據(jù)服務(wù)器名稱分開(kāi),再排序數(shù)據(jù)呢?這里主要卡在,node本身的名稱并不是固定的,比如你先創(chuàng)建n個(gè)列表,把相同節(jié)點(diǎn)的數(shù)據(jù)放進(jìn)去,但你不知道要?jiǎng)?chuàng)建多少個(gè)列表。而且之后在將處理后的數(shù)據(jù)寫(xiě)入excel時(shí),勢(shì)必要用到循環(huán)。這樣循環(huán)套循環(huán),而且無(wú)論是數(shù)據(jù)分類后,還是排布后的新數(shù)據(jù)組名稱都不是確定的。即便使用exec命令也無(wú)法滿足需要啊

問(wèn)題解答

回答1:

from collections import defaultdictd = defaultdict(list)data = [(id,node,val),(id,node,val)...]# 按node進(jìn)行分組for x in data: d[x[1]].append(x) # 將分組數(shù)據(jù)依次寫(xiě)入excelfor _, v in d.iteritems(): # 排序 tmp = sorted(v, key=lambda x: x['val'], reverse=True/False) # 寫(xiě)入excel write_to_excel(tmp)

另外其實(shí)可以將數(shù)據(jù)按id, node, val 全部寫(xiě)入csv文件通過(guò)linux的awk, uniq, sort 等命令工具寫(xiě)一個(gè)shell腳本, 也是很快的

還有關(guān)于你的海量數(shù)據(jù)究竟有多大, 在哪個(gè)數(shù)量級(jí),沒(méi)有明確, 如果數(shù)據(jù)量真的很大, 用上面的python代碼內(nèi)存不夠用也是可能的, 這個(gè)需要你自己估算下

回答2:

如果我正確理解了你的需求的話,可以用字典,字典的鍵是node的名稱,字典的值是由項(xiàng)組成的列表:

data = [{'id':xxx,'node':xxx,'val':xxx},{'id':xxx,'node':xxx,'val':xxx}...]result = {}for data_item in data: node_name = data_item['node'] if node_name in result.keys():result[node_name].append(data_item) else:result[node_name] = [data_item]

之后再根據(jù)鍵(服務(wù)器名稱)取出字典中的每一項(xiàng)的值(就是數(shù)據(jù)列表),對(duì)其sort加lambda根據(jù)每一項(xiàng)中的某個(gè)值進(jìn)行排序。

標(biāo)簽: Python 編程
主站蜘蛛池模板: 日韩中文字幕第一页 | 国精品人伦一区二区三区蜜桃 | 日韩女同一区二区三区 | 日韩视频三区 | 国产精品视频www | 亚洲精品无吗 | 国产精品视频免费播放 | 午夜精品一区二区在线观看 | 欧美性猛交ⅹ乱大交3 | 青青草在线观看视频 | 亚洲精品一区二区三区区别 | 国产高清在线免费观看 | 国产精品婷婷 | 欧美一区二区三区观看 | 中文字幕av一区 | 天堂网久久| 午夜探花在线观看 | 四虎四虎 | 日本精品一区二区 | 在线免费看a | 美国做爰xxxⅹ性视频 | 97色综合 | 天堂网成人 | 一二三区av| 国产福利在线播放 | 95国产精品 | 国产成人三级在线观看视频 | 91免费看片 | 日本视频www | 欧美午夜大片 | 毛片大全免费看 | 午夜国产在线 | 网站久久久 | 久久机热| 日韩av资源 | 青春草在线视频观看 | 国产tv| 欧美性网 | 日韩av美女| 在线免费观看中文字幕 | a国产精品 |