Veri temizleme, şüphesiz veri biliminde çok zaman alır ve eksik veriler, sıklıkla karşılaşacağınız zorluklardan biridir. Pandas, diğer şeylerin yanı sıra veri kümenizdeki eksik değerleri düzeltmenize yardımcı olan değerli bir Python veri işleme aracıdır.

Python pandalarını Kullanarak Eksik Veriler Nasıl Doldurulur?

Eksik verileri bırakarak veya başka değerlerle doldurarak düzeltebilirsiniz. Bu makalede, pandaları kullanarak eksik verileri doldurmanın farklı yollarını açıklayıp keşfedeceğiz.

Pandaları Ayarlayın ve Veri Kümesini Hazırlayın

Başlamadan önce , terminaliniz aracılığıyla pip kullanarak pandaları Python sanal ortamınıza yüklediğinizden emin olun:

pip install pandas

Herhangi bir veri seti ile birlikte takip edebilirsiniz. Bu , Pandas ile yüklenmiş bir excel dosyası olabilir .

Ancak bu makale boyunca aşağıdaki sahte verileri kullanacağız; bu, bazı eksik veya boş değerler ( Nan ) içeren bir DataFrame’dir.

import pandas

df = pandas.DataFrame({‘A’ :[0, 3, None, 10, 3, None],

                       ‘B’ : [None, None, 7.13, 13.82, 7, 7],

                       ‘C’ : [None, “Pandas”, None, “Pandas”, “Python”, “JavaScript”]})

print(df)

Veri kümesi şöyle görünür:

Veri kümesi örneği

Şimdi, pandalarda mevcut olan çeşitli yöntemleri kullanarak bu eksik değerleri nasıl doldurabileceğinizi kontrol edin.

1. fillna() Yöntemini kullanın

fillna () işlevi, veri kümeniz boyunca yinelenir ve tüm boş satırları belirtilen bir değerle doldurur. Bu, ortalama, medyan, modal veya başka herhangi bir değer olabilir.

Bu panda işlemi , bazı isteğe bağlı argümanları kabul eder; aşağıdakilere dikkat edin:

Değer : Eksik satırlara eklemek istediğiniz değerdir.

Yöntem : Eksik değerleri ileri veya geri doldurmanıza izin verin. Bir bfill veya ffill parametresini kabul eder.

Yerinde : Bu, koşullu bir ifadeyi kabul eder. True ise , DataFrame’i kalıcı olarak değiştirir. Aksi halde olmaz.

Şimdi fillna() yöntemiyle eksik verileri doldurma tekniklerini görelim .

Eksik Değerleri Ortalama, Medyan veya Mod ile Doldurun

Bu yöntem, eksik değerlerin hesaplanan ortalamalarla değiştirilmesini içerir. Eksik verilerin bir ortalama veya medyan değerle doldurulması, ilgili sütunların tamsayı veya kayan veri türlerine sahip olması durumunda uygulanabilir.

Eksik verileri de en çok ortaya çıkan değer olan mod değeri ile doldurabilirsiniz. Bu aynı zamanda tamsayılar veya kayan sayılar için de geçerlidir. Ancak söz konusu sütunlar dize içerdiğinde daha kullanışlıdır.

DataFrame’deki eksik satırlara ortalama ve medyanı nasıl ekleyeceğiniz aşağıda açıklanmıştır:

#To insert the mean value of each column into its missing rows:

df.fillna(df.mean(numeric_only=True).round(1), inplace=True)

#For median:

df.fillna(df.median(numeric_only=True).round(1), inplace=True)

print(df)

Ortalama ve medyan değerleri eklemek tüm DataFrame’i etkilerken, modsal değeri eklemek etkilemez. Ancak modu, örneğin C sütunu yerine belirli bir sütuna ekleyebilirsiniz :

df[‘C’].fillna(df[‘C’].mode()[0], inplace=True)

Bununla birlikte, for döngüsü kullanarak her sütunun mod değerini eksik satırlarına bir kerede eklemek hala mümkündür :

for i in df.columns:

    df[i].fillna(df[i].mode()[0], inplace=True)

print(df)

Ortalama, medyan veya modu eklerken sütuna özel olmak istiyorsanız:

df.fillna({“A”:df[‘A’].mean(),

           “B”: df[‘B’].median(),

           “C”: df[‘C’].mode()[0]},

          inplace=True)

print(df)

Ffill Kullanarak Boş Satırları Değerlerle Doldurun

Python pandalarını Kullanarak Eksik Veriler Nasıl Doldurulur?

Bu, fillna() işlevi içinde doldurma yönünün belirlenmesini içerir . Bu yöntem, her eksik satırı, üstündeki en yakın değerle doldurur.

Ayrıca ileriye doğru doldurma da diyebilirsiniz:

df.fillna(method=’ffill’, inplace=True)

Bfill Kullanarak Eksik Satırları Değerlerle Doldurun

Burada, yukarıda bahsedilen ffill yöntemini bfill ile değiştireceksiniz . DataFrame’deki her eksik satırı, altındaki en yakın değerle doldurur.

Buna geriye doğru doldurma denir:

df.fillna(method=’bfill’, inplace=True)

2. replace() Yöntemi

Bu yöntem, Nan değerleriyle sınırlı olmadığı için boş hücreler dışındaki değerleri değiştirmek için kullanışlıdır . DataFrame içinde belirtilen herhangi bir değeri değiştirir.

Ancak, fillna() yöntemi gibi, belirli bir sütundaki Nan değerlerini ortalama, medyan, mod veya başka herhangi bir değerle değiştirmek için replace() işlevini kullanabilirsiniz. Ayrıca inplace anahtar kelime argümanını da kabul eder .

Adlandırılmış bir sütundaki boş satırları ortalama, medyan veya mod ile değiştirerek bunun nasıl çalıştığını görün:

#this requires that you’ve previously installed numpy

import pandas

import numpy

#Replace the null values with the mean:

df[‘A’].replace([numpy.nan], df[‘A’].mean(), inplace=True)

#Replace column A with the median:

df[‘B’].replace([numpy.nan], df[‘B’].median(), inplace=True)

#Use the modal value for column C:

df[‘C’].replace([numpy.nan], df[‘C’].mode()[0], inplace=True)

print(df)

3. Eksik Verileri enterpolate() ile Doldurun

interpolate() işlevi , eksik satırları tahmin etmek için DataFrame’deki mevcut değerleri kullanır. inplace anahtar sözcüğünü True olarak ayarlamak DataFrame’i kalıcı olarak değiştirir.

Bunun nasıl çalıştığını görmek için aşağıdaki kodu çalıştırın:

#Interpolate backwardly across the column:

df.interpolate(method =’linear’, limit_direction =’backward’, inplace=True)

#Interpolate in forward order across the column:

df.interpolate(method =’linear’, limit_direction =’forward’, inplace=True)

Eksik Satırları Dikkatlice Ele Alın

Eksik verileri yalnızca ortalamalar, mod ve diğer yöntemler gibi varsayılan değerlerle doldurmayı düşündük, ancak eksik değerleri düzeltmek için başka teknikler de var. Örneğin veri bilimcileri, duruma bağlı olarak bazen bu eksik satırları kaldırır.

Kullanmadan önce stratejiniz hakkında eleştirel düşünmek çok önemlidir. Aksi takdirde istenmeyen analiz veya tahmin sonuçları alabilirsiniz. Bazı ilk veri görselleştirme stratejileri ve analitiği de yardımcı olabilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir