numpy學習筆記3-array切片


import numpy as np
array1 = np.array([[1,2,3,4],[5,6,7,8]])
array1

array([[1, 2, 3, 4],
[5, 6, 7, 8]])

切片

array1_slice1 = array1[1][1:4]  
#等價於array1_slice1 = array1[1, 1:4]
array1_slice2 = array1[1][1:3]

查看切片
array1_slice1

array([6, 7, 8])

array1_slice2

array([6, 7])

改變切片的元素

array1_slice1[:] = 0
#等價於arra1y_slice1[:] = [0,0,0]

此時
array1_slice1

[0, 0, 0]

array1

array([[1, 2, 3, 4],
[5, 0, 0, 0]])

注意原始數組array1在切片部分的元素數值也發生了改變
array1_slice2

[0, 0]

此時原始數組array1的另一個切片slice2的相關元素也發生了改變

對array切片返回的是原始array的視圖,對切片的操作會影響到原始數組

多維切片
array1[:2, 1:]

array([[2, 3, 4],
[0, 0, 0]])

array1[:2, 1]

array([2, 0])

array1[1]

array([5, 0, 0, 0])

array1[1, :]

array([5, 0, 0, 0])

array1[1:, :]

array([[5, 0, 0, 0]])

array1[1, :].shape

(4,)

array1[1:, :].shape

(1, 4)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM