Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NumPy:平铺到特定大小_Numpy_Tile - Fatal编程技术网

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])
我们想重复这个模式来填充一个size
n>>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数组的示例吗?嗯,我本机没有意识到这样的函数,但你的解决方案对我来说很好。