这是一个例子:
假设我想要一个2d阵列形状(20,15)内的5×5网格.它应该看起来像:
array([[ 0,1,2,2],[ 0,[ 3,3,4,5,5],[ 6,6,7,8,8],[ 9,9,10,11,11],11]])
我意识到我可以简单地使用循环和切片来实现这一点,但我可以将它应用于非常大的数组,我担心它的性能太慢或不切实际.
有人能推荐一种方法来实现这一目标吗?
提前致谢.
更新:
提供的所有答案似乎都运作良好.任何人都可以告诉我哪些对大型阵列使用效率最高?通过大阵列,我的意思是它可以是100000 x 100000或更多,具有15 x 15网格单元尺寸.
解决方法 广播是这里的答案:m,n,d = 20,15,5arr = np.empty((m,n),dtype=np.int)arr_vIEw = arr.reshape(m // d,d,n // d,d)vals = np.arange(m // d * n // d).reshape(m // d,1)arr_vIEw[:] = vals>>> arrarray([[ 0,11]])总结
以上是内存溢出为你收集整理的python – Numpy Routine(s)在2d数组中创建一个常规网格全部内容,希望文章能够帮你解决python – Numpy Routine(s)在2d数组中创建一个常规网格所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)