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