jax.numpy.r_#
- jax.numpy.r_ = <jax._src.numpy.index_tricks.RClass object>#
沿第一个轴连接切片、标量和类数组对象。
numpy.r_
的 LAX 后端实现。另请参阅
jnp.c_
:沿最后一个轴连接切片、标量和类数组对象。示例
传递形式为
[start:stop:step]
的切片会生成jnp.arange
对象>>> jnp.r_[-1:5:1, 0, 0, jnp.array([1,2,3])] Array([-1, 0, 1, 2, 3, 4, 0, 0, 1, 2, 3], dtype=int32)
step
的虚数值将创建一个jnp.linspace
对象,其中包括右端点>>> jnp.r_[-1:1:6j, 0, jnp.array([1,2,3])] Array([-1. , -0.6 , -0.20000002, 0.20000005, 0.6 , 1. , 0. , 1. , 2. , 3. ], dtype=float32)
使用
"axis,dims,trans1d"
形式的字符串指令作为第一个参数,以指定连接轴、最小维度数以及升级数组的原始维度在结果数组的形状元组中的位置>>> jnp.r_['0,2', [1,2,3], [4,5,6]] # concatenate along first axis, 2D output Array([[1, 2, 3], [4, 5, 6]], dtype=int32)
>>> jnp.r_['0,2,0', [1,2,3], [4,5,6]] # push last input axis to the front Array([[1], [2], [3], [4], [5], [6]], dtype=int32)
对于
trans1d
的负值,会将最后一个轴向形状元组的起始位置偏移。>>> jnp.r_['0,2,-2', [1,2,3], [4,5,6]] Array([[1], [2], [3], [4], [5], [6]], dtype=int32)
在扁平输入上,使用特殊指令
"r"
或"c"
作为第一个参数,可以分别创建一个带有额外行轴或列轴的数组。>>> jnp.r_['r',[1,2,3], [4,5,6]] Array([[1, 2, 3, 4, 5, 6]], dtype=int32)
>>> jnp.r_['c',[1,2,3], [4,5,6]] Array([[1], [2], [3], [4], [5], [6]], dtype=int32)
对于更高维度的输入(
dim >= 2
),指令"r"
和"c"
给出相同的结果。