numpy.r_#
- numpy.r_ = <numpy.lib._index_tricks_impl.RClass object>#
将切片对象转换为沿第一个轴的连接操作。
这是一种快速构建数组的简单方法。它有两种使用场景。
如果索引表达式包含逗号分隔的数组,则沿它们的第一个轴堆叠它们。
如果索引表达式包含切片符号或标量,则创建一个由切片符号指示范围的 1-D 数组。
如果使用切片符号,语法
start:stop:step
在方括号内等同于np.arange(start, stop, step)
。但是,如果step
是一个虚数(例如 100j),则其整数部分将被解释为所需的点数,并且 start 和 stop 都是包含在内的。换句话说,start:stop:stepj
在方括号内被解释为np.linspace(start, stop, step, endpoint=1)
。切片符号展开后,所有逗号分隔的序列都将被连接起来。作为索引表达式的第一个元素的可选字符串可以用于改变输出。字符串 'r' 或 'c' 会产生矩阵输出。如果结果是 1-D 且指定了 'r',则会生成一个 1 x N(行)矩阵。如果结果是 1-D 且指定了 'c',则会生成一个 N x 1(列)矩阵。如果结果是 2-D,则两者都会提供相同的矩阵结果。
一个字符串整数指定了沿哪个轴堆叠多个逗号分隔的数组。包含两个逗号分隔整数的字符串允许指示强制每个条目进入的最小维度数,其中第二个整数代表最小维度数(要连接的轴仍然是第一个整数)。
包含三个逗号分隔整数的字符串允许指定要连接的轴、强制条目进入的最小维度数,以及哪个轴应包含维度小于指定数量的数组的起始位置。换句话说,第三个整数允许您指定在形状升级后的数组形状中,1 应该放在哪里。默认情况下,它们放在形状元组的前面。第三个参数允许您指定数组的起始位置。因此,第三个参数为 '0' 会将 1 放在数组形状的末尾。负整数指定升级后的数组的最后一个维度在新形状元组中应该放在哪里,因此默认值为 '-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]])