Pandalarda Ustalaşmak: Bir Sonraki Projeniz İçin Önemli Panda İşlevleri

Yayınlanan: 2020-11-30

Pandas kütüphanesi, kullanımı kolay doğası, çok çeşitli işlevleri ve sonuçların daha iyi yorumlanması nedeniyle tüm Veri Bilimcileri veya analistleri için tüm zamanların favorisi olmuştur. Veri Bilimi yolculuğuna başlayan herhangi bir kişinin, pandalar üzerinde iyi bir komuta sahip olması, verileri temizleme ve ön işleme için manuel çabayı azaltmak için boru hatları oluşturması önerilir.

Pandalar, komutların daha hızlı yürütülmesini ve işin daha kısa sürede yapılmasını sağlayan Numpy üzerine kurulmuştur. Bu yazıda, projenizin kod kalitesini zenginleştirebilecek bazı yetersiz panda fonksiyonlarını paylaşacağız.

Devam etmeden önce, işte hızlı bir efsane:

  • Bahsedilen tüm komutlar, veri çerçevesinin bir pd.DataFrame() nesnesi olan 'df' olarak adlandırıldığını varsayar.
  • Pandalar kitaplığı, 'pd' olarak bir takma ad olarak içe aktarıldı.

İçindekiler

Dize Erişimcileri

Dize veya metin verileri, bir veri kümesine önemli bir katkıda bulunur. Yazar, başlık, bir kitabın yayınlanması veya belirli bir hashtag için atılan tweetler ile ilgili bilgiler olsun, çok sayıda metin verisine sahibiz ve bu veriler düzgün bir şekilde temizlendiğinde ve Naive Bayes gibi herhangi bir sınıflandırıcıya beslendiğinde kullanışlı oluyor. Uygulayabileceğiniz bazı püf noktaları şunlardır:

  • Dize türü verilere erişmek için 'str' erişimcisini kullanın. Örneğin, df['sütun_adı'].str
  • Bu, seçilen sütundaki tüm dize işlemlerini yapmayı mümkün kılar.
  • Bazı yaygın işlemler şunları içerir:
    • df['column_name'].str.len(): her dizenin uzunluğu
    • .str.split(): Belirli bir karakterde bölme
    • .str.contains(): Belirli bir kelimenin dizede bulunup bulunmadığı hakkında T/F döndürür
    • .str.count(): Geçirilen normal ifadeyi karşılayan satır sayısını döndürür.
    • .str.findall(): Geçirilen ifadeyle eşleşen sonuçları döndürür.
    • .str.replace(): findall ile aynı, ancak burada eşleşen öğelerin değiştirilmesi gerçekleşir
    • .title, .isalpha, .isalnum, .isdecimal vb. gibi tüm dize işlemleri desteklenir.

Ayrıca Okuyun: Pandas Dataframe Astype

Tarih Saat Erişimcileri

Tarihler ve saat, veri kümelerinde genellikle zaman damgaları, başlangıç ​​zamanı, bitiş zamanı veya bu olayla ilişkili diğer herhangi bir zamanlama biçiminde bulunur. Gelecekteki olayları tahmin etmek için ortaya konabilecek bir zaman çizelgesi boyunca trendler verdiğinden veya biz buna zaman serisi analizi olarak alıntı dediğimiz için bu verileri düzgün bir şekilde ayrıştırmak yararlıdır. Bazı yararlı komutları görelim:

  • DateTime verilerine erişmek için, pd.to_datetime() işlevini kullanarak geçerli veri türünü (tarih değerleri dize veya nesne olarak ayrıştırılır) DateTime'a dönüştürün.
  • Şimdi, '.dt' erişimcisini kullanarak, aşağıdakiler gibi gerekli herhangi bir DateTime bilgisine erişebiliriz:
    • df['column_name'].dt.day: Tarihin gününü döndürür.
    • .dt.time: Zaman
    • .dt.year: Tarihin yılı
    • .dt.month: Tarihin ayı
    • .dt.weekday: Pazar, Pazartesi… olup olmadığı, 0'ın Pazartesi'yi temsil ettiği sayısal biçimde. Gün adları istiyorsanız, .dt.day_name kullanın
    • .dt.is_month_start: Tarihin ayın ilki olmasına bağlı olarak T/F'yi döndürür.
    • .dt.is_month_end Month_start ile aynı işlevsellik ancak burada ayın son tarihi doğrulanır.
    • .dt.quater: Tarihin hangi çeyrekte olduğunu verir
    • .dt.is_quater_start: Tarihin çeyreğin ilk günü olup olmadığını T/F döndürür
    • .dt.is_quater_end: çeyreğin son günü olup olmadığı
    • .dt.normalize: Zaman bileşeni analize değerli bir katkı sağlamadığında göz ardı edilebilir. Bu komut, zamanı gece yarısına, yani 00:00:00'a yuvarlar.

