Bir diziden NaN olmayan değerler döndüren bir işleve ihtiyacım var."isnotnan" işlevselliği, bu daha pitonik olabilir?
>>> a = np.array([np.nan, 1, 2])
>>> a
array([ NaN, 1., 2.])
>>> np.invert(np.isnan(a))
array([False, True, True], dtype=bool)
>>> a[np.invert(np.isnan(a))]
array([ 1., 2.])
Python: 2.6.4 numpy: Eğer daha iyi bir yol biliyorsanız 1.3.0
paylaşın, teşekkür ederiz
Not: Eğer pandaları filtrelemek için isnotnan kullanmak istiyorsanız, işte bu yoldur. –
@CharlieHayley pd.notnull() 'pandalar için çok daha iyi bir seçenek değil miydi? –
@JoshD. Kodu kontrol ettim ve pd.notnull() bir nesne dizisindeki bir nesne bir nesnenin bir örneği değilse, negatif değerler döndürerek sayısal değerler yerine * nesneleri * test etmek için kullanılır. Np.isfinite() 'den daha yavaş olacaktır, ancak isteğe bağlı nesne dizilerini (örneğin, listeler dizileri) idare edebilmektedir. Düzgün bul ve dizinin keyfi nesneleri içerebilir eğer iyi bir fikir. Eğer dizinin NaN ve INF dışında sayısal olarak sayısal olduğuna emin olursanız, np.isfinite daha hızlı olur, dolayısıyla kullanım durumuna bağlıdır. Onu getirdiğin için teşekkürler, cevabın yayınlandığı zaman etrafta olduğunu sanmıyorum. –