Python 如何将numpy阵列作为一个整体进行复制
如何复制Python 如何将numpy阵列作为一个整体进行复制,python,numpy,Python,Numpy,如何复制numpyarray,使其(作为一个整体数组)重复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_3times=np.con
numpy
array,使其(作为一个整体数组)重复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_3times=np.concatenate([np.arange(0,5)表示范围(3)中的x)])
其中编号3
可由任何编号n
代替
编辑
如果要将长度限制为任意数量,只需执行以下操作:
cutoff=12
x_3times=np.concatenate([np.arange(0,5)表示范围(3)中的x)][:截止]
这将导致:
数组([0,1,2,3,4,0,1,2,3,4,0,1])
然而,这不是一个非常有效的代码行,特别是在处理大量数据时。另一个答案可能是制造发电机:
def发生器(arr,n,切断=无):
长度=长度(arr)
如果切断:
对于范围内的i(截止):
收益率arr[i%长度]
其他:
对于范围内的u(n):
对于arr中的i:
产量一
array=np.array([x代表生成器中的x(np.arange(0,5,3,12)])
只需尝试列表理解:
x_3times=np.concatenate([np.arange(0,5)表示范围(3)中的x)])
其中编号3
可由任何编号n
代替
编辑
如果要将长度限制为任意数量,只需执行以下操作:
cutoff=12
x_3times=np.concatenate([np.arange(0,5)表示范围(3)中的x)][:截止]
这将导致:
数组([0,1,2,3,4,0,1,2,3,4,0,1])
然而,这不是一个非常有效的代码行,特别是在处理大量数据时。另一个答案可能是制造发电机:
def发生器(arr,n,切断=无):
长度=长度(arr)
如果切断:
对于范围内的i(截止):
收益率arr[i%长度]
其他:
对于范围内的u(n):
对于arr中的i:
产量一
array=np.array([x代表生成器中的x(np.arange(0,5,3,12)])
您可以使用
>x_3times=np.tile(x,3)
>>x_3次
数组([0,1,2,3,4,0,1,2,3,4,0,1,2,3,4])
对于重复到某个特定限制,请使用
>x_12=np.resize(x,12)
>>x_12
数组([0,1,2,3,4,0,1,2,3,4,0,1])
您可以使用
>x_3times=np.tile(x,3)
>>x_3次
数组([0,1,2,3,4,0,1,2,3,4,0,1,2,3,4])
对于重复到某个特定限制,请使用
>x_12=np.resize(x,12)
>>x_12
数组([0,1,2,3,4,0,1,2,3,4,0,1])
谢谢!我已经编辑了一些扩展问题-有什么方法吗?(除切片外)在np.tile
之后,谢谢!我已经编辑了一些扩展问题-有什么方法吗?(除切片外)在np.tile
之后,谢谢!我已经编辑了一些扩展问题-有什么方法吗?(切片除外)创建x_3次后
谢谢!我已经编辑了一些扩展问题-有什么方法吗?创建x_3次后(切片除外)
x_12 = np.concatenate([np.arange(0, 5), np.arange(0, 5), np.arange(0, 5)])[0:12]