在numpy的的documents:字符串在numpy.r_中的含义是什么?
>>> np.r_['0,2,0', [1,2,3], [4,5,6]]
array([[1],
[2],
[3],
[4],
[5],
[6]])
什么第三个数字字符串 '0,2,0' 的意思吗?
在numpy的的documents:字符串在numpy.r_中的含义是什么?
>>> np.r_['0,2,0', [1,2,3], [4,5,6]]
array([[1],
[2],
[3],
[4],
[5],
[6]])
什么第三个数字字符串 '0,2,0' 的意思吗?
我还没有用过r_
多的字符串参数;对我来说,更容易直接使用concatanate
及其变体。
但看该文档:
具有三个逗号分隔的整数的字符串允许 轴的规格沿串联,尺寸迫使 条目的最小数量,并且该轴应包含数组的开始,其中 小于指定的维数。
'0.2.0'
axis = 0
make it 2d
start with 0d
In [79]: np.r_['0,2,0', [1,2,3], [4,5,6]]
Out[79]:
array([[1],
[2],
[3],
[4],
[5],
[6]])
甲串联等效
In [80]: np.concatenate(([1,2,3], [4,5,6]))
Out[80]: array([1, 2, 3, 4, 5, 6])
In [81]: np.concatenate(([1,2,3], [4,5,6]))[:,None]
Out[81]:
array([[1],
[2],
[3],
[4],
[5],
[6]])
在这里,我级联上轴= 0,和膨胀后串连至2d。但它听起来像r_
首先扩展了元素的尺寸(但我们可以仔细检查代码)。
In [83]: alist = ([1,2,3], [4,5,6])
In [86]: [np.expand_dims(a,1) for a in alist]
Out[86]:
[array([[1],
[2],
[3]]), array([[4],
[5],
[6]])]
In [87]: np.concatenate(_, axis=0)
Out[87]:
array([[1],
[2],
[3],
[4],
[5],
[6]])
我使用expand_dims
使输入2 d,以及第一后添加新的维度。做完,我可以连接上轴0
注意,输入r_
可能已经2D,如:如果1
np.r_['0,2,0',[1,2,3], [[4],[5],[6]]]
np.r_['0,2,0',[1,2,3], np.expand_dims([4,5,6],1)]
np.r_['0,2,0',[1,2,3], np.atleast_2d([4,5,6]).T]
三维数字,转动部件到
In [105]: np.atleast_2d([4,5,6])
Out[105]: array([[4, 5, 6]])
In [103]: np.r_['0,2,1',[1,2,3],[4,5,6]]
Out[103]:
array([[1, 2, 3],
[4, 5, 6]])
通常,如果文档不清楚,我喜欢深入代码或尝试其他输入。
In [107]: np.r_['1,2,1',[1,2,3], [4,5,6]]
Out[107]: array([[1, 2, 3, 4, 5, 6]])
In [108]: np.r_['1,2,0',[1,2,3], [4,5,6]]
Out[108]:
array([[1, 4],
[2, 5],
[3, 6]])
看代码,我看到它使用
array(newobj, copy=False, subok=True, ndmin=ndmin)
的组件扩大到所需ndmin
。 3d编号用于构建transpose
参数。详情凌乱,但效果是一样的东西:
In [111]: np.array([1,2,3], ndmin=2)
Out[111]: array([[1, 2, 3]])
In [112]: np.array([1,2,3], ndmin=2).transpose(1,0)
Out[112]:
array([[1],
[2],
[3]])
你说“在文档中”,然后无法链接它们。 –
可能是最好的参考文档(https://docs.scipy.org/doc/numpy/reference/generated/numpy.r_。HTML)并从阅读中提出具体问题。 FWIW,这是令人困惑的,但第三个数字表明当强制自然n维到n + 1或更高维时,哪个应该是'折叠'轴。 –
是的,我认为第三个参数(0)表示切片发生的尺寸。这是显而易见的,如果你尝试使用0,2,1,那么o/p将是:array([[1,2,3],[4,5,6]]) – skrubber