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.
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.
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.
Ö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.
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 .
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.
Artık uygun veri türü olarak Tarih'e sahip olduğumuzu görebiliriz.
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.
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.
Ş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.
Ş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.
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 .
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.
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 .
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 .
Ve şimdi Tarih'e sahibiz ve diğer tüm veri türlerimiz tamamlandı.
Bunu bir görsele koyarsak, Python'da eksik verilerin işlenmesinde üç farklı enterpolasyon yönteminde böyle görünüyor.
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
Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.
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.
Python'da Self Nedir: Gerçek Dünyadan Örnekler
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.
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.
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.
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 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.
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.
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.