Veri temizleme, şüphesiz veri biliminde çok fazla 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.
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.
1. fillna() Yöntemini kullanın:
bu dolgu() işlevi, veri kümeniz boyunca yinelenir ve tüm boş satırları belirtilen bir değerle doldurur. Bazı isteğe bağlı argümanları kabul eder; aşağıdakilere dikkat edin:
Değer: Bu, eksik satırlara eklemek istediğiniz değerdir.
Yöntem: Eksik değerleri ileri veya geri doldurmanızı sağlar. kabul eder 'bdol' veya 'doldur' parametre.
yerinde: Bu, koşullu bir ifadeyi kabul eder. True ise, DataFrame'i kalıcı olarak değiştirir. Aksi halde olmaz.
Başlamadan önce, pandaları bilgisayarınıza kurduğunuzdan emin olun. Python sanal ortamı kullanarak pip terminalinizde:
pip yükleme pandaları
Ardından, Python betiğinin içinde bir DataFrame alıştırması oluşturacağız ve boş değerler ekleyeceğiz (Nan) bazı satırlara:
ithal pandalar
df = pandalar. DataFrame({'A' :[0, 3, Yok, 10, 3, Yok],
'B': [Yok, Yok, 7.13, 13.82, 7, 7],
'C': [Yok, "Pandalar", Yok, "Pandalar", "Python", "JavaScript"]})
İlişkili:Pandaları Kullanarak Excel Verilerini Python Komut Dosyalarına Aktarma
Şimdi, pandalarda mevcut olan çeşitli yöntemleri kullanarak bu eksik değerleri nasıl doldurabileceğinizi kontrol edin.
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 tam sayı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.
Daha önce oluşturduğunuz DataFrame'deki eksik satırlara ortalama ve medyanı nasıl ekleyeceğiniz aşağıda açıklanmıştır:
#Her sütunun ortalama değerini eksik satırlarına eklemek için:
df.fillna (df.mean().round (1), inplace=Doğru)
#Ortanca için:
df.fillna (df.median().round (1), inplace=Doğru)
yazdır (df)
Mod değerini yukarıdaki ortalama ve medyan için yaptığınız gibi eklemek DataFrame'in tamamını yakalamaz. Ancak bunu, örneğin sütun yerine belirli bir sütuna ekleyebilirsiniz. C:
df['C'].fillna (df['C'].mode()[0], inplace=Doğru)
Bununla birlikte, her sütunun mod değerini eksik satırlarına bir kerede eklemek hala mümkündür. for döngüsü kullanmak:
df.columns'daki i için:
df[i].fillna (df[i].mode()[0], inplace=Doğru)
yazdır (df)
Ortalama, medyan veya modu eklerken sütuna özel olmak istiyorsanız:
df.fillna({"A":df['A'].mean(),
"B": df['B'].medyan(),
"C": df['C'].mode()[0]},
yerinde=Doğru)
yazdır (df)
Ffill Kullanarak Boş Satırları Değerlerle Doldurun
Bu, içerideki doldurma yöntemini şu şekilde belirtmeyi içerir: dolgu() işlev. Bu yöntem, eksik olan her satırı, üstündeki en yakın değerle doldurur.
Ayrıca ileriye doğru doldurma da diyebilirsiniz:
df.fillna (yöntem='ffill', inplace=Doğru)
Bfill Kullanarak Eksik Satırları Değerlerle Doldurun
Burada, değiştireceğiniz doldurmak ile yukarıda belirtilen yöntem bdoldurmak. DataFrame'deki her eksik satırı, altındaki en yakın değerle doldurur.
Buna geriye doğru doldurma denir:
df.fillna (yöntem='bfill', inplace=Doğru)
2. replace() Yöntemi
değiştirebilirsiniz Nan ortalama, medyan, mod veya başka herhangi bir değerle belirli bir sütundaki değerler.
İlişkili:DataFrame'leri Manipüle etmek için pandas Komutları
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:
ithal pandalar
numpy'yi içe aktar #bu, daha önce numpy yüklemiş olmanızı gerektirir
#Boş değerleri ortalamayla değiştir:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#A sütununu medyanla değiştir:
df['B'].replace([numpy.nan], df[B].medyan(), inplace=Doğru)
#C sütunu için mod değerini kullan:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=Doğru)
yazdır (df)
3. Eksik Verileri enterpolate() ile doldurun
bu enterpolasyon() işlevi, eksik satırları tahmin etmek için DataFrame'deki mevcut değerleri kullanır.
Bunun nasıl çalıştığını görmek için aşağıdaki kodu çalıştırın:
#Sütun boyunca geriye doğru enterpolasyon yap:
df.interpolate (yöntem ='doğrusal', limit_direction ='geriye doğru', yerinde=Doğru)
#Sütun boyunca ileri sırada enterpolasyon yap:
df.interpolate (yöntem ='doğrusal', limit_direction ='ileri', yerinde=Doğru)
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.
Ayrıca, stratejinizi kullanmadan önce eleştirel olarak düşünmek çok önemlidir. Aksi takdirde istenmeyen analiz veya tahmin sonuçları alabilirsiniz. Bazı ilk veri görselleştirme stratejileri yardımcı olabilir.
Jupyter Notebook grafikleriyle verilerinizi görüntüleyin.
Sonrakini Oku
- Programlama
- piton
- Programlama
- veri tabanı
Idowu akıllı teknoloji ve üretkenlik konusunda tutkulu. Boş zamanlarında kodlamayla uğraşıyor ve canı sıkılınca satranç tahtasına geçiyor ama arada sırada rutinden kopmayı da seviyor. İnsanlara modern teknolojinin yolunu gösterme tutkusu onu daha fazla yazmaya motive ediyor.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın