999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

運用Python及Pandas庫分組統計“最值”記錄方法探討

2021-12-24 08:02:14徐文昭
內蒙古科技與經濟 2021年21期
關鍵詞:程序方法

徐文昭

(四川建筑職業技術學院,四川 德陽 618000)

近些年來,伴隨著網絡技術與云計算技術的蓬勃飛速發展,社會各個領域的數據匯聚到網絡中來,網絡數據時時刻刻呈現爆炸性增長,我們生活在數據的汪洋大海中,大數據時代已然到來。面對紛繁復雜、日益增長的海量數據,能夠從中發現并挖掘有規律、有價值的信息——數據分析處理,顯得越來越重要。Python因其語法簡單精練、擁有巨大且活躍的科學計算社區、強大的通用編程能力、人工智能時代可作為通用語言及可對接其他語言等優勢特性,成為數據分析處理的首要編程語言。作為Python一個重要的庫,Pandas是一款基于numpy、專門為了解決數據分析任務的工具,其間不僅納入了大量的庫和一些標準的數據模型,而且提供了高效操作大型數據集所需的工具,被廣泛應用到許多領域,包括經濟、統計和分析等學術及商業領域。

1 Pandas數據索引及切片概述

Python的Pandas庫里有兩個非常重要的數據結構:Series和DataFrame。其中,前者是一維的數據結構,后者是二維的、表格型的數據結構。我們可以把文件里的數據讀入程序進行處理,處理過程中涉及索引及切片操作。這兩種數據類型的對象都支持索引及切片操作,DataFrame對象的元素可以通過索引和切片來訪問和修改,就像Python內置的容器對象一樣。

從表面上來看,因為Series類對象屬于一維數據結構,它使用索引和切片的方式與NumPy數組索引和切片非常類似,但Series的索引值不只是整數。但對于DataFrame來說,索引和切片的使用方式就與列表大不一樣了。DataFrame結構不僅包含行索引,也包含列索引。其中,行索引是通過index屬性進行獲取的,列索引是通過columns屬性進行獲取的。DataFrame里每列數據都是一個Series對象,這樣,可以使用列索引進行獲取。其中有一種特別的索引——布爾型索引。布爾型索引指的是將一個其元素為布爾型數據的Series對象或DataFrame對象作為模板篩選數據,返回與模板中元素值為True位置對應的元素。

2 問題的提出

在一張Excel表里,存儲著若干行數據,分散記錄了各組員工工作的完成次數(具體如表1所示),現在要求分組統計篩選出各組完成次數最多的員工數據行。

表1 各組員工工作完成的次數

我們很可能不由自主地想到了Excel里的分類匯總以及數據透視功能。“分類匯總”是對同類別的數據進行統計匯總,是將相同類別的數據放在一起,然后進行求和、最大(小)值、計數和求平均值等匯總運算,是數據分析的重要手段,但是,如果借助Excel本身自帶的分類匯總以及數據透視功能來解決本文提出的問題,是無法完成這個任務的,它們只能呈現出各個類別(分組)的統計值,沒法給出統計值所在數據行的完整數據信息。據此,我們探討采用Python的Pandas庫來實現,可有兩種方法。

3 運用程序解決問題方法探討

Python的Pandas庫里有兩個非常重要的數據結構:Series和DataFrame。其中,前者是一維的數據結構,后者是二維的、表格型的數據結構。可以把數據表數據讀入程序以DataFrame類型表示,然后據此可以進行分組聚合以及篩選,最后形成最終結果。筆者調試實驗程序是在Jupyter Notebook上進行的。Jupyter Notebook(交互式筆記本)是一個支持實時代碼、數學方程、可視化和Markdown的Web應用程序,它支持四十多種計算機編程語言,對于數據分析來說,這個Web應用程序最大的優點是可以重現整個數據分析過程,并將說明文字、代碼、圖表、公式和結論都整合在一個文檔里面,用戶可以通過電子郵件(E-mail)、Dropbox、GitHub和Jupyter Notebook View將分析結果分享給其他人。

3.1 方法一:運用循環結構

import pandas as pd # 導入pandas庫

df = pd . read_excel ( ‘G : test1 . xlsx’) # 從存在盤上的Excel表讀取數據到程序,變量df的數據類型為DataFrame

dm = df . groupby (‘組別’) . max ( ) #按照“組別”分組并聚合數據,篩選出各組最大值

dmax = pd . DataFrame ( ) # 新建一個DataFrame變量,以保存符合條件的行數據

# 循環語句,以dm行索引“組別”和列索引“完成次數”與原始數據集df匹配,以篩選出符合條件的數據行

foriindm . index:

m = df [ ( df [‘組別’]==I ) & ( df [‘完成次數’] = = dm [‘完成次數’] [ i ] ) ]

dmax = dmax . append ( m )

dmax # 打印輸出結果數據集

運行該程序,得到各組完成次數最多的員工信息,如表2所示。

表2 各組完成次數最多的員工信息(方法一)

3.2 方法二:運用transform ( )方法

import pandas as pd #導入pandas庫

