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) 形狀的結果。
添加回答
舉報