我是Python新手,对NumPy更是如此,目前还找不到解决这个问题的方法。我有一个Numpy数组a = [1 4 6]和另一个b,其中包含3行和3列全零
a = [1 4 6]
b
[[0 0 0] [0 0 0] [0 0 0]]
我如何给a或B的3个下标赋值v我的想法是这样的
v
for x in range(a): b[x] = v
这不起作用。我也尝试过事先将a转换为list()
a
list()
6tdlim6h1#
假设你想在扁平数组b的第n个索引中赋值v=1,你可以用途:
v=1
a = np.array([1, 4, 6]) b = np.zeros((3, 3)) b.flat[a] = 1
或者使用numpy.unravel_index:
numpy.unravel_index
b[np.unravel_index(a, b.shape)] = 1
输出:
array([[0., 1., 0.], [0., 1., 0.], [1., 0., 0.]])
1条答案
按热度按时间6tdlim6h1#
假设你想在扁平数组
b
的第n个索引中赋值v=1
,你可以用途:或者使用
numpy.unravel_index
:输出: