- 原理
- 示例代码
举例是用数组(array)举例的,同样适用于列表(List)和张量(Tensor) 原理
一维数据的切片和二、三维数组更高维的数据的切片有什么关联?
常见:
a[:-1] :一维数组,不要最后一个
a[1:] :一维数组,不要第0个,
b[:,:-1] : 二维数组,不要第二维的最后一个,即少了一列
c[:,:-1,:] :三维数组,只是不要第二维的最后一个
c[:,-1,:]:这里就是索引了,不是切片了,容易弄混乱,只要第二维最后一个元素
一维的切片: [start:end:step]:从start开始,不包括end,一般很少见到setp
二维甚至高维的:用逗号分隔每个维度就OKK
import numpy as np a= np.arange(6) a ==>array([0, 1, 2, 3, 4, 5]) a[:-1] ==>array([0, 1, 2, 3, 4]) a[1:] ==>array([1, 2, 3, 4, 5]) b = np.arange(24).reshape(4,6) b ==>array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23]]) b[:,:-1] ==>array([[ 0, 1, 2, 3, 4], [ 6, 7, 8, 9, 10], [12, 13, 14, 15, 16], [18, 19, 20, 21, 22]]) c = np.arange(24).reshape(2,3,4) c ==>array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]]) c[:,:-1:] ==>array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[12, 13, 14, 15], [16, 17, 18, 19]]]) c[:,-1,:] ==>array([[ 8, 9, 10, 11], [20, 21, 22, 23]])
参考链接:https://blog.csdn.net/fr555wlj/article/details/108783091
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)