Почему генерируются два результата? - PullRequest
0 голосов
/ 08 февраля 2019
In [18]: z = np.array([[6,7,3],[8,8,8]])                                                                                                                                                      

In [19]: z                                                                                                                                                                                    
Out[19]: 
array([[6, 7, 3],
       [8, 8, 8]])

In [20]: print(z[0:, :0])                                                                                                                                                                     
[]

In [21]: print(z[1:, :1])                                                                                                                                                                     
[[8]]

Я не понимаю двух утверждений печати.Например, z [1 :,: 1]?

1 Ответ

0 голосов
/ 08 февраля 2019

Создайте массив, в котором каждое значение будет разным:

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) формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...