亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

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

問題描述

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

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

問題解答

回答1:

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

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

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

回答2:

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

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ù)器名稱)取出字典中的每一項的值(就是數(shù)據(jù)列表),對其sort加lambda根據(jù)每一項中的某個值進行排序。

標(biāo)簽: Python 編程
主站蜘蛛池模板: 中国黄色片网站 | 亚洲综合婷婷 | 久久久久久国产精品免费免 | 亚洲天堂777 | www亚洲一区| 91香蕉国产 | a级特黄毛片 | 二区视频 | 国产亚洲精品色一区 | 欧美性黑吊xxx| 久久男人 | 国产精品亚洲一区二区三区久久 | 尤物免费网站 | 黄网站免费视频 | 国产成人精品18 | 又粗又大又爽 真人一级毛片 | 国产成人免费网站 | xxxxxhd69日本护士 | 美国特级成人毛片 | 色婷婷久久免费网站 | 国产亚洲一欧美一区二区三区 | 日韩精品视频免费 | 亚洲高清色图 | 国产高清在线精品一区在线 | 国产乱码精品一区二区三区卡 | 1024cao社区榴地址一地址二 | 夜鲁鲁鲁夜夜综合视频欧美 | 一区二区三区不卡免费视频97 | 日韩免费毛片全部不收费 | 成年片免费网址网站 | 黄色一级片美国 | 日本在线看片网站 | 麻豆视频传媒入口 | 国产视频在线观看福利 | 在线高清性色生活片免费观看 | 中文字幕在线播放不卡 | 日韩精品免费一区二区三区 | 夜色网站 | 日本久久久久中文字幕 | 国产三级在线免费 | 99久久精品国产自免费 |