1 回答

TA贡献1829条经验 获得超9个赞
创建一个数组,其中每个值都不同:
In [134]: z = np.arange(6).reshape(2,3)
In [135]: z
Out[135]:
array([[0, 1, 2],
[3, 4, 5]])
尝试对 0 切片进行变体:
In [136]: z[0:,:]
Out[136]:
array([[0, 1, 2],
[3, 4, 5]])
In [137]: z[:,:0]
Out[137]: array([], shape=(2, 0), dtype=int64)
In [138]: z[0:,:0]
Out[138]: array([], shape=(2, 0), dtype=int64)
'0:' 与 ':' 和 '::' and 相同slice(None,None,None),都表示整个事物或维度。
':0' 表示 '0:0',这是一个空切片,因此尺寸为 0 维度。
现在第 1 个切片的变化:
In [139]: z[1:,:]
Out[139]: array([[3, 4, 5]])
In [140]: z[:,:1]
Out[140]:
array([[0],
[3]])
In [141]: z[1:,:1]
Out[141]: array([[3]])
'1:' 除第一个切片外的所有切片;对于大小为 '1:2' 的 2 维,大小为 1 的切片。':1' 也是 '0:1' 另一个大小为 1 的切片,因此是 (1,1) 形状的结果。
添加回答
举报