我有一个要重复的数组。
test = numpy.array([(1, 11,), (2, 22), (3, 33)])
现在
numpy.repeat(test, 2, 0)
numpy.repeat(test, 2, 1)
结果是
array([[ 1, 11],
[ 1, 11],
[ 2, 22],
[ 2, 22],
[ 3, 33],
[ 3, 33]])
array([[ 1, 1, 11, 11],
[ 2, 2, 22, 22],
[ 3, 3, 33, 33]]).
尽管
numpy.tile(test, 2)
结果是
array([[ 1, 11, 1, 11],
[ 2, 22, 2, 22],
[ 3, 33, 3, 33]]).
我怎么能得到这个结果呢?
array([[ 1, 11],
[ 2, 22],
[ 3, 33],
[ 1, 11],
[ 2, 22],
[ 3, 33]])
另外,对于我的用例,我只使用一次重复的值。为了避免内存分配,是否有办法以某种方式使用重复序列的生成器?
np.tile
使您可以指定每个轴的重复(作为元组)
In [370]: np.tile(test,(2,1))
Out[370]:
array([[ 1, 11],
[ 2, 22],
[ 3, 33],
[ 1, 11],
[ 2, 22],
[ 3, 33]])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句