numpy.r_#
-
numpy.r_ =
object> # Преобразует объекты срезов в конкатенацию вдоль первой оси.
Это простой способ быстрого построения массивов. Есть два случая использования.
Если выражение индекса содержит массивы, разделённые запятыми, то сложите их вдоль их первой оси.
Если выражение индекса содержит обозначение среза или скаляры, то создайте одномерный массив с диапазоном, указанным обозначением среза.
Если используется нотация срезов, синтаксис
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_Преобразует объекты срезов в конкатенацию вдоль второй оси.
Примеры
>>> import numpy as np >>> np.r_[np.array([1,2,3]), 0, 0, np.array([4,5,6])] array([1, 2, 3, ..., 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]])