您好,登錄后才能下訂單哦!
本篇文章為大家展示了使用python怎么實現numpy數組的索引和切片操作,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
NumPy - 簡介
NumPy 是一個 Python 包。 它代表 “Numeric Python”。 它是一個由多維數組對象和用于處理數組的例程集合組成的庫。
Numeric,即 NumPy 的前身,是由 Jim Hugunin 開發的。 也開發了另一個包 Numarray ,它擁有一些額外的功能。 2005年,Travis Oliphant 通過將 Numarray 的功能集成到 Numeric 包中來創建 NumPy 包。 這個開源項目有很多貢獻者。
NumPy 操作
使用NumPy,開發人員可以執行以下操作:
?數組的算數和邏輯運算。
?傅立葉變換和用于圖形操作的例程。
?與線性代數有關的操作。 NumPy 擁有線性代數和隨機數生成的內置函數。
numpy庫多維數組的類型和列表的類型非常類似,同樣有索引和切片功能:
索引:獲取數組中特定位置元素的過程
切片:獲取數組元素子集的過程
1.一維數組
# 準備一個數組 arr1=np.array(np.arange(9)) arr1
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
# 索引 arr[-1] #8 arr1[arr1.size-2] #7 arr1[arr1.size-9] #0 # 切片 :[start:end:step] arr1[1:4] #左開右閉的區間 arr1[1:5:2] #array([1,3]) arr1[::-1] # 反向取所有,-1變成了步長
2.二維數組
# 準備一個二維數組 arr2=np.array([ np.arange(1,4), np.arange(5,8) ]) arr2 array([[1, 2, 3], [5, 6, 7]]) # 索引 arr2[0][2] # 3 arr2[0,2] # 3 # 切片 arr2[0,] # array([1,2,3]) arr2[0,::] # 同上 arr2[0,0:3] #array([1,2])
3.多維數組
arr4=np.arange(1,25).reshape(2,3,4) arr4 array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]]) arr4[1][2][2] # 23 arr4[1,1,1] #18 arr3[1,1,] # array([17,18,19,20]) arr4[1,1,::] # 同上 arr4[1,1,::-1] # array([20, 19, 18, 17]) arr4[0,1:3] #array([[ 5, 6, 7, 8], #[ 9, 10, 11, 12]]) arr4[:1,1] #array([ 6, 18]) b[1,:,2] #array([15, 19, 23]) b[1,...] #array([[13, 14, 15, 16], # [17, 18, 19, 20], # [21, 22, 23, 24]]) b[0,::-1,-1] #array([12, 8, 4]) b[:,:,-1][::-1][:,-1] #array([24, 12])
python的五大特點:1.簡單易學,開發程序時,專注的是解決問題,而不是搞明白語言本身。2.面向對象,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現面向對象編程。3.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
上述內容就是使用python怎么實現numpy數組的索引和切片操作,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。