gpt4 book ai didi

python - 通过重复 2D numpy 数组中的值创建 4D numpy 数组

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:34 25 4
gpt4 key购买 nike

我有一个 2D numpy 数组,比如 array1 和值。 array1 的尺寸为 2x4。我想创建一个尺寸为 20x20x2x4 的 4D numpy 数组 array2 并且我希望复制数组 array1 以获取此数组。

也就是说,如果 array1

[[1, 2, 3, 4],
[5, 6, 7, 8]]

我要

array2[0, 0] = array1
array2[0, 1] = array1
array2[0, 2] = array1
array2[0, 3] = array1
# etc.

我该怎么做?

最佳答案

一种初始化方法-

array2 = np.empty((20,20) + array1.shape,dtype=array1.dtype)
array2[:] = array1

运行时测试-

In [400]: array1 = np.arange(1,9).reshape(2,4)

In [401]: array1
Out[401]:
array([[1, 2, 3, 4],
[5, 6, 7, 8]])

# @MSeifert's soln
In [402]: %timeit np.tile(array1, (20, 20, 1, 1))
100000 loops, best of 3: 8.01 µs per loop

# Proposed soln in this post
In [403]: %timeit initialization_based(array1)
100000 loops, best of 3: 4.11 µs per loop

# @MSeifert's soln for READONLY-view
In [406]: %timeit np.broadcast_to(array1, (20, 20, 2, 4))
100000 loops, best of 3: 2.78 µs per loop

关于python - 通过重复 2D numpy 数组中的值创建 4D numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42488536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com