首页 > 解决方案 > 如何将numpy数组作为一个整体复制

问题描述

如何复制numpy数组,以便将它(作为整个数组)重复 n 次?

因此,使用示例数组:

import numpy as np
x = np.arange(0, 5)

我想创建一个如下所示的数组,而不需要手动输入np.arange(0, 5)n 次:

x_3times = np.concatenate([np.arange(0, 5), np.arange(0, 5), np.arange(0, 5)])     

或具有一定长度的输出(例如12)?

x_12 = np.concatenate([np.arange(0, 5), np.arange(0, 5), np.arange(0, 5)])[0:12]  

标签: pythonnumpy

解决方案


您可以使用np.tile

>> x_3times = np.tile(x, 3)
>> x_3times

array([0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4])

要重复直到某个特定限制,请使用np.resize

>> x_12 = np.resize(x, 12)
>> x_12

array([0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1])

推荐阅读