日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python应用实战-Clumper | dplyr式的Python数据操作包

發布時間:2023/12/2 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python应用实战-Clumper | dplyr式的Python数据操作包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Clumper可以用來處理嵌套樣式的json數據結構。

安裝

!pip3?install?clumper

為了展示Clumper如何工作,我準備了pokemon.json, 由列表組成(該列表由多個字典組成),下面是pokemon.json部分內容

import?jsonwith?open('pokemon.json')?as?jsonf:pokemon?=?json.loads(jsonf.read())pokemon[:2] [{'name': 'Bulbasaur','type': ['Grass', 'Poison'],'total': 318,'hp': 45,'attack': 49},{'name': 'Ivysaur','type': ['Grass', 'Poison'],'total': 405,'hp': 60,'attack': 62}]

我們準備的pokemon.json列表中大概有800個字典,數量級剛剛好,不會因為太大導致電腦無法運行數據分析,也不會太小導致手動操作性價比更高。

基本操作

from?clumper?import?Clumperlist_of_dicts?=?[{'a':?7,?'b':?2},{'a':?2,?'b':?4},{'a':?3,?'b':?6} ](Clumper(list_of_dicts).mutate(c=lambda?d:?d['a']+d['b']).sort(lambda?d:?d['c']).collect() ) [{'a': 2, 'b': 4, 'c': 6}, {'a': 7, 'b': 2, 'c': 9}, {'a': 3, 'b': 6, 'c': 9}]

代碼解析

Step1

首先使用mutate方法,該方法可以在每條記錄中生成新變量。

first-mutate.png)

結算結果仍為Clumper類

Step2

接下來對mutate之后的數據進行排序

then-sort.png)

得到的結果仍為Clumper類。

從上面的小代碼案例中,可以看到整套流程像是一個流水線車間,每一行就是一個生成環節,生產環節之間使用.連接起來。

from?clumper?import?Clumper(Clumper(pokemon).keep(lambda?d:?len(d['type'])==1)??#保留type長度為1的字典.mutate(type=lambda?d:?d['type'][0],?#type值從列表變為字符串ratio=lambda?d:?d['attack']/d['hp'])?#新建ratio.select('name',?'type',?'ratio')???#字典最后只保留name,?type,?ratio三個字段.sort(lambda?d:?d['ratio'],?reverse=True)?#按照ratio降序排列.head(5)?#只保留前5個.collect()?#轉成列表顯示 ) [{'name': 'Diglett', 'type': 'Ground', 'ratio': 5.5},{'name': 'DeoxysAttack Forme', 'type': 'Psychic', 'ratio': 3.6},{'name': 'Krabby', 'type': 'Water', 'ratio': 3.5},{'name': 'DeoxysNormal Forme', 'type': 'Psychic', 'ratio': 3.0},{'name': 'BanetteMega Banette', 'type': 'Ghost', 'ratio': 2.578125}]

總結

以上是生活随笔為你收集整理的Python应用实战-Clumper | dplyr式的Python数据操作包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。