0
我有一個非常奇怪的問題,numpy.nonzero()。它對於不是1或-1的值表現良好,但對於這兩個值,似乎會產生奇怪的結果。Numpy.nonzero對於值爲1或-1的行爲很奇怪
例如,
goalmat = np.matrix([[2, 0, 1], [-1, 0, -1]])
使得
matrix([[ 2, 0, 1],
[-1, 0, -1]])
現在,使用numpy.nonzero(goalmat == x)的只能部分:
>>> np.nonzero(goalmat == 1)
(matrix([[0]]), matrix([[2]]))
>>> np.nonzero(goalmat == -1)
(matrix([[1, 1]]), matrix([[0, 2]]))
而且
>>> goalmat = np.matrix([[2, 2, 1], [-1, 1, -1]])
>>> goalmat
matrix([[ 2, 2, 1],
[-1, 1, -1]])
>>> np.nonzero(goalmat == 1)
(matrix([[0, 1]]), matrix([[2, 1]]))
>>> np.nonzero(goalmat == -1)
(matrix([[1, 1]]), matrix([[0, 2]]))
所以它似乎給1的正確位置,如果我要求-1 ...
我誤用/誤解numpy.nonzero()?
這看起來像正確的輸出,我...對於每一個真正的位置,你有指數爲0軸矩陣和指數的對軸1 –
矩陣你是對的> ___ <我會編輯我的問題,必須找到正確的數據。 –
對不起,我只是從shell中錯誤的測試運行,你是完全正確的。我用真正奇怪的結果解決了這個問題,至少我覺得他們很奇怪:) –