2017-05-05 62 views
1

我正在使用閾值向量在2d numpy數組中逐行創建二進制值。示例代碼如下:根據係數調整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])]) 

有沒有辦法讓它更快?

回答

1

執行與coef比較給我們一個布爾數組,然後轉換爲int陣列,從而利用與NumPy的矢量化功能 -

x_out = (x >= coef).astype(int) 
相關問題