「無效值在less_equal遇到」我經歷了RuntimeWarning可能的原因在numpy的
RuntimeWarning: invalid value encountered in less_equal
此行我的代碼生成:
center_dists[j] <= center_dists[i]
兩個center_dists[j]
和center_dists[i]
是numpy arrays
這個警告的原因是什麼?
「無效值在less_equal遇到」我經歷了RuntimeWarning可能的原因在numpy的
RuntimeWarning: invalid value encountered in less_equal
此行我的代碼生成:
center_dists[j] <= center_dists[i]
兩個center_dists[j]
和center_dists[i]
是numpy arrays
這個警告的原因是什麼?
這很可能是因爲輸入中的np.nan
。它的一個示例如下所示 -
In [1]: A = np.array([4, 2, 1])
In [2]: B = np.array([2, 2, np.nan])
In [3]: A<=B
RuntimeWarning: invalid value encountered in less_equal
Out[3]: array([False, True, False], dtype=bool)
對於所有這些比較涉及np.nan
,它會輸出False
。讓我們來確認一下broadcasted
的比較。下面是一個樣本 -
In [1]: A = np.array([4, 2, 1])
In [2]: B = np.array([2, 2, np.nan])
In [3]: A[:,None] <= B
RuntimeWarning: invalid value encountered in less_equal
Out[3]:
array([[False, False, False],
[ True, True, False],
[ True, True, False]], dtype=bool)
請注意其中對應於B
涉及第三個元素np.nan
比較輸出的第三列的結果在所有False
值。
是等長的numpy數組嗎? – wpercy