df = pd . read _ excel (‘ G : test1 . xlsx ’) #從存在盤上的Excel表讀取數據到程序,df的數據類型為DataFrame

dmax = df [df . groupby [‘組別’] . transform. max ( ) [‘完成次數’] = = df[‘完成次數’]]

dmax #打印輸出結果數據集

運行該程序,得到各組完成次數最多的員工信息,如表3所示。

表3 各組完成次數最多的員工信息(方法二)

可以看出,兩種方法運行程序得到的結果數據集是相同的,但相對方法一的程序,方法二里面的程序代碼非常短小精煉。該程序應用到了transform()方法。一般來說,在對數據集進行聚合運算的時候,返回的數據集的形狀(shape)與被分組數據集的形狀是不同的,也就是說,一般返回的數據集的數據行數量小于原來數據集的數據行數量。如果希望保持與原來的數據集形狀相同,那么可以通過transform()方法來實現。該方法的語法格式如下:

transform ( func , * args , ** kwargs )

上述方法中只有一個func參數,表示操作pandas對象的函數,比如,剛用到的max函數。transform()方法返回的結果有兩種:①可以在本組列上進行廣播的標量值(如max);②可以是與分組大小相同的結果數組。通過transform()方法操作分組時,transform()方法會把func函數應用到各個分組中,并且將結果放在適當的位置。如此,當進行篩選最值數據行時,不必使用循環遍歷,通過兩個等行數的數據集比較運算,得到等行數的新數據集,相應位置上的元素被賦予布爾類型的值,通過數據集的布爾索引,就獲得了最終的最值數據行形成的新數據集,這就是我們想要的結果集。

4 結論

數據處理分析是海量數據里尋找發現信息規律的重要手段。Pandas是一款基于numpy、專門為了解決數據分析任務的工具、作為Python的一個重要的庫,其間不僅納入了大量的庫和一些標準的數據模型,而且提供了高效操作大型數據集所需的工具,被廣泛應用到許多領域,包括經濟、統計和分析等學術及商業領域。筆者通過使用Python的Pandas庫的編程方式對結合數據分組統計“最值”記錄問題進行了研究,得出了優化的程序實現方法。通過研究發現,采用編程方式,運用具有專業的數據處理分析特長的Python語言及Pandas庫,能解決看似復雜的數據處理分析問題。我們應該重視一些看起來平凡無奇的方法,如transform()方法,如能被合理地運用,就可以減省大量程序代碼,讓程序更精煉強悍、運行起來效率更高。

猜你喜歡
程序方法
學習方法
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 国产精品不卡永久免费| 日韩精品一区二区三区免费| 欧美v在线| 国产一区二区三区免费| 最新国产在线| 色噜噜狠狠色综合网图区| 成·人免费午夜无码视频在线观看 | 精品国产免费观看一区| 91在线中文| 69免费在线视频| 天天色天天综合网| 波多野结衣久久精品| 久久国产乱子| 日韩成人免费网站| 四虎精品黑人视频| 97视频在线精品国自产拍| 日韩高清在线观看不卡一区二区| 色天堂无毒不卡| 日韩不卡高清视频| 久久中文无码精品| a级毛片网| 九色在线视频导航91| 日本免费一级视频| 孕妇高潮太爽了在线观看免费| 亚洲a级在线观看| 国产性猛交XXXX免费看| 国产精品部在线观看| 精品久久久久久中文字幕女| 国产人人射| 色爽网免费视频| 日本AⅤ精品一区二区三区日| 亚洲床戏一区| 久久精品国产亚洲AV忘忧草18| 国产福利2021最新在线观看| 中文字幕在线免费看| 久久精品午夜视频| 成人免费黄色小视频| 99re精彩视频| 日韩精品资源| 国产精品永久在线| 欧美日韩午夜视频在线观看| 色婷婷在线播放| 日韩精品少妇无码受不了| 中文字幕日韩欧美| 亚洲永久免费网站| 中文字幕无码制服中字| 亚洲精品另类| 久久久精品国产SM调教网站| 欧美色综合网站| av大片在线无码免费| 全午夜免费一级毛片| 欧美第九页| 中文国产成人精品久久| 激情综合网激情综合| 97久久免费视频| 动漫精品中文字幕无码| 亚洲国产天堂在线观看| 亚洲伦理一区二区| 人妻91无码色偷偷色噜噜噜| 国产黄在线观看| 亚洲综合在线最大成人| 国产菊爆视频在线观看| 欧美五月婷婷| 99无码熟妇丰满人妻啪啪| 中文字幕亚洲另类天堂| 手机永久AV在线播放| 中文字幕在线免费看| 亚洲一区国色天香| 欧美a网站| 人人看人人鲁狠狠高清| 99久久精品免费看国产免费软件| 成人伊人色一区二区三区| 亚洲国产综合精品中文第一| P尤物久久99国产综合精品| 中文字幕日韩久久综合影院| 国产制服丝袜无码视频| 国产全黄a一级毛片| 天天综合亚洲| 综1合AV在线播放| 欧美日韩北条麻妃一区二区| 国产幂在线无码精品| 99在线观看免费视频|