1. 程式人生 > >ndarray陣列操作

ndarray陣列操作

# 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]])