我有numpy矩陣X = np.matrix([[1, 2], [3, 4], [5, 6]])
和y = np.matrix([1, 1, 0])
,我想根據y矩陣創建兩個新的矩陣X_pos和X_neg。所以希望我的輸出如下:X_pos == matrix([[1, 2], [3, 4]])
和X_neg == matrix([[5, 6]])
。我怎樣才能做到這一點?使用另一個矩陣對NumPy矩陣進行子集
0
A
回答
2
如果你願意創建一個布爾掩碼y
,這變得很簡單。
mask = np.array(y).astype(bool).reshape(-1,)
X_pos = X[mask, :]
X_neg = X[~mask, :]
print(X_pos)
matrix([[1, 2],
[3, 4]])
print(X_neg)
matrix([[5, 6]])
1
隨着np.ma.masked_where常規:
x = np.matrix([[1, 2], [3, 4], [5, 6]])
y = np.array([1, 1, 0])
m = np.ma.masked_where(y > 0, y) # mask for the values greater than 0
x_pos = x[m.mask] # applying masking
x_neg = x[~m.mask] # negation of the initial mask
print(x_pos)
print(x_neg)
相關問題
- 1. 用另一個矩陣對矩陣索引進行子集化
- 2. 使用lapack/blas將矩陣的一個子集乘上另一個矩陣
- 3. 將矩陣複製到另一個矩陣的子集
- 4. NumPy的添加矩陣到另一個矩陣
- 5. 用numpy中的另一個小矩陣替換矩陣的子部分
- 6. 稀疏矩陣子集密集矩陣
- 7. 用另一個矩陣對三維矩陣中的數據進行聚類
- 8. 從另一個矩陣製作矩陣
- 9. 從另一個矩陣生成矩陣
- 10. 連接矩陣到另一個矩陣
- 11. 子集矩陣
- 12. 子集矩陣
- 13. Python numpy矩陣乘以一個對角矩陣
- 14. 與numpy的一個矩陣的對角矩陣,並SciPy的
- 15. 子集二進制矩陣
- 16. 陣列矩陣numpy
- 17. 基於另一個矩陣對一個矩陣排序
- 18. 構建一個numpy矩陣
- 19. 矩陣(scipy稀疏) - 矩陣(密集; numpy陣列)乘法效率
- 20. 使用索引矩陣對Matlab矩陣進行尋址
- 21. 使用2d矩陣加矢量對3D矩陣進行索引
- 22. 在一個矩陣中堆疊子矩陣3d矩陣
- 23. Numpy Toeplitz矩陣
- 24. 乘以矩陣中的每一行由另一個矩陣
- 25. Matlab - 如何使用矩陣來過濾另一個矩陣?
- 26. 使用整數矩陣對數據框進行子集化
- 27. 「串聯」一個numpy的矩陣的行
- 28. 使用NumPy矩陣的列
- 29. 將矩陣創建爲具有來自另一個矩陣的列的子集
- 30. 轉移矩陣元到另一個矩陣的對角線
有什麼特別的原因,他們是矩陣? –
在我以前和以後的代碼中使用矩陣很容易。 – mike