Python 使用另一个数组分配Numpy数组
是否可以使用另一个数组沿列方向为Numpy数组的某些行索引赋值? 例如:Python 使用另一个数组分配Numpy数组,python,arrays,numpy,Python,Arrays,Numpy,是否可以使用另一个数组沿列方向为Numpy数组的某些行索引赋值? 例如: x = [[0,0], [0,0], [0,0], [0,0]] a = [[0], [1], [0], [1]] the resulting x after some operation, op(x, a) = 1, is x= [[1,0], [0,1], [1,0], [0,1]] 这可能是您需要的: import numpy as np x = np.array([[0,0], [0,0], [0,0
x =
[[0,0],
[0,0],
[0,0],
[0,0]]
a =
[[0],
[1],
[0],
[1]]
the resulting x after some operation, op(x, a) = 1, is
x=
[[1,0],
[0,1],
[1,0],
[0,1]]
这可能是您需要的:
import numpy as np
x = np.array([[0,0],
[0,0],
[0,0],
[0,0]])
a = np.array([[0],
[1],
[0],
[1]])
for idx, i in enumerate(a):
x[idx, i] = 1
或者,没有循环:
x[range(x.shape[0]), a.ravel()] = 1
# x
# array([[1, 0],
# [0, 1],
# [1, 0],
# [0, 1]])
好的,谢谢,我明白了,有没有其他方法可以不用循环来做呢?用
a
怎么决定x
?什么是手术?