我有一个 numpy 数组:
import numpy as np
A = np.array([1,2])
例如,我想制作 n
二维 numpy 数组中两个元素的副本
B=[[1,1,1,1],[2,2,2,2]] # 4 copies of each element of A into a separate array
我该怎么做?
最佳答案
使用np.repeat
然后 reshape -
np.repeat(A,4).reshape(-1,4)
reshape(-1,4)
基本上保持 4
列数,-1
指定它来计算行数基于要 reshape 的数组的总大小。因此,对于给定的样本,因为 np.repeat(A,4).size
是 8
,它指定 8/4 = 2
作为行数。因此,它将 np.repeat(A,4)
reshape 为形状为 (2,4)
的 2D
数组。
或者在使用None/np.newaxis
将A
扩展为2D
之后使用np.repeat
-
np.repeat(A[:,None],4,axis=1)
或者使用np.tile
在扩展版本上-
np.tile(A[:,None],4)
关于python - 如何从一维数组创建二维 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42914257/