ndarray陣列操作
阿新 • • 發佈:2018-11-08
# In[] 一位陣列訪問 import numpy as np arr = np.arange(10) type(arr) #用切片訪問陣列 b=arr[3:5] #切片獲取3到(5-1) 即3~4 c=arr[:5] #切片獲取0~4 (:代表0) d= arr[1:-1:2] #切片,從1開始,不包含最後一個元素,步長為2 (即1, 1+2, 1+2+2, 1+2+2+2) e = arr[5:1:-2] #步長為負數,從右往左切片,從5開始,步長 -2,不包含1 (即 5 ,5-2 ) #用下標訪問陣列 arr[5] #用下標獲取索引為5元素 arr[-1] #用索引獲取最後1個元素 arr[2:4] = 100,101 #用下標修改元素的值 arr # In[] 多維陣列訪問 arr2 = np.array([[1,2,3,4,5], [4,5,6,7,8], [7,8,9,10,11]]) print(arr2) arr2.shape arr2[0 , 3:5] #切片第1行中 第3、4列的元素 arr2[1: , 2:] #切片第2、3行中 第3、4、5列的元素 arr2[: , 2] #切片 第3列的元素 arr2[ [ (0,1,2) , (1,2,3)]] #獲取 第1行2列 ,第2行3列 ,第3行4列 的元素 arr2[ 1: , (0,2,3)] #獲取 第2行1、3、4列 ,第3行1、3、4列 的元素
import numpy as np arr = np.arange(10) type(arr) Out[27]: numpy.ndarray #用切片訪問陣列 b=arr[3:5] #切片獲取3到(5-1) 即3~4 c=arr[:5] #切片獲取0~4 (:代表0) d= arr[1:-1:2] #切片,從1開始,不包含最後一個元素,步長為2 (即1, 1+2, 1+2+2, 1+2+2+2) e = arr[5:1:-2] #步長為負數,從右往左切片,從5開始,步長 -2,不包含1 (即 5 ,5-2 ) #用下標訪問陣列 arr[5] #用下標獲取索引為5元素 Out[34]: 5 arr[-1] #用索引獲取最後1個元素 Out[35]: 9 arr Out[36]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) arr2 = np.array([[1,2,3,4,5], [4,5,6,7,8], [7,8,9,10,11]]) print(arr2) arr2.shape arr2[0 , 3:5] #切片第1行中 第3、4列的元素 arr2[1: , 2:] #切片第2、3行中 第3、4、5列的元素 arr2[: , 2] #切片 第3列的元素 arr2[ [ (0,1,2) , (1,2,3)]] #獲取 第1行2列 ,第2行3列 ,第3行4列 的元素 arr2[ 1: , (0,2,3)] #獲取 第2行1、3、4列 ,第3行1、3、4列 的元素 [[ 1 2 3 4 5] [ 4 5 6 7 8] [ 7 8 9 10 11]] Out[37]: array([[ 4, 6, 7], [ 7, 9, 10]])