Enterpolasyon Yöntemi Kullanarak Pythonda Eksik Verileri İşleme

Enterpolasyon, verilen noktalar arasında nokta oluşturmak için bir yöntemdir. Bu öğreticide, Python'da eksik verileri işlemek için Enterpolasyonu nasıl kullanabileceğinizi göstereceğim. Bu eğitimin tam videosunu bu blogun alt kısmından izleyebilirsiniz.

Python'da Enterpolasyon, verileri önceden işlerken veri çerçevesi veya serilerdeki eksik değerleri yüklemek için çoğunlukla kullanılan bir tekniktir. LuckyTemplates'da Python kullanarak verilerinizdeki eksik veri noktalarını tahmin etmek için bu yöntemi nasıl kullanabileceğinizi göstereceğim .

Aşağıda, üst grafikte gösterilen orijinal verilerimize bakarsak, orada hiçbir şey olmadığı için grafiğini çizemeyeceğimiz çok sayıda boşluk veya eksik veri olduğunu görebiliriz. Ancak alttaki grafikte, bu verilerin nasıl görünebileceğini anlamak için bazı tahminler yaptığımızı görebiliriz. Gerçek veriler açık mavi ile temsil edilirken Enterpolasyonlu veriler koyu mavi ile gösterilir.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Yapacağımız birkaç farklı tahmin türü var. Lineer Enterpolasyon, En Yakın Enterpolasyon ve ardından Ağırlıklı Zaman Enterpolasyonu yapacağız. Bunların her biri bize biraz farklı sonuçlar verecek.

Yukarıdaki örnek, günlere göre ağırlıklandırılmış olması haricinde, Lineer Enterpolasyon ile hemen hemen aynı görünen Ağırlıklı Zaman Enterpolasyonunu kullanıyor. Doğrusal, bu iki veri noktası arasındaki eğime dayalı olarak verileri tahmin etti. En Yakın Enterpolasyon, aşağıda görebileceğiniz gibi daha düz bir tahmin türüne sahiptir, burada en yakın değere baktık ve bu ikisi arasında ne olduğunu tahmin edebildik.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Öyleyse, bir Jupyter not defterine atlayalım ve onu getirelim.

İçindekiler

Python'da Eksik Verilerin İşlenmesinde Enterpolasyon Nasıl Kullanılır?

Her şeyi komut dosyası haline getirmek için Komut Dosyası Düzenleyici'yi kullanabilirsiniz, ancak bu daha kolaydır. Jupyter not defterinizde daha fazla geri bildirim alırsınız. Öyleyse ne yaptığımızı belgeleyelim. Bunu kopyalayıp Python Komut Dosyası Düzenleyicimize yapıştırdığımızda, çok temiz ve anlaşılır olacaktır.

İstediğimiz kütüphaneleri import edelim ve Pandaları import edip değişken PD olarak kaydedeceğiz. Numpy'yi içe aktaracağız ve onu NP değişkeni olarak kaydedeceğiz. Pandas bir veri manipülasyon kütüphanesidir, Numpy ise veri manipülasyonu yapmamıza izin verir ve bize bazı lineer cebir verir.

Veri kümemizi getirmek istiyoruz ve bunu df değişkeni olarak kaydedeceğiz . Ve sadece Pandas değişkenini ( pd ) ve read.csv işlevini kullanacağız . Ardından, PC'mizde bu dosyanın bulunduğu yere kopyalayıp yapıştıracağız. Benimki çalışma dizinimde, bu yüzden tek yapmam gereken makineler.csv yazmak ve bunu parantez içinde özetlemek.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Ve sadece df değişkenini kullanarak veri kümemize bir göz atalım. Bunun 2022'nin 1'inden 25'ine kadar gittiğini görebilirsiniz. 15'ine kadar ardı ardına günler var ve sonra 19'unda dört gün kayıp var ve sonra 22'sine geldiğimizde üç gün ve 25'inde iki gün kayıp var.

Atlanan günler eksik veri değildir. Bu sadece veri kümemizdeki veriler değil. Bizim ilgileneceğimiz şey, bu NaN ile temsil edildiğini veya değersiz olduğunu gördüğünüz eksik verilerdir.

Artık veri kümemizi yerleştirdiğimize göre, farklı yorumlama türlerimizi kullanalım ve bunları farklı sütunlar olarak kaydedelim. Bir metinle temsil edilen bir nesneye sahip olduğumuzu ve ayrıca bir kayan noktamız olduğunu görebiliriz .

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Parantez gösterimini kullanarak Tarih sütununu izole edeceğim . Sonra, bunu atamak için eşittir kullanacağım. pd değişkenini kullanacağım ve sonra sadece to_datetime işlevini kullanıyorum. Sonra o fonksiyonu parantez ile kapatıp Tarih sütununa ekleyeceğim.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Artık uygun veri türü olarak Tarih'e sahip olduğumuzu görebiliriz.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Burada 1'den 18'e kadar rakamlarla gösterilen bir indeksimiz var. Linear yaptığımızda, mevcut veri noktaları arasında lineer bir bağlantı oluşturmak için bu numaraları kullanacağız. Ancak aynı zamanda zamana bakan ve bize gerçek günlere dayalı sonuçları veren Zaman Ağırlıklı Enterpolasyon kullanabilmek istiyoruz. Tarih sütununu dizin olarak ayarlamak istiyoruz, böylece onu kullanabiliriz.

