Spec-Zone.ru › NumPy 1.12

numpy.r

numpy.r_ = <numpy.lib.index_tricks.RClass object at 0x49e567cc>

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

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

  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 (столбец). Если результат двумерный, то оба варианта дают тот же результат матрицы.

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

Строка с тремя целыми числами, разделенными запятыми, позволяет указать ось для конкатенации, минимальное число измерений для принудительного ввода элементов и какую ось следует использовать для начала массивов, имеющих меньше указанного числа измерений. Другими словами, третье целое число позволяет указать, где должны быть размещены 1 в форме массивов, у которых изменяются формы. По умолчанию они размещаются в начале кортежа формы. Третий аргумент позволяет указать, где следует поместить начало массива. Таким образом, третий аргумент ‘0’ поместит 1 в конец кортежа формы массива. Отрицательные целые числа указывают, где в новом кортеже формы следует разместить последнее измерение обновленных массивов, поэтому по умолчанию используется ‘-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]])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.r_.html

Spec-Zone.ru

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