iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
AI & Data

跟著文組生學數據分析系列 第 28

認識強大的Python套件:Pandas(上)

接下來要來讓我們認識超級超級厲害、號稱學得好帶你上天堂的Pandas~~~

首先,呼叫我們這次要使用的套件:

import pandas as pd

完成後,讓我們來一起認識在Pandas裡的資料形式!

Series和DataFrame

在Pandas總共有分為一維的Series和二維的DataFrame資料形式,可以把它想像成Excel的一行和一個表。在這次的例子中,Series利用串列(list)作為基底來建立,DataFrame則是用字典(Dictionary)的容器形式來建立:

data = pd.Series([1,2,3,4,5])

dic = {'color':['red','blue','yellow'],
       'number':[2,4,6,8,10],
       'language':['Chinese','English','Japanese']}
df = pd.DataFrame(dic)

針對Series我們還可以有以下數值運算的操作方法:

  • max():最大值
  • min():最小值
  • sum():總和
  • mean():平均數

另外,當你在創建Series時,它已經預設好index供你查詢,就像是你在Excel表裡面輸入資料時,右邊的數字就是預設的索引值。

當然!如果不想要用預設值,也可以自己定義index,如下:

data = pd.Series([1,2,3,4,5]),index = ['a','b','c','d','e']

想要查看Series的索引和數值也很簡單:

data.index #查看索引
data.value #查看數值

資料檢視

基本上我們在做資料分析時,時常使用的是DataFrame,而我們需要運用Pandas來讀取各種檔案,並以DataFrame的形式進行後續的操作。

比方說要讀取一個csv檔,你可以這樣寫:

df = pd.read_csv('檔案名')

也可以是json或是html的形式,只要改成read_json或是read_html即可。

在我們讀取檔案後,可以先看看資料的前幾行有怎麼樣的內容,這是侯我們會用下面的函數:

  • head() 查看資料前段,()內可以指定行數。
  • tail() 查看資料後段,()內可以指定行數。

此外,我們也會檢視這個檔案整體的資料概況:

  • info() 查看欄位名稱、欄位數、資料型態等。
  • describe() 簡單的描述性統計:最大值、最小值、平均值、中位數等。

檢查完上述的資訊後,還有一個重要的事情是察看這份檔案中是否有缺失值存在,針對缺失值的檢查和處理:

  • isnull() 判斷是否為缺失值
  • fillna() 填充缺失值,()放填充的值
  • dropna() 直接刪除所有的缺失值

最後,當整理完資料後,不要忘記將這份檔案輸出存檔:

df.to_csv('新建檔案名')

明天將繼續深入Pandas的應用,假如我們想要針對整理好的資料進行篩選、修改和整理,要怎麼做呢?


參考資料:

https://blog.techbridge.cc/2020/09/21/python-pandas-zen-tutorial/

https://oranwind.org/python-pandas-ji-chu-jiao-xue/

https://www.learncodewithmike.com/2020/11/python-pandas-dataframe-tutorial.html


上一篇
認識強大的Python套件:NumPy
下一篇
認識強大的Python套件:Pandas(下)
系列文
跟著文組生學數據分析30

尚未有邦友留言

立即登入留言