NumPy Ndarray 对象

ndarry:多维数组对象

数据切片是原始数组的视图,数据不会被复制,试图上的任何修改都会直接反映到源数据上:

a = np.arange(10)

a
Out[11]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

b = a[5:8]

b
Out[13]: array([5, 6, 7])

b[2] = 1

b
Out[15]: array([5, 6, 1])

a
Out[16]: array([0, 1, 2, 3, 4, 5, 6, 1, 8, 9])

b[:] = 23

a
Out[18]: array([ 0,  1,  2,  3,  4, 23, 23, 23,  8,  9])

如果想得到切片的副本,需要显式的进行复制

c = a[2:4].copy()

多维数据读取情况

arr1 = np.array([[1,2,3],[4,5,6],[7,8,9]])

arr1[1]
Out[30]: array([4, 5, 6])

arr1[0,2]
Out[31]: 3

arr1[0][2]
Out[32]: 3
Numpy数组中的元素索引

多维数组情况

arr2 = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])

arr2
Out[34]: 
array([[[ 1,  2,  3],
        [ 4,  5,  6]],

       [[ 7,  8,  9],
        [10, 11, 12]]])

arr2[0]
Out[35]: 
array([[1, 2, 3],
       [4, 5, 6]])
arr2.shape

Out[39]: (2, 2, 3)
二维数组切片

你可能感兴趣的:(NumPy Ndarray 对象)