Ana içeriğe geç

Python NaN: Python’da Eksik Değerleri Kontrol Etmenin 4 Yolu

NumPy ve Pandas kullanarak Python’da NaN değerlerini tespit etmenin 4 yolunu keşfedin. Verileri verimli biçimde temizlemek ve analiz etmek için NaN ile None arasındaki temel farkları öğrenin.
· 5 dk. oku

Yapay Zeka ile Keşfedin

Veri bilimi ve analitik dünyasında eksik verilere rastlamak istisnadan çok kuraldır. Eksik değerler analizi çarpıtabilir, yanlış sonuçlara yol açabilir ve genel olarak veri işleme akışını sekteye uğratabilir. Bu boşlukları gidermek, analizinizin bütünlüğünü korumak için kritik önemdedir. Bu makale, Python’da NaN (Not a Number) değerlerini belirlemenin farklı yollarını size sunmayı amaçlıyor.

Kısa Cevap: NumPy’nin isnan() fonksiyonunu veya Pandas’ın .isna() metodunu kullanın

Python’da eksik değerlerle çalışırken yaklaşım, büyük ölçüde üzerinde çalıştığınız veri yapısına bağlıdır.

Tekil Değerler veya Diziler için: NumPy kullanın

NumPy’nin isnan() fonksiyonu, sayısal dizilerde veya tekil değerlerde NaN’leri belirlemek için idealdir; basit ve verimli bir çözüm sunar. İşte kullanımına bir örnek!

import numpy as np

# Single value check
my_missing_value = np.nan
print(np.isnan(my_missing_value))

# Output: True

# Array check
my_missing_array = np.array([1, np.nan, 3])
nan_array = np.isnan(my_missing_array)
print(nan_array)

# Output: [False  True False]

DataFrame’ler için: Pandas kullanın

Pandas, DataFrame veya Series nesneleri genelinde eksik değerleri tespit etmek için .isna() ve .isnull() gibi kapsamlı yöntemler sağlar ve veri analizi iş akışlarıyla sorunsuz bütünleşir.

import pandas as pd
import numpy as np

my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(my_dataframe.isna())

#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

Bu kodu çalıştırdığınızda, çıktı yukarıda gösterildiği gibi NaN değerlerinin varlığını daha ilgi çekici bir bağlamda gösterecektir.

NaN ile None Arasındaki Fark

NaN ile None arasındaki ayrımı anlamak Python’da kritik önemdedir. NaN, başlıca sayısal hesaplamalarda kullanılan, "Sayı Değil"in kayan noktalı gösterimidir. Buna karşılık None, diğer dillerdeki null’a benzer şekilde değerin yokluğunu temsil eden Python nesnesidir. NaN matematiksel veya bilimsel hesaplamalarda kullanılırken, None daha genel amaçlıdır ve verinin bulunmadığını ifade eder.

Python’da NaN Kontrolü için 4 Yol

Veri kümelerinde eksik değerleri belirlemek, veri ön işleme sürecinin kritik bir adımıdır. Hâlihazırda kullandığımız örnekleri sürdürerek Python’da NaN değerlerini kontrol etmenin dört pratik yöntemini inceleyelim.

1. np.isnan() ile NaN kontrolü

Daha önce gördüğümüz gibi, NumPy hem tekil değerlerde hem de dizilerde NaN değerlerini belirlemek için basit bir yaklaşım sunar; bu, sayısal veri analizi için esastır.

import numpy as np

# Checking a single value
print(np.isnan(np.nan))

# Output: True

# Checking an array
my_array = np.array([1, 5, np.nan])
print(np.isnan(my_array))

# Output: [False False  True]

2. pd.isna() kullanarak NaN kontrolü

Pandas, skalerlerden karmaşık DataFrame’lere kadar veri yapılarında NaN değerlerini tespit etmeyi kolaylaştırır ve veri işleme görevleri için vazgeçilmezdir.

import numpy as np
import pandas as pd

# Checking a single value
print(pd.isna(np.nan))

# Output: True

# Checking a pandas Series
my_series = pd.Series(["Python", np.nan, "The Best"])
print(my_series.isna())

# Output:
# 0    False
# 1     True
# 2    False

# Checking a pandas DataFrame
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(pd.isna(my_dataframe)) # Output a DataFrame with True for missing values

3. Pandas .isna() veya .isnull() metodlarını kullanarak DataFrame’lerde NaN kontrolü

Pandas DataFrame’leri ayrıca veri kümeleri genelinde eksik değerleri zahmetsizce tespit etmek için .isna() ve .isnull() metodlarını sunar; bu da verinin bütünlüğüne dair net bir görünüm sağlar.

import numpy as np
import pandas as pd

# Create a dataframe with missing values
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(my_dataframe.isna())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

print(my_dataframe.isnull())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

4. math.isnan() kullanarak DataFrame’lerde NaN kontrolü

Tekil sayı kontrolleri için, özellikle saf Python veri tipleriyle çalışırken, math.isnan() fonksiyonu basit ama etkili bir çözümdür.

import math

# Assuming my_number is a float or can be converted to one
my_number = float('nan')
print(math.isnan(my_number))

# Output: True

Son Düşünceler ve Ek Kaynaklar

NaN değerlerini belirlemek ve yönetmek, verilerinizi analiz için temizleme ve hazırlama sürecinin temel bir adımıdır. Diziler, seriler veya veri çerçeveleriyle çalışıyor olun, Python’da eksik verilerle başa çıkmak için mevcut araçları ve yöntemleri anlamak esastır. Daha fazla bilgi için aşağıdaki kaynaklara göz atın:

Adel Nehme

Yazar

Adel Nehme

Adel, Veri Bilimi eğitmeni, konuşmacı ve DataCamp’te Medya Başkan Yardımcısıdır. Adel, veri analizi, makine öğrenimi ve veri mühendisliği üzerine çeşitli kurslar ve canlı eğitimler yayınlamıştır. Kuruluşlar genelinde veri becerilerini ve veri okuryazarlığını yaygınlaştırmaya ve teknolojinin toplumla kesişimine tutkuyla bağlıdır. Veri Bilimi ve İş Analitiği alanında yüksek lisans derecesine sahiptir. Boş zamanlarında onu kedisi Louis ile vakit geçirirken bulabilirsiniz.

Konular

İlgili