我有一个 2d numpy 数组 (2 x 2) 元素,我想从中创建另一个 2D numpy 数组,这样:
二维数组:
import numpy as np
np.random.rand(2,2)
array([[10.0,8.0], [6.0,4.0]])
我想从中得到一个 4x4 数组,以便与较粗糙数组的特定单元格对应的较精分割辨率数组的所有值与较粗糙数组相同:
array([[10.0,10.0,8.0,8.0], [10.0,10.0,8.0,8.0] [6.0,6.0,4.0,4.0] [6.0,6.0,4.0,4.0]])
我可以使用 for 循环来做到这一点,但我真的很想知道是否存在更 pythonic 的方法。
最佳答案
您可以使用 repeat
:
>>> a = np.random.rand(2,2)
>>> a
array([[ 0.66172561, 0.09262421],
[ 0.40578266, 0.84510431]])
>>> a.repeat(2, 0).repeat(2, 1)
array([[ 0.66172561, 0.66172561, 0.09262421, 0.09262421],
[ 0.66172561, 0.66172561, 0.09262421, 0.09262421],
[ 0.40578266, 0.40578266, 0.84510431, 0.84510431],
[ 0.40578266, 0.40578266, 0.84510431, 0.84510431]])
关于python - 将 numpy 二维数组划分为更精细的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32447588/