<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        分享python數據統計的一些小技巧

        來源:懂視網 責編:小采 時間:2020-11-27 14:28:56
        文檔

        分享python數據統計的一些小技巧

        分享python數據統計的一些小技巧:最近在用python做數據統計,這里總結了一些最近使用時查找和總結的一些小技巧,希望能幫助在做這方面時的一些童鞋。有些技巧是很平常的用法,平時我們沒有注意,但是在特定場景,這些小方法還是能帶來很大的幫助。 1.在字典中將鍵映射到多個值上面 {'b
        推薦度:
        導讀分享python數據統計的一些小技巧:最近在用python做數據統計,這里總結了一些最近使用時查找和總結的一些小技巧,希望能幫助在做這方面時的一些童鞋。有些技巧是很平常的用法,平時我們沒有注意,但是在特定場景,這些小方法還是能帶來很大的幫助。 1.在字典中將鍵映射到多個值上面 {'b

        最近在用python做數據統計,這里總結了一些最近使用時查找和總結的一些小技巧,希望能幫助在做這方面時的一些童鞋。有些技巧是很平常的用法,平時我們沒有注意,但是在特定場景,這些小方法還是能帶來很大的幫助。

        1.在字典中將鍵映射到多個值上面

        {'b': [4, 5, 6], 
        'a': [1, 2, 3]}

        有時候我們在統計相同key值的時候,希望把所有相同key的條目添加到以key為鍵的一個字典中,然后再進行各種操作,這時候我們就可以使用下面的代碼進行操作:

        from collections import defaultdict
        d = defaultdict(list)
        print(d)
        d['a'].append(1)
        d['a'].append(2)
        d['a'].append(3)
        d['b'].append(4)
        d['b'].append(5)
        d['b'].append(6)
        print(d)
        print(d.get("a"))
        print(d.keys())
        print([d.get(i) for i in d])

        這里是使用了collections中的方法,這里面還擁有很多有用的方法,我們有時間在繼續進行深入了解。

        上面代碼運行結果:

        defaultdict(, {})
        defaultdict(, {'b': [4, 5, 6], 'a': [1, 2, 3]})
        [1, 2, 3]
        dict_keys(['b', 'a'])
        [[4, 5, 6], [1, 2, 3]]

        我們將數據填入之后,相當于進行快速分組,然后遍歷每個組就可以統計一些我們需要的數據。

        2.迅速轉換字典鍵值對

        data = {...}
        zip(data.values(), data.keys())

        data是我們的格式數據,使用zip后進行快速鍵值轉換,然后可以使用max,min之類函數進行數據操作。

        3.通過公共鍵對字典進行排序

        from operator import itemgetter
        data = [
         {'name': "bran", "uid": 101},
         {'name': "xisi", "uid": 102},
         {'name': "land", "uid": 103}
        ]
        print(sorted(data, key=itemgetter("name")))
        print(sorted(data, key=itemgetter("uid")))

        數據格式就是data,我們想要對name或者uid進行排序我們就是用代碼中的方法。
        運行結果:

        [{'name': 'bran', 'uid': 101}, {'name': 'land', 'uid': 103}, {'name': 'xisi', 'uid': 102}]
        [{'name': 'bran', 'uid': 101}, {'name': 'xisi', 'uid': 102}, {'name': 'land', 'uid': 103}]

        正如我們期望中的一樣

        4.對列表中的多個字典根據某一字段進行分組

        注意注意,在進行分組前要首先對數據進行排序處理,排序字段根據實際要求來選擇

        即將處理的數據:

        rows = [
         {'name': "bran", "uid": 101, "class": 13},
         {'name': "xisi", "uid": 101, "class": 11},
         {'name': "land", "uid": 103, "class": 10}
        ]

        期望處理結果:

        {
        101: [{'name': 'xisi', 'class': 11, 'uid': 101},{'name': 'bran', 'class': 13, 'uid': 101}],
        103: [{'name': 'land', 'class': 10, 'uid': 103}]
        }

        我們按照uid進行分組,這里只是演示,uid一般也不會重復。

        這個比較復雜一點,我們一部一步來分解

        some = [('a', [1, 2, 3]), ('b', [4, 5, 6])]
        print(dict(some))

        結果:

        {'b': [4, 5, 6], 'a': [1, 2, 3]}

        這里我們的目的是將元組轉換成字典,這個很簡單,應該都能看懂。接著我們來下一步對待處理數據進行排序:

        data_one = sorted(rows, key=itemgetter("class"))
        print(data_one)
        data_two = sorted(rows, key=lambda x: (x["uid"], x["class"]))
        print(data_two)

        這里我們提供兩種排序方式原理相同,只是樣式稍有區別,第一種data_one是直接使用itemgetter,按照我們前面使用過得,直接按照某一字段進行排序,可是有時候我們會有另一種要求:

        先按照某一字段排序,當第一字段重復時,再按照另一字段排序。

        這時我們就用第二種方法,進行多字段值排序。
        排序結果如下:

        [{'name': 'land', 'class': 10, 'uid': 103}, {'name': 'xisi', 'class': 11, 'uid': 101}, {'name': 'bran', 'class': 13, 'uid': 101}]
        [{'name': 'xisi', 'class': 11, 'uid': 101}, {'name': 'bran', 'class': 13, 'uid': 101}, {'name': 'land', 'class': 10, 'uid': 103}]

        結果大家慢慢看一下,還是略有差別。

        接下來就進行最后一步了,將我們剛才講的兩種方式結合起來使用:

        data = dict([(g, list(k)) for g, k in groupby(data_two, key=lambda x: x["uid"])])
        print(data)

        我們對排序好的數據進行分組,然后生成元組列表,最后將其轉換成字典,這里大功告成,我們成功將數據進行分組。

        python數據統計的一些小技巧就分享到這,有需要的可以參考學習。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        分享python數據統計的一些小技巧

        分享python數據統計的一些小技巧:最近在用python做數據統計,這里總結了一些最近使用時查找和總結的一些小技巧,希望能幫助在做這方面時的一些童鞋。有些技巧是很平常的用法,平時我們沒有注意,但是在特定場景,這些小方法還是能帶來很大的幫助。 1.在字典中將鍵映射到多個值上面 {'b
        推薦度:
        標簽: 分享 小技巧 數據
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 99re免费在线视频| 猫咪免费观看人成网站在线| 中文无码成人免费视频在线观看| 又粗又大又猛又爽免费视频| 亚洲精品无码专区在线| 成人毛片18岁女人毛片免费看| 亚洲中文字幕在线无码一区二区| 午夜性色一区二区三区免费不卡视频 | 精品久久久久久亚洲| 国产日韩久久免费影院| 亚洲伊人色欲综合网| 男女午夜24式免费视频| 久久久久亚洲精品无码蜜桃| 最近中文字幕免费2019| 国产精品亚洲午夜一区二区三区| 成人毛片免费观看| 日本激情猛烈在线看免费观看| 亚洲综合伊人久久综合| 久久久国产精品无码免费专区| 亚洲美女自拍视频| 手机在线毛片免费播放 | 国产无遮挡又黄又爽免费网站| 亚洲精品国产精品乱码视色| 67194成手机免费观看| 亚洲mv国产精品mv日本mv| 毛片免费全部免费观看| 国产亚洲精品欧洲在线观看| 国产亚洲情侣一区二区无| 色猫咪免费人成网站在线观看| 国产成人亚洲综合一区| 亚洲精品专区在线观看| 午夜精品免费在线观看 | 一本一道dvd在线观看免费视频| 中国亚洲女人69内射少妇| 久久国产色AV免费看| 亚洲av永久无码一区二区三区| 精品国产香蕉伊思人在线在线亚洲一区二区 | 午夜爽爽爽男女免费观看影院| 亚洲欧美中文日韩视频| 国产AV无码专区亚洲AV漫画| 久久国内免费视频|