Python。用一维数组的值替换充满索引的二维numpy数组

1 人不认可

我有一个n x m numpy python数组。这个数组的值在0到10之间,与1D numpy数组的索引一致(1D数组的长度=11,所以是0-10)。这个一维数组存储任意值。我现在想用一维数组中的相应数值来替换我的二维数组的索引值。

我怎样才能做到这一点?

Cheers Norksen

1 个评论
wwii
欢迎来到SO。这不是一个讨论区或教程。请把 tour 并花时间阅读 如何提问 和该页上的其他链接。- 遍历二维数组,用另一个数组的值替换每个项目的值?或者使用二维数组作为一维数组的索引。
python
arrays
numpy
Norksen
Norksen
发布于 2020-07-06
1 个回答
paime
paime
发布于 2020-07-06
已采纳
0 人赞同

用numpy是很简单的。【替换代码0

>>> import numpy as np
>>> imin, imax = 0, 9
>>> values_1d = np.random.randn(imax+1)
>>> values_1d
array([-0.80355548,  1.00645905, -1.17436992, -1.52008027,  0.73544379,
       -0.72175806, -0.69933584, -0.50195895, -0.04588092,  0.86542796])
>>> arr_idxs_2d = np.random.randint(imin, imax, (4, 5))                                              
>>> arr_idxs_2d
array([[6, 7, 4, 3, 1],
       [8, 8, 3, 7, 7],
       [1, 1, 5, 3, 2],
       [6, 2, 3, 6, 8]])
>>> values_1d[arr_idxs_2d]