NumPy - 簡介
NumPy 是一個 Python 包。 它代表 “Numeric Python”。 它是一個由多維數(shù)組對象和用于處理數(shù)組的例程集合組成的庫。
Numeric,即 NumPy 的前身,是由 Jim Hugunin 開發(fā)的。 也開發(fā)了另一個包 Numarray ,它擁有一些額外的功能。 2005年,Travis Oliphant 通過將 Numarray 的功能集成到 Numeric 包中來創(chuàng)建 NumPy 包。 這個開源項目有很多貢獻者。
NumPy 操作
使用NumPy,開發(fā)人員可以執(zhí)行以下操作:
•數(shù)組的算數(shù)和邏輯運算。
•傅立葉變換和用于圖形操作的例程。
•與線性代數(shù)有關(guān)的操作。 NumPy 擁有線性代數(shù)和隨機數(shù)生成的內(nèi)置函數(shù)。
numpy庫多維數(shù)組的類型和列表的類型非常類似,同樣有索引和切片功能:
索引:獲取數(shù)組中特定位置元素的過程
切片:獲取數(shù)組元素子集的過程
1.一維數(shù)組
# 準(zhǔn)備一個數(shù)組arr1=np.array(np.arange(9))arr1
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
# 索引arr[-1] #8arr1[arr1.size-2] #7arr1[arr1.size-9] #0 # 切片 :[start:end:step]arr1[1:4] #左開右閉的區(qū)間arr1[1:5:2] #array([1,3])arr1[::-1] # 反向取所有,-1變成了步長
2.二維數(shù)組
# 準(zhǔn)備一個二維數(shù)組arr2=np.array([ np.arange(1,4), np.arange(5,8)])arr2array([[1, 2, 3], [5, 6, 7]])# 索引arr2[0][2] # 3arr2[0,2] # 3# 切片arr2[0,] # array([1,2,3]) arr2[0,::] # 同上arr2[0,0:3] #array([1,2])
3.多維數(shù)組
arr4=np.arange(1,25).reshape(2,3,4)arr4array([[[ 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] # 23arr4[1,1,1] #18arr3[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])
總結(jié)
以上所述是小編給大家介紹的python numpy數(shù)組的索引和切片的操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林站長站網(wǎng)站的支持!
新聞熱點
疑難解答