给定另一个 numpy 数组,用零替换 numpy.ndarray 的一些元素
Replace some elements of numpy.ndarray with zero given another numpy array
我需要知道以下情况的最有效方法。有一个形状为 11k*11k 的 numpy.ndarray,在给定形状为 11k 的二进制 numpy 数组的情况下,我需要强制某些行的所有元素为零。一个玩具示例可以描述如下:
输入:
x = np.array([[2, 1, 1, 2],
[0, 2, 1, 0],
[1, 0, 1, 1],
[2, 2, 1, 0]])
ref = np.array([0, 1, 1, 0])
输出:
y = ([[0, 0, 0, 0],
[0, 2, 1, 0],
[1, 0, 1, 1],
[0, 0, 0, 0]])
使用这个 -
y = np.multiply(x.T,ref).T
array([[0, 0, 0, 0],
[0, 2, 1, 0],
[1, 0, 1, 1],
[0, 0, 0, 0]])
我需要知道以下情况的最有效方法。有一个形状为 11k*11k 的 numpy.ndarray,在给定形状为 11k 的二进制 numpy 数组的情况下,我需要强制某些行的所有元素为零。一个玩具示例可以描述如下:
输入:
x = np.array([[2, 1, 1, 2],
[0, 2, 1, 0],
[1, 0, 1, 1],
[2, 2, 1, 0]])
ref = np.array([0, 1, 1, 0])
输出:
y = ([[0, 0, 0, 0],
[0, 2, 1, 0],
[1, 0, 1, 1],
[0, 0, 0, 0]])
使用这个 -
y = np.multiply(x.T,ref).T
array([[0, 0, 0, 0],
[0, 2, 1, 0],
[1, 0, 1, 1],
[0, 0, 0, 0]])