numpy函数:多维数组切片存取

xiaoxiao2021-02-28  45

1.

import numpy as np a=np.arange(1,37,1) a array([[ 1, 2, 3, 4, 5, 6], [ 7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24], [25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36]])

np.arange(x,y,i)创建一个由x到y,以i为步长的数组; np.array([x,y,z],dtype=int)从Python列表和元组创造数组

2.

b=a.reshape(6,6) b array([[ 1, 2, 3, 4, 5, 6], [ 7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24], [25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36]])

3.

c=b[0,2:4] c array([3, 4])

其中逗号前的数字表示第0轴下标取值范围,逗号之后表示第1维下标取值范围,2:4就表示2-4之间(即第二列和第三列)。

4.

d=b[2:4,2:4] d array([[15, 16], [21, 22]])

5.

e=b[:,3] e array([ 4, 10, 16, 22, 28, 34])

只读取第3列的元素(逗号前只有一个冒号,表示所有)

6.

f=b[::2,::2] f array([[ 1, 3, 5], [13, 15, 17], [25, 27, 29]])

也可以设置步长(两个逗号后面的2表示步长为2)

7.

np.ones(5)//一维数组全为1 np.ones((m,n),dtype)//创建一个m行n列全1的数组,dtype是数据类型
转载请注明原文地址: https://www.6miu.com/read-1950021.html

最新回复(0)