Создайте массив, в котором каждое значение будет разным:
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:' совпадает с ':' и ':: 'и 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:' все, кроме первого среза;для размера 2, который равен 1: 2, размер 1 среза.': 1' также '0: 1' другой срез размера 1, следовательно, результат (1,1) формы.