Pandas - notna

notna() Metodu

pandas.notna() metodu, bir dizi benzeri nesne için eksik olmayan (geçerli) değerleri tespit etmek amacıyla kullanılır.

Giriş nesnesinin veya dizisinin NaN, None veya NaT (Zaman Değil) gibi tanınan eksik değerler içerip içermediğini kontrol eder. Kontrol sonucunda, geçerli olması durumunda True, eksik olması durumunda ise False değerini döndüren bir boolean sonuç üretir.

Metot, skaler girdileri, NumPy dizilerini veya Series, DataFrame ve Index gibi daha büyük pandas nesnelerini kabul ederek farklı veri türlerinde çok yönlülüğünü gösterir.

• Bu metot, bir skalar (tekil) veya dizi benzeri bir nesneyi girdi olarak alır ve değerlerin geçerli olup olmadığını (yani, eksik değer olup olmadığını) belirtir.

• Eksik değerler, sayısal dizilerde NaN (Not a Number), nesne dizilerinde None veya NaN, tarih/saat benzeri dizilerde ise NaT (Not a Time) olarak kabul edilir.

Sözdizimi:

pandas.notna(obj)

Parametreler ve Dönüş Değeri

Parametre:

Dönüş Değeri:

İlgili Metotlar ve Yapılar

Aşağıdaki metotlar ve yapılar pandas.notna ile ilişkilidir:

pandas.notna: isna metodunun tersidir.

Series.notna: Bir Series içindeki geçerli değerleri tespit eder.

DataFrame.notna: Bir DataFrame içindeki geçerli değerleri tespit eder.

Index.notna: Bir Index içindeki geçerli değerleri tespit eder.

Örnekler

1. Skalar Argümanlar:

Skalar argümanlar (dizeler dahil) skalar bir boolean ile sonuçlanır:

pd.notna('dog') çıktısı: True

pd.notna(pd.NA) çıktısı: False

pd.notna(np.nan) çıktısı: False

2. NumPy Dizileri (ndarrays):

NumPy dizileri boolean'lardan oluşan bir ndarray ile sonuçlanır. Örneğin;

array = np.array([[ 1, np.nan, 3 ], [ 4, 5, np.nan ]])
print(array)

"""
Çıktı:

[[ 1. nan  3.]
 [ 4.  5. nan]]

"""

için, pd.notna(array) çıktısı şudur:

# print(pd.notna(array))

array([[ True, False, True], 
       [ True, True, False]])

3. Indexler:

Indexler için de boolean'lardan oluşan bir ndarray döndürülür. İçinde None değeri bulunan bir DatetimeIndex kontrol edildiğinde:

index = pd.DatetimeIndex(["2017-07-05", "2017-07-06", 
                         None, "2017-07-08"])

print(index)

"""
Çıktı:
DatetimeIndex(['2017-07-05', '2017-07-06', 
            'NaT', '2017-07-08'], 
            dtype='datetime64[ns]', 
            freq=None)
"""
# Index yapısında None değeri NaT (Not a Time) olarak görünür
print(pd.notna(index))

Çıktı:

array([ True, True, False, True]) 

4. Series ve DataFrame:

Series ve DataFrame için, boolean değerleri içeren aynı tip yapı döndürülür. Örneğin, eksik değer (None) içeren bir DataFrame (df) ele alındığında:

df = pd.DataFrame([['ant', 'bee', 'cat'], ['dog', None, 'fly']])
print(df)

Çıktı:

     0     1    2
0  ant   bee  cat
1  dog  None  fly

pd.notna(df) çıktısı şudur (None değerinin bulunduğu yerde False döner):

  0      1     2
0 True True True
1 True False True

Aynı şekilde, bu DataFrame'in sadece bir sütunu (df) kontrol edildiğinde de boolean içeren bir Series döndürülür:

pd.notna(df[1])

Çıktı:

0 True, 1 False

Kaynak: