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

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir