Spec-Zone.ru › NumPy 1.14

numpy.r_

numpy.r_ = <numpy.lib.index_tricks.RClass object>

Преобразует объекты срезов в конкатенацию по первой оси.

Это простой способ быстро создать массивы. Существует два варианта использования.

  1. Если выражение индекса содержит массивы, разделенные запятыми, то они будут объединены по первой оси.
  2. Если выражение индекса содержит обозначение среза или скаляры, то будет создан одномерный массив с диапазоном, указанным обозначением среза.

Если используется обозначение среза, синтаксис start:stop:step эквивалентен np.arange(start, stop, step) внутри скобок. Однако, если step является мнимым числом (например, 100j), то его целая часть интерпретируется как желаемое число точек, а начало и конец включаются. Другими словами, start:stop:stepj интерпретируется как np.linspace(start, stop, step, endpoint=1) внутри скобок. После расширения обозначения среза все последовательности, разделенные запятыми, конкатенируются вместе.

Дополнительные строковые символы, помещённые в качестве первого элемента выражения индекса, могут быть использованы для изменения вывода. Строки «r» или «c» приводят к матричному выводу. Если результат одномерный и указана «r», то создаётся матрица 1 x N (строка). Если результат одномерный и указана «c», то создаётся матрица N x 1 (столбец). Если результат двумерный, то оба параметра предоставляют одинаковый матричный результат.

Целое число в строковом формате указывает ось, по которой нужно объединить несколько массивов, разделенных запятыми. Строка из двух целых чисел, разделённых запятыми, позволяет указать минимальное количество измерений, в которые необходимо привести каждый элемент, как второе целое число (ось для конкатенации по-прежнему задаётся первым целым числом).

Строка с тремя целыми числами, разделёнными запятыми, позволяет указать ось для конкатенации, минимальное количество измерений для приведения элементов и ось, содержащую начало массивов, имеющих размерность меньше указанной. Другими словами, третье целое число позволяет указать, где должны быть размещены единицы в форме массивов, которые были расширены. По умолчанию они размещаются в начале кортежа формы. Третий аргумент позволяет указать, где должно находиться начало массива вместо этого. Таким образом, третий аргумент «0» поместит единицы в конец кортежа формы массива. Отрицательные целые числа указывают, где в новом кортеже формы должны быть размещены последние измерения расширенных массивов, поэтому значение по умолчанию равно «-1».

Параметры: Это не функция, поэтому параметров нет
Возвращает: Конкатенированный массив ndarray или матрица.

См. также

concatenate
Объединение последовательности массивов вдоль существующей оси.
c_
Преобразует объекты срезов в конкатенацию по второй оси.

Примеры

>>> np.r_[np.array([1,2,3]), 0, 0, np.array([4,5,6])]
array([1, 2, 3, 0, 0, 4, 5, 6])
>>> np.r_[-1:1:6j, [0]*3, 5, 6]
array([-1. , -0.6, -0.2,  0.2,  0.6,  1. ,  0. ,  0. ,  0. ,  5. ,  6. ])

Целые числа в строковом формате задают ось для конкатенации или минимальное количество измерений для приведения элементов.

>>> a = np.array([[0, 1, 2], [3, 4, 5]])
>>> np.r_['-1', a, a] # concatenate along last axis
array([[0, 1, 2, 0, 1, 2],
       [3, 4, 5, 3, 4, 5]])
>>> np.r_['0,2', [1,2,3], [4,5,6]] # concatenate along first axis, dim>=2
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.r_['0,2,0', [1,2,3], [4,5,6]]
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]])
>>> np.r_['1,2,0', [1,2,3], [4,5,6]]
array([[1, 4],
       [2, 5],
       [3, 6]])

Использование «r» или «c» в качестве первого строкового аргумента создаёт матрицу.

>>> np.r_['r',[1,2,3], [4,5,6]]
matrix([[1, 2, 3, 4, 5, 6]])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.r_.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API