Pandas DataFrame’lerinde sıklıkla NaN (Not a Number) değerleri olarak temsil edilen eksik veriler, veri analizinde yaygın bir sorundur. Bu eksik değerleri etkili bir şekilde belirlemek ve ölçmek, veri temizliği ve doğru analiz için çok önemlidir. Bu makale, çeşitli analitik ihtiyaçlar için esneklik sunan, bir Pandas DataFrame’inde NaN değerlerini saymanın birkaç etkili yöntemini inceliyor.
İçindekiler Tablosu
isna()
ile Etkili NaN Sayımı- Dolaylı NaN Sayımı: NaN Olmayan Değerleri Çıkarma
isnull()
ile Kapsamlı NaN Analizi- Bir DataFrame’de Toplam NaN Sayısını Hesaplama
isna()
ile Etkili NaN Sayımı
isna()
yöntemi, NaN değerlerini belirleme ve sayma konusunda doğrudan bir yaklaşım sunar. True
, NaN değerinin varlığını gösteren bir Boole DataFrame döndürür. sum()
yöntemi daha sonra bu True
değerlerini verimli bir şekilde toplar.
Bu örnek DataFrame’i ele alalım:
import pandas as pd
import numpy as np
data = {'col1': [1, 2, np.nan, 4, 5],
'col2': [6, np.nan, 8, 9, 10],
'col3': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
print(df)
‘col1’deki NaN değerlerini sayma:
nan_count_col1 = df['col1'].isna().sum()
print(f"'col1' sütunundaki NaN değerlerinin sayısı: {nan_count_col1}")
Birden fazla sütunda (‘col1’ ve ‘col2’) NaN değerlerini sayma:
nan_count_multiple = df[['col1', 'col2']].isna().sum()
print(f"'col1' ve 'col2' sütunlarındaki NaN değerlerinin sayısı:n{nan_count_multiple}")
Dolaylı NaN Sayımı: NaN Olmayan Değerleri Çıkarma
Alternatif, ancak daha az doğrudan bir yöntem, toplam satır sayısı ile NaN olmayan değerlerin sayısı arasındaki farkı hesaplamayı içerir. count()
yöntemi, sayma işlemi sırasında NaN değerlerini uygun bir şekilde yoksayar.
nan_count_col1 = len(df['col1']) - df['col1'].count()
print(f"'col1' sütunundaki NaN değerlerinin sayısı: {nan_count_col1}")
Bu yaklaşım, NaN ölçümlemesi konusunda farklı bir bakış açısı sunar, ancak isna()
genellikle daha verimli bir çözüm sağlar.
isnull()
ile Kapsamlı NaN Analizi
isna()
‘ya işlevsel olarak benzer olan isnull()
yöntemi, tüm DataFrame’de NaN’leri analiz etmenin özlü bir yolunu sunar. isnull()
‘dan sonra sum()
uygulamak, hem sütun bazlı hem de toplam NaN sayılarını sağlar.
nan_count_all = df.isnull().sum()
print(f"Her sütundaki NaN değerlerinin sayısı:n{nan_count_all}")
total_nan_count = df.isnull().sum().sum()
print(f"DataFrame'deki toplam NaN değerlerinin sayısı: {total_nan_count}")
Bir DataFrame’de Toplam NaN Sayısını Hesaplama
Yukarıda gösterildiği gibi, df.isnull().sum().sum()
, DataFrame içindeki toplam NaN değerlerini doğrudan verir. Bu tek satırlık kod, ilk veri değerlendirmesi için ideal olan eksik veriler hakkında hızlı bir genel bakış sunar.
Özetle, Pandas, NaN değerlerini verimli bir şekilde işlemek için çeşitli yöntemler sağlar. En uygun yaklaşımı seçmek, belirli analitik göreve ve kişisel tercihe bağlıdır. Bu yöntemleri anlamak, sağlam veri temizliği ve analizi için çok önemlidir.