【Python 商學院】資料處理必備套件 – Pandas的常用技巧 (1)

前言

在Python當中,當我們要執行資料分析時,我們會使用一個強大的套件,這個套件叫做Pandas,猶如是微軟當中的Excel,但可接受的資料量更大,分析上也有些許的不同,本文將根據一般進行資料分析時的步驟,教大家Pandas最常使用的語法或函數,幫助大家在進行資料讀取時,可以更加順暢。

列表:

  • 技巧1 – 導入套件,讀取資料
  • 技巧2 – 查看部分資料
  • 技巧3 – 資料的大小,筆數
  • 技巧4 – 資料欄位名稱
  • 技巧5 – 資料類型
  • 技巧6 – 各欄是否有遺漏值
  • 技巧7 – 各欄資料的資訊
  • 技巧8 – 刪除特定的資料行
  • 技巧9 – 資料的統計分析
  • 技巧10 – unique與nunique

技巧1 – 導入套件,讀取資料

import pandas as pd
df=pd.read_csv('nba.csv')

首先我們要先導入Pandas套件,並開始讀取資料,由於我們的資料是csv檔,
因此我們採用read_csv這個函數,然而有時候我們的檔案可能是從Excel來的,此時只要改成read_excel(‘nba.xlsx’)即可,因此當讀取檔案發生錯誤時,不妨檢查是否檔案類型跟輸入的函數不同,本文章使用的範例資料來源為Kaggle可以到該網頁下載進行練習。

技巧2 – 查看部分資料

df.head()
df.tail()
df[100:106]

有時候會想顯示部分的資料,來看資料是否有所異常,或是個人的分析只需要採取部分資料進行分析,因此我們可能從資料的前半部,後半部,或是中段採用資料,首先df.head(),這個函數是顯示資料的前五筆,如果你想要前n筆,你只需要輸入df.head(n)即可;df.tail(),剛好相反是顯示資料的後五筆,如果你想要後n筆,你只需要輸入df.tail(n)即可;然而你如果要特定的資料範圍則可用df[100:106],這個函數是顯示資料的第100筆到105筆,可以需求改變數字。

技巧3 – 資料的大小,筆數

df.shape
df.size

df.shape顯示這的檔案有幾筆資料,幾個欄位,以這個檔案而言有11145筆資料,每筆資料有22個欄位,df.size就是把11145*22,也可以理解成共有幾個小格子。

技巧4 – 資料欄位名稱

df.columns

可以看出所有資料欄位的名字

技巧5 – 資料類型

df.dtypes

可以看出每一個欄位的資料型態,是int、float、還是object

技巧6 – 各欄是否有遺漏值

df.isnull().sum()

檢查遺漏值是很重要的,因為當有遺漏值時,資料必須透過清理才能進行分析,因此確認是否有遺漏,是分析前的必要步驟

技巧7 – 各欄資料的資訊

df.info()

前兩個函數分別是遺漏值與資料型態,但是這個函數可以直接取代前兩個函數的功能

技巧8 – 刪除特定的資料行

df.drop('Unnamed: 0',axis=1).head()

我們可以發現Unnamed: 0這欄資料對於我們沒有意義,因此用drop函數刪除他,由於我們刪除的方向是行,因此axis=1,如果你要刪除的資料方向是列,則改成axis=0即可。

技巧9 – 資料的統計分析

df.describe()
df.describe(include='object')

df.describe()是顯示數值類型的基本統計,例如有該欄位的個數,平均數、中位數、標準差、四分位數、最大最小值;但較少人知道非數值類型的統計數值也可以從這個函數取得,只要輸入df.describe(include=’object’)即可,這樣可以得出該類別資料當中的數量(count)、unique該欄有幾種不同的資料、top與freq就是該欄最常出現的資料與出現次數。

技巧10 – unique與nunique

df['country'].unique()
df['country'].nunique()

上述兩行程式碼可以告訴我們在country這個欄位當中所有國家的名字與總共有幾個國家。

結論與後續

本篇文章主要是著重在大家剛拿到資料的時候,如何對這個資料進行了解,因此提供一些函數幫助大家上手,有時候分析資料的前置工作就是必須先完整的了解他,因此雖然這些步驟很枯燥,但這些技巧卻非常實用,希望本篇對於資料了解的十大技巧可以幫助到大家,之後將會出更多Pandas當中的函數介紹應用,希望大家隨時關注,感謝觀閱。


作者:TKH

企業管理學碩士,對 Python、資料科學有滿滿的熱忱,就讀碩士期間開始學習程式語言、機器學習,並於碩士論文使用深度學習 LSTM 進行股價預測。

留言討論區