我正在嘗試獲取一個陣列,其中顯示每個元素是否等于每一行中的第一個元素:
a = np.array([[1,2,1],[3,3,3],[2,0,1]])
b = a[:,0] == a[:]
print(b)
在第一行應該檢查 1 == 1, 1 == 2, 1 == 1。
在第二行應該檢查 3 == 3, 3 == 3, 3 == 3。
在第三行應該檢查 2 == 2, 2 == 0, 2 == 1。
但是輸出錯誤:
array([[ True, False, False],
[False, True, False],
[False, False, False]])
應該:
array([[ True, False, True],
[ True, True, True],
[ True, False, False]])
現在我做錯了什么以及如何獲得正確的結果?
uj5u.com熱心網友回復:
要進行廣播,您需要重塑以添加額外的維度:
a[:,0,None] == a
輸出:
array([[ True, False, True],
[ True, True, True],
[ True, False, False]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/396607.html
上一篇:通過索引列創建新的資料框
