我有以下一维 numpy 数组:
li = array([ 0.002, 0.003, 0.005, 0.009])
li.shape
(4L,)
我想制作一个形状为 (4L,5L) 的 2D numpy 数组 (li_2d),如下所示:
li_2d = array([[ 0.002, 0.002, 0.002, 0.002, 0.002],
[ 0.003, 0.003, 0.003, 0.003, 0.003],
[ 0.005, 0.005, 0.005, 0.005, 0.005]
[ 0.009, 0.009, 0.009, 0.009, 0.009]])
是否有一些 numpy 函数可以做到这一点? 谢谢
最佳答案
您可以使用 numpy.tile
获得所需的形状:
li = np.array([ 0.002, 0.003, 0.005, 0.009])
np.tile(li.reshape(4, 1), (1, 5))
array([[ 0.002, 0.002, 0.002, 0.002, 0.002],
[ 0.003, 0.003, 0.003, 0.003, 0.003],
[ 0.005, 0.005, 0.005, 0.005, 0.005],
[ 0.009, 0.009, 0.009, 0.009, 0.009]])
关于python - 用 1D numpy 数组创建 2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34159774/