NumPy是Python中做科學計算必不可少的庫之一,主要用於數組處理。在NumPy中有一種數據結構叫做二維數組,也叫做矩陣,是NumPy中最基礎的數據結構之一。在本文中,我們將詳細講解二維數組的用途以及如何使用它們。
一、創建二維數組
可以通過Numpy中的array函數來創建二維數組。如下所示,創建一個大小為3×4的數組:
import numpy as np
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(a)
輸出結果為:
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
還可以通過NumPy內置的函數來創建一些特殊的二維數組,例如,創建一個全是0的二維數組:
a = np.zeros((3, 4))
print(a)
輸出結果為:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
二、訪問二維數組中的元素
通過下標來訪問二維數組中的元素。例如,要訪問第2行第3列的元素,可以執行如下代碼:
import numpy as np
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(a[1][2])
輸出結果為:
7
三、對二維數組進行切片
和一維數組一樣,二維數組也支持切片操作。例如,獲取第二行的所有元素:
import numpy as np
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(a[1, :])
輸出結果為:
[5 6 7 8]
同樣地,還可以獲取所有列的元素:
import numpy as np
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(a[:, 1])
輸出結果為:
[ 2 6 10]
四、對二維數組進行運算
使用NumPy中的函數,可以對二維數組進行各種基本運算,如加、減、乘等。例如,對相同大小的兩個二維數組進行加法運算:
import numpy as np
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
b = np.array([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]])
print(a + b)
輸出結果為:
[[ 2 3 4 5]
[ 7 8 9 10]
[12 13 14 15]]
五、二維數組的轉置
使用T屬性對二維數組進行轉置操作,即行變為列,列變為行。
import numpy as np
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(a.T)
輸出結果為:
[[ 1 5 9]
[ 2 6 10]
[ 3 7 11]
[ 4 8 12]]
六、二維數組的拼接
使用concatenate函數可以對兩個二維數組進行拼接。如下所示,對兩個大小相同的二維數組進行水平方向的拼接:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.array([[10, 11, 12], [13, 14, 15], [16, 17, 18]])
c = np.concatenate((a, b), axis=1)
print(c)
輸出結果為:
[[ 1 2 3 10 11 12]
[ 4 5 6 13 14 15]
[ 7 8 9 16 17 18]]
同樣地,可以對兩個二維數組進行垂直方向的拼接:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.array([[10, 11, 12], [13, 14, 15], [16, 17, 18]])
c = np.concatenate((a, b), axis=0)
print(c)
輸出結果為:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]
[13 14 15]
[16 17 18]]
七、結論
在本文中,我們講解了如何創建二維數組,並對其中元素進行訪問和切片,還講解了二維數組的基本運算、轉置和拼接。這些都是NumPy中二維數組的重要用途,將這些操作熟練掌握後,你將輕鬆處理二維數組數據。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/270835.html