一、創建二維數組
在Python中,我們可以通過列表和numpy庫來創建二維數組。
1、使用列表
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix)
輸出結果如下:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
列表中的每個元素都是一個列表,表示矩陣的每一行。可以通過下標訪問二維數組的元素,如matrix[1][2]表示第二行第三個元素。
2、使用numpy
使用numpy可以更方便地創建和操作二維數組。
import numpy as np
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix)
輸出結果如下:
[[1 2 3]
[4 5 6]
[7 8 9]]
創建numpy數組的方式和列表類似,但需要使用numpy的array函數。numpy數組可以進行矩陣運算,如乘法、轉置等操作。
二、遍歷二維數組
1、常規方法
可以使用兩層循環遍歷二維數組中的每個元素。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in range(len(matrix)):
for j in range(len(matrix[i])):
print(matrix[i][j], end=" ")
print()
輸出結果如下:
1 2 3
4 5 6
7 8 9
2、使用numpy的nditer函數
numpy的nditer函數可以更簡潔地遍歷二維數組。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
for i in np.nditer(matrix):
print(i, end=" ")
輸出結果如下:
1 2 3 4 5 6 7 8 9
三、切片操作
切片操作是指通過下標範圍訪問二維數組中的一塊區域。
1、切片操作
切片操作可以使用冒號分隔的下標範圍表示。如matrix[1:3, 1:3]表示訪問第二行到第三行、第二列到第三列之間的元素。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = matrix[1:3, 1:3]
print(submatrix)
輸出結果如下:
[[5 6]
[8 9]]
2、修改切片
修改切片中的元素可以直接對切片進行賦值操作。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = matrix[1:3, 1:3]
submatrix[1][1] = 0
print(matrix)
輸出結果如下:
[[1 2 3]
[4 5 0]
[7 8 9]]
四、元素操作
可以對二維數組中的每個元素進行操作,如求和、取最大值等。
1、求和
可以使用numpy的sum函數對二維數組中的元素進行求和。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.sum(matrix))
輸出結果為:
45
2、取最大值和最小值
可以使用numpy的max和min函數分別取二維數組中的最大值和最小值。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.max(matrix))
print(np.min(matrix))
輸出結果為:
9
1
3、計算平均值和標準差
可以使用numpy的mean和std函數分別計算二維數組中的平均值和標準差。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.mean(matrix))
print(np.std(matrix))
輸出結果為:
5.0
2.581988897471611
五、轉置和翻轉
可以使用numpy的transpose和flip函數對二維數組進行轉置和翻轉操作。
1、轉置
可以使用transpose函數進行轉置操作。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.transpose(matrix))
輸出結果為:
[[1 4 7]
[2 5 8]
[3 6 9]]
2、翻轉
可以使用flip函數進行翻轉操作。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.flip(matrix))
輸出結果為:
[[9 8 7]
[6 5 4]
[3 2 1]]
六、刪除行和列
可以使用numpy的delete函數對二維數組中的行和列進行刪除操作。
1、刪除行
可以使用delete函數刪除指定行。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = np.delete(matrix, 1, axis=0)
print(submatrix)
輸出結果為:
[[1 2 3]
[7 8 9]]
2、刪除列
可以使用delete函數刪除指定列。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = np.delete(matrix, 1, axis=1)
print(submatrix)
輸出結果為:
[[1 3]
[4 6]
[7 9]]
七、篩選元素
可以使用布爾數組對二維數組進行篩選操作。
1、篩選
可以使用布爾數組對二維數組進行篩選操作。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
bool_arr = matrix > 5
submatrix = matrix[bool_arr]
print(submatrix)
輸出結果為:
[6 7 8 9]
2、選擇滿足條件的元素
可以使用where函數選擇滿足條件的元素。
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
submatrix = np.where(matrix > 5, matrix, 0)
print(submatrix)
輸出結果為:
[[0 0 0]
[0 0 6]
[7 8 9]]
總結
本文介紹了如何創建、遍歷、切片操作、元素操作、轉置和翻轉、刪除行和列、篩選元素等對二維數組進行管理和操作的技巧,希望對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/275974.html