Numpy 的練習#

Numpy 可以做什麼?

  • 多維度陣列(e.g. 影像)運算

  • 應用於資料處理,是各種 library 的基礎,而 Pandas 的部分運算有有使用到 Numpy

  • 資料科學中的基礎

接者我們要先 import 套件

import numpy as np 

np.arange(0,9)
array([0, 1, 2, 3, 4, 5, 6, 7, 8])

Numpy 的基本觀念#

  • multiple dimensional & Shape

  • data pre-processing

多維陣列跟 shape#

  • 宣告 array 時可以使用 ndim 來查看其 array 的維度

  • 可以用 size 查看 array 的長度

  • shape 的 tuple 中傳入的數字相乘結果一定要跟 array 長度一樣才可以用 reshape

而一個陣列可以編排成不同 shape ,而 shape 的觀念可以轉換成是矩形的面積或體積 Link Here alt text

# 宣告一個陣列
array1 = np.arange(0,6)
print('Array1 維度:',array1.ndim)
print('Array1 長度:', array1.size)
print('Array1 Shape:',array1.shape)
# 1-d array
print(array1)
# 2-d array
array2 = array1.copy().reshape((2,3))
print('Array2 維度:',array2.ndim)
print('Array2 長度:', array2.size)
print('Array2 Shape:',array2.shape)

## 此處程式會錯誤,無法轉換 array 
print(array2.reshape(2,2,3))
Array1 維度: 1
Array1 長度: 6
Array1 Shape: (6,)
[0 1 2 3 4 5]
Array2 維度: 2
Array2 長度: 6
Array2 Shape: (2, 3)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[4], line 15
     12 print('Array2 Shape:',array2.shape)
     14 ## 此處程式會錯誤,無法轉換 array 
---> 15 print(array2.reshape(2,2,3))

ValueError: cannot reshape array of size 6 into shape (2,2,3)