NumPy:平铺到特定大小
假设我们有一个模式NumPy:平铺到特定大小,numpy,tile,Numpy,Tile,假设我们有一个模式 x=np.array([1,2,3]) 我们想重复这个模式来填充一个sizen>>x.size的数组 我们可以这样做: np.tile(x,1+(n//x.size))[:n] 我们可以根据形状为二维阵列做类似的事情。(而不是大小)并将其抽象为函数 以二维阵列为例: pattern=np.array([[1,2],[4,5]) n_行=7 n_cols=5 np.tile( 图案 (1+(n_行//pattern.shape[0]),1+(n_列//pattern.sha
x=np.array([1,2,3])
我们想重复这个模式来填充一个sizen>>x.size
的数组
我们可以这样做:
np.tile(x,1+(n//x.size))[:n]
我们可以根据形状为二维阵列做类似的事情。(而不是大小)并将其抽象为函数
以二维阵列为例:
pattern=np.array([[1,2],[4,5])
n_行=7
n_cols=5
np.tile(
图案
(1+(n_行//pattern.shape[0]),1+(n_列//pattern.shape[1]))
)[:n_行,:n_列]
输出:
数组([[1,2,1,2,1],
[4, 5, 4, 5, 4],
[1, 2, 1, 2, 1],
[4, 5, 4, 5, 4],
[1, 2, 1, 2, 1],
[4, 5, 4, 5, 4],
[1, 2, 1, 2, 1]])
我的问题是:在NumPy中有没有一种原生的方法可以做到这一点?您可以让它更通用一些,但是没有内置的函数
x=np.array([[1,2],
[4, 5]])
形状=(7,5)
np.tile(x,np.array(shape)//np.array(np.shape(x))+1)[元组(map(slice,shape))]
您可以让它稍微更通用一些,但是没有内置的函数
x=np.array([[1,2],
[4, 5]])
形状=(7,5)
np.tile(x,np.array(shape)//np.array(np.shape(x))+1)[元组(map(slice,shape))]
你能提供一个具有预期输出的小2d数组的示例吗?嗯,我不知道本机有这样的函数,但你的解决方案对我来说很好。你能提供一个具有预期输出的小2d数组的示例吗?嗯,我本机没有意识到这样的函数,但你的解决方案对我来说很好。