2016-01-22 21 views

risposta

12

Probabilmente accade a causa di uno np.nan da qualche parte negli ingressi coinvolti. Un esempio è mostrato qui sotto -

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) 

Per tutti quei confronti coinvolge np.nan, sarebbe uscita False. Confermiamolo per un confronto broadcasted. Ecco un esempio -

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) 

Si prega di notare la terza colonna nell'output che corrisponde al confronto che coinvolge terzo elemento np.nan in B e che i risultati in tutti i False valori.

+0

Come posso evitare di stampare RuntimeWarning? Sto facendo paragoni che hanno nan, quindi non voglio stamparli tutti .... – LWZ

+0

@LWZ Non vuoi stampare il RuntimeWarning o vuoi dire quali sono stati i confronti a causa del confronto con i NaN ? – Divakar

+0

Non voglio stampare RuntimeWarning. – LWZ

Problemi correlati