Индексирование в многомерных массивах в библиотеке numpy - PullRequest
0 голосов
/ 17 апреля 2020
>>> y = np.arange(35).reshape(5,7)
>>> y[1:5:2,::3]
array([[ 7, 10, 13],
       [21, 24, 27]])

Что означает y[1:5:2,::3]? Подробно.

1 Ответ

0 голосов
/ 17 апреля 2020

Здесь вы можете найти подробности Python slicing notation.


В вашем случае сочетаются обозначения нарезки с обозначением numpy: y[1:5:2,::3] означает наклон нарезки 1:5:2 в 1-е измерение и ::3 во 2-м измерении

# Initial 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 24 25 26 27]
 [28 29 30 31 32 33 34]]
  • 1:5:2 берут из значений [1;5[ и один над 2, это в первом измерении, поэтому он сохраняет значения 1 и 3 (можно сказать строки )

    [[ 7  8  9 10 11 12 13]
     [21 22 23 24 25 26 27]]
    
  • ::3 принимает все элементы, 2 первые значения не предоставлены, но только один за тремя во втором измерении

    [ 7  8  9 10 11 12 13] => [ 7 10 13] # one over 3
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...