Numpy dizisinden nan değerleri nasıl kaldırılır (3 yöntem)
Bir NumPy dizisinden NaN değerlerini kaldırmak için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: isnan()’ı kullanın
new_data = data[~np. isnan (data)]
Yöntem 2: isfinite() işlevini kullanın
new_data = data[np. isfinite (data)]
Yöntem 3: Logic_not()’u kullanın
new_data = data[np. logical_not (np. isnan (data))]
Bu yöntemlerin her biri aynı sonucu verir, ancak ilk yöntem girilmesi en kısa olanıdır ve bu nedenle en sık kullanılma eğilimindedir.
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: isnan() kullanarak NaN değerlerini kaldırın
Aşağıdaki kod, isnan() işlevini kullanarak NaN değerlerinin bir NumPy dizisinden nasıl kaldırılacağını gösterir:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[~np. isnan (data)]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
Her iki NaN değerinin de NumPy dizisinden başarıyla kaldırıldığını unutmayın.
Bu yöntem basitçe (~)NaN değeri olmayan tüm dizi öğelerini tutar.
Örnek 2: isfinite() kullanarak NaN değerlerini kaldırın
Aşağıdaki kod, isfinite() işlevini kullanarak bir NumPy dizisinden NaN değerlerinin nasıl kaldırılacağını gösterir:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[np. isfinite (data)]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
Her iki NaN değerinin de NumPy dizisinden başarıyla kaldırıldığını unutmayın.
Bu yöntem, sonlu değerler olan tüm dizi öğelerini basitçe tutar.
NaN değerleri sonlu olmadığından tablodan çıkarılmıştır.
Örnek 3: Logic_not() kullanarak NaN değerlerini kaldırın
Aşağıdaki kod, mantıksal_not() işlevini kullanarak NaN değerlerinin bir NumPy dizisinden nasıl kaldırılacağını gösterir:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[np. logical_not (np. isnan (data))]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
Her iki NaN değerinin de NumPy dizisinden başarıyla kaldırıldığını unutmayın.
Bu yöntem önceki iki yönteme eşdeğer olsa da daha fazla yazım gerektirir ve bu nedenle eskisi kadar sık kullanılmaz.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’da diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar: Boş dizeler NaN ile nasıl değiştirilir?
Pandalar: NaN değerlerinin bir dizeyle değiştirilmesi