1
考慮一個叫做picks_user
的numpy ndarray,形狀爲picks_user.shape = (2016,3)
。 「列」按順序表示變量user,item和count。 '行'代表觀察。如何在幾個可能的值中使用numpy?
當執行:
target_users = picks_user[np.where(picks_user[:,1]== 2711)][:,0]
的結果是另一個numpy的ndarray與具有選擇項目2711
都說target_users
具有形狀target_users.shape = (14,)
用戶。我想用這個數組來獲得由目標用戶挑選的所有項目,類似如下(其中不工作):
picks_user[np.where(picks_user[:,1] == target_users)]
這可能是等同於:
for element in target_users:
picks_user[np.where(picks_user[:,1] == element]
我如何能實現這是一個矢量化的方式,沒有for循環?
UPDATE
請看下面的例子:
a = np.array([ [1,10,1],[2,11,1],[3,12,1],[4,13,1],[5,10,1],[2,13,1],[1,11,1],[5,16,1]])
target_users = a[np.where(a[:,1]==10)][:,0]
在這種情況下target_users = [1 5]
我想要得到的載體是:
[[1,10,1],[5,10,1],[1,11,1],[5,16,1]]
Yeap!就是這樣,謝謝。 –