Pandalar Çizimi

Çizim görselleştirmeleri, Veri Analizinin temel bileşenlerinden biridir ve özellik mühendisliğini gerçekleştirirken önemli bir rol oynar. Örneğin, bir veri kümesindeki aykırı değerler, uç değerlerde uç değerler bırakarak ortanca ve çeyrekler arası aralığı temsil eden kutu grafikleri kullanılarak tespit edilebilir.

Çizim çoğunlukla seaborn, plotly, bokeh, matplotlib gibi diğer kütüphaneler aracılığıyla yapılır, ancak kütüphaneleri açıkça tanımlamadan verileri anında görselleştirmek istediğinizde? Pandalar çözümü buldu. pd.plot() işlevini kullanarak, matplotlib kullanılarak dahili olarak çağrılan grafikleri doğrudan çizebilirsiniz. Bunun için çeşitli seçenekler mevcuttur:

  • df.plot() veya df['column_name'].plot() (grafik türüne bağlı olarak)
  • df.plot(), grafiği tanımlayan 'tür' parametresine sahiptir. Varsayılan olarak, bir 'çizgi' grafiğidir, ancak mevcut diğer seçenekler 'bar', 'barh', 'box', 'hist', 'kde' vb.
  • Matplotlib arka ucunu çağırır, bu da argümanlarına bir 'balta' erişimcisi aracılığıyla erişebileceğimiz anlamına gelir.
  • .plot() işlevi ayrıca 'title', 'xticks', 'xlim', 'xlabel', 'fontsize', 'colormap' gibi harici kitaplıkları tanımlama ihtiyacını bir dereceye kadar ortadan kaldıran argümanları da alabilir.

Çeşitli Fonksiyonlar

  • pd.get_dummies(): Verileri önişlerken bazen modele beslenmesi için sayısal forma dönüştürülmesi gereken kategorik verilerle karşılaşılır. Bu kategoriler oldukça düşük olduğunda, one-hot kodlama tercih edilir, ancak bunu manuel olarak yapmak zaman alır. Bu aptallar işlevi yalnızca değerleri dönüştürmekle kalmaz, ayrıca drop_first True olarak ayarlanırsa tüm kategorileri içeren önceki sütunu bırakır.
  • df.query(): Veri çerçevesi üzerine koşullu maske uygulamanızı sağlayan fonksiyondur. Bu ve normal maskeleme arasındaki temel fark, bu işlevin boolean maskesi yerine doğrudan değerleri döndürmesi ve maskeyi oluşturma ve onu veri çerçevesine uygulama çabasını azaltmasıdır.
  • df.select_dtypes(): Bazen bir tür veri türü üzerinde belirli görevleri gerçekleştirmemiz gerekir. Örneğin, harici dosyalardan veri okunurken bazı veri türleri nesne olarak tanımlanır. Verileri temizlerken, veri kümesinin tüm doğru veri türlerine sahip olması gerekir ve bu tür veri türlerinin sayısı fazla olduğunda bunu df.astype('data-type') ile manuel olarak yapmak sıkıcı olacaktır. Bu işlev, belirtilen veri türünü seçer ve .apply() işleviyle birleştirilebilir. Örnek bir kod şöyle görünür:

df.select_dtypes(nesne).apply(astype(str))

Mutlaka Okuyun: Pandalar Mülakat Soruları

Çözüm

Bu atamaya zincirleme denir ve gerçekleştirilecek her adım için değişken tanımlama çabasını azaltmak için veri bilimi görevleri yapılırken çok yaygındır.

Pandalar hakkında bilgi edinmek istiyorsanız, IIIT-B & upGrad'ın çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk, 1'e 1'e kadar olan Veri Biliminde PG Diplomasına göz atın. -1 endüstri danışmanlarıyla, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.