iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
AI & Data

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

認識強大的Python套件:NumPy

昨天已經學會要如何呼叫套件了,今天就讓我們來學習套件裡的語法運用吧!

首先先呼叫我們的NumPy套件:

import numpy as np

ok~那開始我們今天的學習吧~~~

認識陣列

在NumPy中我們可以透過下面的語法來創建一維、二維、三維甚至到高維度的陣列。或許你會想要問為什麼我們需要陣列的型式?在Python原有的資料儲存型是不是已經有串列了嗎?

沒錯!但是原生的串列在處理內部的資料時其實是非常沒有效率的,假如我想要針對兩個列表內的數字相加,我們沒有辦法直接進行操作。

但是假如你資料形式轉為陣列的格式,就可以輕鬆地將多組數字進行相加。這在往後進行資料處理的時候會是一個非常核心且常用的功能。

因此讓我們來認識一下該如何建立陣列的方法吧!

  • 根據串列建立

np.array([1,2,3]) 根據串列建立一維陣列

np.array([1,2],[3,4]) 根據串列建立二維陣列

其餘以此類推...

  • 直接建立陣列

np.empty(3) 建立資料未指定的一維陣列

np.empty([3,2]) 建立資料未指定的二維陣列 (3乘2的二維陣列)

透過[]來指定陣列內的元素與維度,其餘以此類推...

np.zeros(3) 建立資料都是零的一維陣列

np.ones(3) 建立資料都是一的一維陣列

np,arrange(3) 建立連續資料的一維陣列

  • 陣列的數性

type 查看屬性

dtype 查看陣列中的數據類型

shape 查看陣列的形狀(幾行幾列)

size 查看陣列裡的元素數目

ndim 查看陣列的維度

索引與切片方法

陣列在索引和切片上與串列相同,一樣使用[]來操作。

我們可以這樣寫:

a = np.array({1,2,3,4,5])
a[0] #我們會得到第0個位置的1
a[0] = 2 #我們可以修改第0個位置為2

如果想要切某些資料,一樣:

a = np.array({1,2,3,4,5])
b = a[2:] #切出第2個位置以後的元素

以上是對NumPy的簡單介紹,主要會運用到的核心概念就是陣列,在接下來的Pandas終將會繼續承接NumPy的陣列概念,活用接下來的操作!

如果想要更加深入了解NumPy的話,非常推薦彭彭老師的教學:

https://www.youtube.com/playlist?list=PL-g0fdC5RMboq4yOQmvwYXamPDL4uZYEL

內容清楚明瞭,希望大家可以再更深入認識陣列的各種運用!


參考資料:

https://numpy.org/devdocs/user/quickstart.html

https://blog.happycoding.today/pythonbeginner-ep9/


上一篇
數據分析的好夥伴 - Python基礎:模組載入
下一篇
認識強大的Python套件:Pandas(上)
系列文
跟著文組生學數據分析30

尚未有邦友留言

立即登入留言