Python 根据系数调整numpy数组中的值
我使用一个阈值向量在2d numpy数组中按行创建二进制值。下面提供了示例代码:Python 根据系数调整numpy数组中的值,python,arrays,numpy,Python,Arrays,Numpy,我使用一个阈值向量在2d numpy数组中按行创建二进制值。下面提供了示例代码: import numpy as np x = np.random.rand(100000, 200) coef = np.random.random(x.shape[1]) x = np.array([[1 if x[i,j]>=coef[j] else 0 for j in range(x.shape[1])] for i in range(x.shape[0])]) 还有什么方法可以让它更快吗?执行与c
import numpy as np
x = np.random.rand(100000, 200)
coef = np.random.random(x.shape[1])
x = np.array([[1 if x[i,j]>=coef[j] else 0 for j in range(x.shape[1])] for i in range(x.shape[0])])
还有什么方法可以让它更快吗?执行与
coef
的比较,为我们提供一个布尔数组,然后转换为int
数组,从而利用NumPy的矢量化功能-
x_out = (x >= coef).astype(int)