gpt4 book ai didi

python - 将一个 numpy 数组的值添加到特定索引处的 2D numpy 数组的最快方法

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

我有一个 2D numpy 零数组,一个 numpy 数组列表(可以有不同的长度)和一个索引列表。我想从二维数组中相应行索引的开头添加列表中每个数组的内容。

当然,我可以只遍历数组。但是,我需要对许多不同的样本执行此操作。因此,我想知道是否有人知道执行此操作的更有效方法。

In [1]: A = np.zeros((5, 5))
...: arrays = [np.random.randint(1, 10, size=(1,5)) for i in range(3)]
...: indices = [1, 3, 4]
...: print(arrays)
Out[1]:
[array([3, 1, 3, 6]), array([4, 9]), array([5, 9, 6])]

预期输出:

array([[0., 0., 0., 0., 0.], 
[3., 1., 3., 6., 0.],
[0., 0., 0., 0., 0.],
[4., 9., 0., 0., 0.],
[5., 9., 6., 0., 0.]]

如有任何帮助,我们将不胜感激!

最佳答案

使用zip:

for i, a in zip(indices, arrays):
A[i, :len(a)] = a

输出:

array([[0., 0., 0., 0., 0.],
[3., 1., 3., 6., 0.],
[0., 0., 0., 0., 0.],
[4., 9., 0., 0., 0.],
[5., 9., 6., 0., 0.]])

关于python - 将一个 numpy 数组的值添加到特定索引处的 2D numpy 数组的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57688095/

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