Ana içeriğe atla

PYTHON İÇİN SQL FONKSİYONLARI - PART1

 Data Analiz aşaması için SQL olmazsa olmaz bir araçtır. İyi bir model yapabilmek için datayı iyi analiz etmek gerekmektedir. 

Bu yazımda SQL fonksiyonlarının Python kullanılarak nasıl yazılabileceğini göstereceğim. İstenen çıktıyı verecek birden fazla metot olabileceğini unutmadan yazıyı okumanızı tavsiye ederim.  

Bu çalışma için dataseti  buradan indirebilirsiniz. Dataseti,python dosyanızın olduğu dizine "loan_train" adıyla yükleyin. Birçok fonksiyon olduğu için yazıyı partlara ayırdım. Diğer partlara yazının sonundaki yönlendirmelerle ulaşabilirsiniz.

Part1 de SQL de data analiz aşamasında sıklıkla kullanılan aşağıdaki kodların Python'da nasıl yazılacağını öğreneceğiz. Basitten zora doğru gideceğiz. İncelemek istediğiniz koda tıklayarak kodun yazımına doğrudan ilerleyebilirsiniz. İlerlediğiniz sayfadan tekrar buraya dönmek için kural adına tıklamanız yeterlidir.

  1. SELECT  *  FROM X
  2. SELECT A,B,C FROM X
  3. SELECT * FROM X ORDER BY A ASC
  4. SELECT * FROM X ORDER BY A DESC
  5. SELECT * FROM X ORDER BY A DESC,B DESC
  6. SELECT * FROM X ORDER BY A DESC, B ASC
  7. SELECT * FROM X WHERE ....
  8. SELECT A,B,C FROM X WHERE...
  9. SELECT * FROM X WHERE .... AND ....
  10. SELECT * FROM X WHERE .... OR ....
  11. SELECT * FROM X WHERE .... IN ....
  12. SELECT * FROM X WHERE .... NOT IN ...
  13. SELECT * FROM X WHERE .... LIKE ....
  14. SELECT * FROM X WHERE ... NOT LIKE ....
  15. SELECT * FROM X WHERE .... IS NULL
Kodların Pythonda nasıl yazılacağına başlamadan önce kullanacağımız fonksiyonları içeren kütüphaneleri import etmemiz ve dataseti bir değişkene atamamız gerekecektir. Bunun için ;

import pandas as pd
import numpy as np

loan_data=pd.read_csv("loan_train.csv",delimiter=",")
loan_data.head()

kodunu kullanıyoruz. 
Not: delimiter seçeneği sizde farklı olabilir. Dosyayı açıp ayırıcı işareti parametre olarak vermeniz gerekecektir.


loan_data


loan_data[["Loan_ID","Gender","ApplicantIncome"]] #1.yol

loan_data.loc[:,["Loan_ID","Gender","ApplicantIncome"]] #2.yol

loan_data.iloc[:,[0,1,6]] #3.yol


loan_data.sort_values("ApplicantIncome")


loan_data.sort_values("ApplicantIncome",ascending=False)


loan_data.sort_values(["LoanAmount","ApplicantIncome"],ascending=[False,False])

6) SELECT * FROM ORDER BY A DESC, B ASC

loan_data.sort_values(["LoanAmount","Loan_Amount_Term"],ascending=[False,True])


loan_data[loan_data.Loan_Amount_Term>180]


loan_data[loan_data.Self_Employed=="Yes"][["Loan_ID","Gender","Education"]] #1.yol

loan_data[["Loan_ID","Gender","Education"]][loan_data.Self_Employed=="Yes"] #2.yol


loan_data[["Loan_ID","Gender","Education"]][(loan_data.Self_Employed=="Yes") & (loan_data.ApplicantIncome>4000)] 

10) SELECT * FROM X WHERE .... OR ....

loan_data[(loan_data.Gender=="Female") & (loan_data.Education=="Not Graduate")] 

11) SELECT * FROM X WHERE .... IN ....

loan_data[loan_data["Property_Area"].isin(["Urban","Rural"])]

12) SELECT * FROM X WHERE .... NOT IN ...

loan_data[~loan_data["Property_Area"].isin(["Urban","Rural"])]

13) SELECT * FROM X WHERE .... LIKE ....

loan_data[loan_data["Property_Area"].str.contains("Urban")]


14) SELECT * FROM X WHERE .... NOT  LIKE ....

loan_data[~loan_data["Property_Area"].str.contains("Urban")]

15) SELECT * FROM X WHERE ....  IS NULL

