如何從零開始學會自動化Python網頁爬蟲? 這個免費線上培訓,送給想要學會打造自動化Python網頁爬蟲,提升2倍工作效率的人 即使你是完全新手,也能夠學會.... 在這個線上的免費培訓,我將和你分享3個網頁爬蟲的密技: 密技1:沒有經驗如何學會網頁爬蟲?(5種常見的網頁類型爬取技巧) 密技2:遇到反爬蟲機制有哪些解決方案?(不會高難度的機器學習一樣有機會通過) 密技3:如何利用網頁爬蟲提升自己2倍的工作效率?(透過自動化來得到更多自己的時間) 課程老師:古耕全(Mike) Mike是 「Learn Code With Mike」品牌的創辦人,也是 一位網頁工程師,持續分享Python的「入門教學、爬蟲應用、資料分析、網頁開發」教學,幫助想要學習Python程式語言的新手,透過小專案實作的教學方式,讓新手有能力開發出屬於自己的Python應用程式。 馬上報名免費培訓
為了要能夠在海量的數據資料中,透過資料分析的方式來得知其中的價值,進而做出決策或發現趨勢,就需要簡單的統計方法來幫助理解資料內容,才有辦法將資料做最有效的應用。
所以,本文就以
Kaggle網站的星巴克滿意度調查資料集(
Starbucks satisfactory survey.csv
)
為例,分享三個常用的Pandas套件統計方法(Method)來解讀資料內容,包含:
-
Pandas value_counts統計欄位資料方法
-
Pandas groupby群組欄位資料方法
-
Pandas aggregate匯總欄位資料方法
一、Pandas value_counts統計欄位資料方法
在開始本文的實作前,大家可以先開啟
Starbucks satisfactory survey.csv檔案,將每個欄位標題重新命名,方便後續Pandas套件的欄位存取,否則既有的欄位標題為一長串的滿意度問題,不易存取。筆者修改後的結果及說明如下圖:
修改完後,利用Pandas套件的read_csv()方法(Method)來讀取資料集,如下範例
:
import pandas as pd
df = pd.read_csv('Starbucks satisfactory survey.csv')
print(df)
截取部分執行結果
這時候,如果想要統計某一個欄位中,資料內容的個數,就可以使用Pandas套件的value_couts()方法(Method)。
舉例來說,我們想要藉由這個星巴克滿意度調查的資料集中,瞭解各個職業的顧客比例,也就能夠利用Pandas套件的value_counts()方法(Method),來統計
Job(職業)欄位的資料內容個數,
如下範例
:
import pandas as pd
df = pd.read_csv('Starbucks satisfactory survey.csv')
job_count = df.value_counts('Job')
print(job_count)
執行結果
從執行結果就可以知道就業人員(Employed)來星巴克消費的比例較高。
二、Pandas groupby群組欄位資料方法
而第二個最常用來解讀資料的方法,就是利用群組化的方式來概觀(Overview)整體資料,透過不同的群組角度,就能夠更深入的瞭解資料。
在剛剛的執行結果中,可以看到各個職業的資料比例,這時候如果想要群組相同的職業,並且能夠彈性檢視不同群組的所有欄位資料,
就可以使用Pandas套件的groupby()方法(Method),
依據Job(職業)欄位來群組資料,如下範例
:
import pandas as pd
df = pd.read_csv('Starbucks satisfactory survey.csv')
job_group = df.groupby(['Job'])
print(job_group)
執行結果
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x07DE4F88>
將資料進行群組化後,得到了DataFrameGroupBy物件,我們就可以
使用get_group()方法(Method),
指定
Job(職業)欄位中的不同群組,
來檢視其中的所有欄位,如下範例
:
import pandas as pd
df = pd.read_csv('Starbucks satisfactory survey.csv')
job_group = df.groupby(['Job'])
print(job_group.get_group('Employed')) #取得職業欄位中的就業人員群組
截取部分執行結果
以上執行結果,就是就業人員(Employed)群組的所有欄位資料。如果想要檢視學生(Student)群組,將第8行的Employed替換成Student即可,非常的方便。
當然,利用Pandas套件的groupby()方法(Method)群組化資料後,也可以使用value_counts()方法(Method)來統計某一個欄位的資料內容個數。
像是想要知道各個職業群組的
EnjoyType(
星巴客享用方式)欄位資料個數,就可以如下範例的作法
:
import pandas as pd
df = pd.read_csv('Starbucks satisfactory survey.csv')
job_group = df.groupby(['Job'])
print(job_group['EnjoyType'].value_counts())
執行結果
從以上執行結果就能夠知道,就業人員(Employed)群組通常都會Take away(外帶),而學生(Student)群組則是內用(Dine in)較多。
三、Pandas aggregate匯總欄位資料方法
在進行資料分析時,少不了數值資料的計算,而Pandas套件也提供了aggregate()方法(Method),能夠快速匯總與
計算
欄位資料。
以ServiceRate(服務評價)欄位為例,想知道各個職業群組的最低評價(min)、最高評價(max)、平均評價(mean)與中位數(median),就可以利用Pandas套件的aggregate()方法(Method)來匯總,如下範例
:
import pandas as pd
df = pd.read_csv('Starbucks satisfactory survey.csv')
job_group = df.groupby(['Job'])
print(job_group['ServiceRate'].aggregate(['min', 'max', 'mean', 'median']))
執行結果
四、小結
蒐集到所需的資料後,檢視欄位內容與瞭解其中透露的訊息非常重要,而本文分享了最常使用的三個Pandas套件方法(Method),分別為value_counts()、groupby()與aggregate(),並且搭配實際的滿意度調查資料集,來初步解讀資料內容,相信有助於大家在資料分析的過程中,能夠對資料有基本的掌握。
除此之外,大家還有使用什麼Pandas套件方法(Method)或技巧來瞭解資料內容呢?歡迎在底下留言和我分享交流唷~
如果您喜歡我的文章,
請幫我按五下
Like
(使用
Google
或
Facebook
帳號免費註冊),支持我創作教學文章,回饋由
LikeCoin
基金會
出資,完全不會花到錢,感謝大家。