Spec-Zone.ru › NumPy 1.11

numpy.r

numpy.r_ =

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

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

  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 х N (строка). Если результат одномерный и указана ‘c’, то создаётся матрица N х 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–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.r_.html

Spec-Zone.ru

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