作為Python的一個重要模塊,NumPy是針對多維數組執行計算的類庫,用於科學計算和數據分析。NumPy通過提供高效的多維數組對象,以及各種基於數組的操作函數,讓Python具備了類似MATLAB的功能。
一、NumPy基礎操作
1、NumPy數組的創建
import numpy as np
a = np.array([1,2,3,4]) #一維數組
b = np.array([[1, 2], [3, 4]]) #二維數組
c = np.zeros((3, 4)) #全為0的3行4列的矩陣
d = np.ones((2, 2)) #全為1的2行2列矩陣
e = np.empty((2, 3)) #未初始化的2行3列矩陣
2、NumPy數組的屬性
import numpy as np
a = np.array([[1, 2], [3, 4], [5, 6]])
print(a.shape) #(3, 2) 輸出數組的形狀
print(a.ndim) #2 輸出數組的維度數
print(a.size) #6 輸出數組元素的個數
3、NumPy數組的索引和切片
import numpy as np
a = np.array([[1, 2], [3, 4], [5, 6]])
print(a[0, 1]) #2 輸出第0行,第1個元素
print(a[:2, :]) #[[1 2] [3 4]] 輸出前2行所有元素
print(a[:, -1]) #[2 4 6] 輸出最後一列所有元素
二、NumPy高級操作
1、NumPy數組的廣播
廣播功能是指NumPy在算術運算期間處理不同形狀的數組的能力。 對於具有相同形狀的數組,二元運算將「逐個元素」進行。 對於具有不同形狀的數組,NumPy將嘗試通過在缺失維度上廣播數組來使它們具有相同的形狀。
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
b = np.array([1, 0, 1])
print(a+b)
#輸出:
#[[ 2 2 4]
#[ 5 5 7]
#[ 8 8 10]
#[11 11 13]]
2、NumPy數組的排序
import numpy as np
a = np.array([[3, 1],[4, 2]])
print(np.sort(a, axis=0))
#輸出
#[[3 1]
#[4 2]]
print(np.sort(a, axis=1))
#輸出
#[[1 3]
#[2 4]]
三、NumPy的應用領域
1、科學計算
NumPy提供了大量的計算方法,可以快速進行科學計算,例如矩陣運算、線性代數、傅里葉變換等等。NumPy的高效率和易用性讓它成為了眾多數學家、工程師和科學家們進行科學計算的首選工具。
2、數據處理
NumPy也可以輕鬆處理各種數值數據。它提供了許多內置方法來擬合數據、統計和整理數據、生成隨機數據等等。
3、機器學習和人工智能
由於NumPy提供了非常強大的數組操作,在機器學習領域中,大部分的數據集都是使用NumPy數組進行存儲和操作,因此NumPy是人工智能和機器學習的基礎。
四、總結
NumPy是Python科學計算中最重要的庫之一,它提供了大量的數學函數和科學計算模塊,對於進行科學計算、數據處理和機器學習等方面都提供非常強大的支持。在學習和應用Python的過程中,熟悉NumPy的使用方法將對我們的工作和學習都提供很大的幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/207010.html