Veri çerçevesi (df) değişkenimi kullanacağım ve set_index yapacağım. Kalıcı olarak iletildiğinden emin olmak için inplace adlı bir parametreyi girmemiz gerekiyor . Bu yüzden, inplace eşittir true kullanacağım ve sonra shift'e basıp enter'a basacağım. Ve bununla, sayısal indeksin kaybolduğunu görebilirsiniz ve bir Datetime indeksimiz var.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Artık istediğimiz sütunları oluşturmaya başlayabiliriz. Bu eksik değerleri en yakın değerle dolduracak en yakın veri noktasını enterpolasyon yaptığımız bir sütun oluşturalım. users_nearest adlı bir sütun oluşturmak istiyoruz ve bunu bir Kullanıcılar sütununa atamak istiyoruz .

user_nearest adlı bir sütun oluşturmak istiyoruz ve bunu bir kullanıcı sütununa atamak istiyoruz. Ve şimdi bu sütunu izole ettiğimize göre, enterpolasyon işlevini kullanabiliriz ve bu işlevin hangi parametreleri aldığını görmek için shift-tab'a basabiliriz. Birçok farklı yöntem türü vardır.

Varsayılanın doğrusal olduğunu görebilirsiniz ve tüm farklı yöntemleri görmesini istiyorsanız, bunun içinde bilgi var. Bunu sonuna kadar açabilirsiniz ve burada size pek çok fikir verecek pek çok bilgi var. Ancak Pandas sitesine gidip tüm farklı enterpolasyon türlerinin ne olduğunu görmek her zaman daha iyidir.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Şimdi istediğimiz metoda geçeceğiz ve Nearest Interpolation metodunu kullanacağız. Tek yapmamız gereken bunu çalıştırmak ve bir sütunun oluşturulduğunu görebilirsiniz. Belirli bir satıra bakarsak, bunu eksik bir değer olarak görebiliriz. Ve en yakın değerin alındığı yerde enterpolasyon yapıldığını ve buraya eklendiğini görebilirsiniz. Gördüğünüz gibi, o satır için artık kayıp değerlerimiz yok.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Şimdi bunu iki kez kopyalayalım ve bu kolonların isimlerini user_linear ve user_time olarak değiştirelim . Başlıklarımıza uyması için yöntemleri de değiştireceğiz. Kaydırabilir ve girebiliriz ve farklı enterpolasyon yöntemlerine dayalı üç sütun oluşturduğumuzu görebilirsiniz.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Daha sonra, verilerimizdeki bir bayrak gibi, bunlardan hangilerinin boş olduğunu belirtmemize izin veren belirli bir sütun daha oluşturmak istiyorum. Bunun için Numpy kullanacağız.

Yani, df adında yeni bir sütun oluşturacağız ve sonra buna bayrak diyeceğiz. Bunu eşittir işaretiyle atayacağız. Ardından, Numpy değişkenimiz olan np'yi kullanacağız . Ardından, koşullu bir işlev olan where işlevini kullanacağız . Koşulu koyuyoruz ve sonra doğru ve yanlış için bir örnek alıyoruz. Python'da eşit olan çift eşittir kullanıyoruz. Doğru olduğunda, Eksik Veri demek istiyoruz . Diğer seçenek Data olacaktır .

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Bu bayrağı görselimizde kullanabiliriz. Not defterinize girdikten sonra, dönüştürmek için gidin ve Python betiğini çalıştır'a basın. Şimdi birkaç farklı adım var. Bunun LuckyTemplates ortamında çalışmasını sağlamamız gerekiyor .

Burada tüm kodlarımız var ve birkaç adım daha eklememiz gerekiyor. Birincisi, tarih-saat ile uğraşırken, herhangi bir hatamız varsa onu zorlayabileceğinizi veya değiştirmeye çalışabileceğinizi söyleyen bir hata parametresi eklememiz gerekiyor. Bu yüzden, buraya hataları equal ve ardından parantez zorlama koyacağım . Ardından, veri kümesi değişkenini df olarak yeniden atamamız gerekiyor.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

TAMAM'a tıkladığımızda başka bir hata alıyoruz ve bunu düzeltmek için yapmamız gereken şey bu. Adımlarımızı gözden geçirecek olursak tarihimizi formatlamamamız gerekiyor. Tarihler her platform için benzersiz olduğundan Python'un tarihlerle çalışmasına izin vereceğiz. Yapmamız gereken ilk şey, Changed Type'tan kurtulmak .

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Tarih dizin olduğu için Tarih sütunumuz yok. Böylece, Python betiğimize geri dönüyoruz ve ardından df.reset_index dizinimizi sıfırlıyoruz . O parantezdeki Tarih sütununu atlayarak sıfırlamak istediğimizi söylüyoruz ve sonra inplace = true yapmak istiyoruz .

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Ve şimdi Tarih'e sahibiz ve diğer tüm veri türlerimiz tamamlandı.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme

Bunu bir görsele koyarsak, Python'da eksik verilerin işlenmesinde üç farklı enterpolasyon yönteminde böyle görünüyor.

Enterpolasyon Yöntemi Kullanarak Python'da Eksik Verileri İşleme


LuckyTemplates'da Döviz Kurları:
LuckyTemplates Veri Raporlarında Eksik Veri Python Komut Dosyasını
İşleme Python'da Örnek Veri Kümelerini Yükleme

Çözüm

Bu öğreticide, Python'da eksik verileri işlemek için üç enterpolasyon yöntemi öğrendiniz . Doğrusal, En Yakın ve Ağırlıklı Zaman Enterpolasyon yöntemlerini tartıştık.

Umarım bunu faydalı bulur ve kendi işinizde uygularsınız. Daha fazla ayrıntı için aşağıdaki eğitim videosunun tamamını izleyebilir ve Python'da eksik verilerin işlenmesiyle ilgili daha fazla ilgili içerik için aşağıdaki bağlantılara göz atabilirsiniz.

Herşey gönlünce olsun!

Gaelim

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.