iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
AI & Data

從資料庫到資料分析視覺化系列 第 15

{DAY 15} Pandas 學習筆記 part.1

  • 分享至 

  • xImage
  •  

前言

Pandas 是強大的資料科學分析工具,結合前幾天所學的NumPy特性

提供方便讀取及使用的資料結構

來處理關聯式數據和有標籤的數據

首先簡介Pandas使用的常見資料結構

  1. Series: 建立索引的一維陣列
  2. Dataframe: 處理結構化的資料,有列索引與欄標籤的二維資料集

今天看的課程是Coursera上的 Introduction to Data Science in Python

Coursera | Online Courses & Credentials From Top Educators. Join for Free | Coursera

下面的練習是利用上課教的還有以前在學校教過的

重新整理有關Series的筆記

Series

為了使用pandas首先要用import引入

import pandas as pd

接下來創建一個Series

可以先創建一個listy再用pd.Series( )

singers = ["Justin", "Tom", "Lewis", "Kelly"]
pd.Series(singers)
'''
0    Justin
1       Tom
2     Lewis
3     Kelly
dtype: object
'''

可以看到左邊是由0到3組成的索引值(index)

右邊則是每個索引值對應到的值

接下來看缺失值

singers = ["Justin", None , "Lewis", "Kelly"]
pd.Series(singers)
'''
0    Kelly
1     None
2    Jason
dtype: object
'''

pandas會將缺失值儲存為None, 型態為“object"

若是要處理數字字串(integers, numbers, float)的缺失值

numbers =[3,4,None]
pd.Series(numbers)
'''
0    3.0
1    4.0
2    NaN
dtype: float64
'''

pandas會自動將缺失值變成型態為浮點數的NaN(not a number)

可以看到從上面的int64變成float64,也從原本的 None變成 NaN

因為pandas內建將 NaN視為浮點數

雖然 None跟 NaN都是在處理缺失值

但是兩者在pandas的系統內並不相同

但物件型態一個是object一個是float64的型態

如果使用dictionary匯入Series

music_chart = {"Ed Sheeran":"Bad habits", "Justin Biber": "STAY","Cardie B":"Rumors","Anne-Maire":"Kiss My"}
m_c = pd.Series(music_chart)
m_c
'''
Ed Sheeran      Bad habits
Justin Biber          STAY
Cardie B            Rumors
Anne-Maire         Kiss My
dtype: object
'''

keys會自動變成 Series 的index

除了原先的default索引值外,也可以自己指定

m_c = pd.Series(["Bad habits","STAY","Rumors","Kiss My"], index = ["Ed Sheeran","Justin Biber","Cardie B","Anne-Maire" ])
m_c
'''
Ed Sheeran      Bad habits
Justin Biber          STAY
Cardie B            Rumors
Anne-Maire         Kiss My
dtype: object
'''

假設現在輸入的index無法和data一一對應

music_chart = {"Ed Sheeran":"Bad habits", "Justin Biber": "STAY","Cardie B":"Rumors"}
m_c = pd.Series(music_chart, index =["Maroon5","Cardie B","Ed Sheeran"]) 
m_c
'''
Maroon5              NaN
Cardie B          Rumors
Ed Sheeran    Bad habits
dtype: object
'''

pandas會遵照指定的index,忽略 dictionary裡 index指定沒有提到的key,而指定的index值如果沒有對應的value,則是會自動補上NaN或是 None

小結

今天的pandas基礎練習學會了操作Series

明天會進入到更多的操作方式

建立起處理pandas的觀念


上一篇
{DAY 14} NumPy 學習筆記(下)
下一篇
{DAY 16} Pandas 學習筆記 part.2
系列文
從資料庫到資料分析視覺化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言