【发布时间】:2017-07-24 22:46:55
【问题描述】:
我有一个大型 numpy 数组,其中元素增加如下
A = [512,2560,3584,5632,....]
元素总是至少相隔 1024
假设我需要将上面的数组转换为下面的数组,其中对于原始矩阵 A 的每个元素,我采用从 A[n] 到 A[n]+1024 的一系列值(以一个为单位),这些值变为新矩阵的值如下
A2 = [512,513,514,...,1535,2560,2561,2562,...3583,....]
我设置问题的方法是遍历原始矩阵 A,生成A[0] 和A[0]+1024 之间的值范围(例如),将它们分配给新数组等等。代码如下。约定是 A 作为原始种子矩阵
seed = 0
A2 = np.empty(len(A)*1024,)
for ind in range(len(A)):
A2[seed:seed+1024] = np.arange(A[ind],A[ind]+1024)
seed = seed+1024;
我得到了我需要的答案,但我想知道这是否是最好的方法。我是一名 matlab 用户,正在过渡到使用 python 和 numpy,但我还不习惯优化 numpy。我很感激任何帮助。
【问题讨论】:
标签: python arrays numpy matrix