Her bir değişkende ne kadar null değer olduğunu görmek için; 

loan_data.isnull().sum()

Belirlenen bir değişkendeki boş kayıtları göstermek için;

loan_data[loan_data.Credit_History.isna()] #1.yol

loan_data[loan_data.Credit_History.isnull()] #2.yol

Yazı çok uzun olduğu için burada kesiyorum. Okuduğunuz için teşekkürler. 

Yorumlar

Most Popular

PYTHON İLE VERİ GÖRSELLEŞTİRME

Merhabalar, Bu yazımda data analiz aşamasında işimizi oldukça kolaylaştıran bir yöntem olan veri görselleştirme üzerinde duracağım. Grafik türlerini göstermeye çalışırken aklıma gelen tüm özellikleri grafiklere koymaya çalıştım. Sizler grafikleri kullanırken işinize yaramayan kodları çıkartabilirsiniz.  Aynı satırda/sütunda birden fazla grafik çizdirmemizi ve ilişkileri daha rahat görmemizi sağlayan subplot konusuna ayrı değineceğim. Subplot için buraya tıklayabilirsiniz.  İncelemek istediğiniz grafiğin adına tıklayarak grafiğin kodunun yazımına doğrudan ilerleyebilirsiniz. İlerlediğiniz sayfadan tekrar menüye dönmek için grafik adına tıklamanız yeterlidir.  Bu yazımda değineceğim grafik türleri: 1)LINE PLOT 2)BAR CHART      2.1) STACKED BAR CHART      2.2) GROUPED BAR CHART 3)BOX PLOT 4)PIE CHART 5)HEATMAP  6)TREE MAP  7)SCATTER PLOT Grafik türleri görmeye başlamadan önce bazı görselleştirme kütüphanelerini import etmek...

PYTHON MAKİNE ÖĞRENMESİ - PIPELINE VE COLUMNTRANSFORMER

Merhabalar, bu yazımda makine öğrenmesi modelleme sürecinde yazdığınız kodların kalitesini ve okunabilirliğini nasıl artıracağınızı anlatacağım. Bunun için Pipeline ve ColumnTransformer fonksiyonlarını kullanacağız. Kodlara geçmeden önce bu fonksiyonların tanımı ve birbirinden ne gibi farkları olduğuna kısaca değineceğim.  Bu yazının asıl amacı Pipeline ve ColumnTransformer yapılarına örnek vermek olduğu için projeyi geliştirme aşamasındaki adımları kendinize göre uyarlayabileceğinizi unutmadan okumanızı tavsiye ederim.  Pipeline Nedir ?  Pipeline;  bir önceki adımdaki çıktının, bir sonraki adımdaki girdiye dönüştüğü birden fazla adımı birbirine bağlayan zincirleme bir yöntemdir. Modelin başından sonuna kadar her bir işlem adımı, tek bir işlem ile tanımlandığı için kodların takibi kolaydır.  Pipeline  yapısını kurabilmek için kullanacağınız fonksiyonlarda  fit ve transform metodlarının bulunması gereklidir.  Yapacağımız projede örnek olarak kend...

PYTHON İLE VERİ GÖRSELLEŞTİRME- SUBPLOTS

Merhabalar, Bu yazımda,  PYTHON İLE VERİ GÖRSELLEŞTİRME yazımda değindiğim subplot konusunu ele alacağım. Subplot; satır veya sütunda bir veya daha çok grafiği çizdirmemizi sağlayan bir grafik türüdür. Bu grafikler aynı tür ve boyutta olabileceği gibi farklı tür ve boyutlarda da olabilir. Kullanıcının istediği tasarımı verebilmesi ve verinin hikayesini daha akıcı bir şekilde anlatabilmesi nedeniyle oldukça kullanışlıdır.  Farklı subplotlar göstermek için araştırma yaparken, çok kolay bir şekilde istediğiniz tasarımı oluşturmayı sağlayan bir fonksiyon ile karşılaştım. Bu fonksiyon matplotlib kütüphanesinden subplot_mosaic . Sizlere bu fonksiyonu anlatabilmek ve çeşitli grafik türlerini tek bir figure altında nasıl oluşturabileceğinizi göstermek amacıyla bir veri seti oluşturdum. Veri setinin amacı görselleştirme çalışması olduğu için lütfen anlam çıkarmaya çalışmayın:)  Kodların anlamlarını tek tek açıklayacağım. En sonda ise hepsini birleştireceğim. B uraya tıklayarak ...