Python Pandas ve SQL | 2026 Kusursuz Veri Analizi Rehberi

Python Pandas ve SQL

Python Pandas ve SQL, veri analizi, makine öğrenimi ve ETL boru hatlarının temelini oluşturur. Büyük Veri Çerçevelerini işlemek ve karmaşık veritabanı sorgularını çalıştırmak, kod netliğinden ödün vermeden verimlilik gerektirir.

Bu kılavuz, pandasql kurulumunu ve Pandas'ın yerel SQL yöntemlerini ele alır, gerçek dünya DataFrame sorgu örneklerini sunar ve optimizasyon için en iyi uygulamaları ana hatlarıyla belirtir analitik iş akışları ve raporlama.

Python Pandas ve SQL Neden Birleştirilmeli?

Pandalar veri işleme ve analizi için oluşturulmuş bir Python kütüphanesidir. Tablo verilerini dilimlemek, parçalara ayırmak ve dönüştürmek için başvurulacak yerdir. SQL (Yapılandırılmış Sorgu Dili) ise ilişkisel veritabanlarını (MySQL, PostgreSQL, SQLite ve daha fazlasını düşünün) sorgulamak için altın standarttır.

Python Pandas ve SQL Neden Birleştirilmeli?

İşte bu ikisinin harmanlanmasının oyunun kurallarını değiştirecek olmasının nedeni:

okunabilirlik: SQL sorguları, özellikle karmaşık filtreleme, gruplama ve birleştirmeler için eşdeğer Pandas kodundan daha açıktır.
Verimlilik: Çoğu iş verisi SQL veritabanlarında bulunur. Bunları doğrudan Pandas'a çekmek daha az sürtünme ve daha az veri ambarı anlamına gelir.
Esneklik: Ağır sorgular için SQL'i ve gelişmiş analizler, görselleştirmeler ve daha fazlası için Pandas'ı kullanabilirsiniz. makine öğrenme.
Verimlilik: Veri bilimcileri ve analistler, bağlam değiştirmeye gerek kalmadan, SQL veya Python gibi sevdikleri söz dizimine bağlı kalabilirler.

Köprü: pandasql ve Native Pandas SQL Entegrasyonu

pandasql, SQL sorgularının doğrudan Pandas DataFrames üzerinde yürütülmesini sağlayarak, verileri dışa aktar, ayrı bir veritabanı sağlayın veya ek API'ler benimseyin; kullanıcılar yalnızca SQL ifadeleri yazar, ortaya çıkan bir DataFrame alır ve kesintisiz olarak devam eder.

Pandasql'i yükleme

piton

pip install pandasql

Artık SQL ve Pandas'ı bir profesyonel gibi harmanlamaya hazırsınız.

Başlarken: Temel Kullanım

Basit bir örnek üzerinden gidelim. Diyelim ki bir DataFrame'iniz var:

piton

import pandas as pd
import pandasql as psql

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

query = "SELECT * FROM df"
result = psql.sqldf(query, locals())
print(result)

Bu, tıpkı şu şekilde olduğu gibi tam DataFrame'i döndürür: df.head() ancak SQL sözdizimini kullanarak. Artık tıpkı bir veritabanında yaptığınız gibi filtreleyebilir, gruplayabilir ve birleştirebilirsiniz.

Pandas ve SQL ile Gerçek Dünya Veri Analizi

Pratik bir veri setiyle seviye atlayalım. Aşağıdaki sütunlara sahip bir araba satış veri setini analiz ettiğinizi düşünün: brand, model, year, price, mileageVe daha fazlası.

Veri Yükleme ve Keşfetme

piton

import pandas as pd
import pandasql as ps

car_data = pd.read_csv("cars_datasets.csv")
print(car_data.head())

print(car_data.info())
print(car_data.isnull().sum())

Sütun adlarını göreceksiniz, veri tiplerive kaliteli veri analizi için gerekli olan eksik değerler.

Veri Çerçevelerinde SQL Sorgularını Çalıştırma

1

En Pahalı 10 Araba

piton

def q(query):
    return ps.sqldf(query, {'car_data': car_data})

q("""
SELECT brand, model, year, price
FROM car_data
ORDER BY price DESC
LIMIT 10
""")
2

Markaya Göre Ortalama Fiyat

piton

q("""
SELECT brand, ROUND(AVG(price), 2) AS avg_price
FROM car_data
GROUP BY brand
ORDER BY avg_price DESC
""")
3

2015'ten Sonra Üretilen Arabalar

piton

q("""
SELECT *
FROM car_data
WHERE year > 2015
ORDER BY year DESC
""")
4

Markaya Göre Toplam Arabalar

piton

q("""
SELECT brand, COUNT(*) as total_listed
FROM car_data
GROUP BY brand
ORDER BY total_listed DESC
LIMIT 5
""")
5

Koşula Göre Gruplama

piton

q("""
SELECT condition, ROUND(AVG(price), 2) AS avg_price, COUNT(*) as listings
FROM car_data
GROUP BY condition
ORDER BY avg_price DESC
""")
6

Markaya Göre Ortalama Kilometre ve Fiyat

piton

q("""
SELECT brand,
ROUND(AVG(mileage), 2) AS avg_mileage,
ROUND(AVG(price), 2) AS avg_price,
COUNT(*) AS total_listings
FROM car_data
GROUP BY brand
ORDER BY avg_price DESC
LIMIT 10
""")
7

Mil Başına Fiyat

piton

q("""
SELECT brand,
ROUND(AVG(price/mileage), 4) AS price_per_mile,
COUNT(*) AS total
FROM car_data
WHERE mileage > 0
GROUP BY brand
ORDER BY price_per_mile DESC
LIMIT 10
""")
8

Eyaletlere Göre Verilerin Görselleştirilmesi

Etkileşimli panolar için widget'ları ve Plotly'yi bile kullanabilirsiniz:

piton

import plotly.express as px
import ipywidgets as widgets

state_dropdown = widgets.Dropdown(
    options=car_data['state'].unique().tolist(),
    value=car_data['state'].unique()[0],
    description='Select State:',
    layout=widgets.Layout(width='50%')
)

def plot_avg_price_state(state_selected):
    query = f"""
    SELECT brand, AVG(price) AS avg_price
    FROM car_data
    WHERE state = '{state_selected}'
    GROUP BY brand
    ORDER BY avg_price DESC
    """
    result = q(query)
    fig = px.bar(result, x='brand', y='avg_price', color='brand',
                 title=f"Average Car Price in {state_selected}")
    fig.show()

widgets.interact(plot_avg_price_state, state_selected=state_dropdown)

Bu, analizinizi etkileşimli ve görsel olarak çekici hale getirir; gösterge panelleri veya sunumlar.

Pandasql'in ötesinde: Yerel Pandas SQL İşlemleri

Pandasql hızlı SQL tarzı sorgular için harika olsa da, Pandas gerçek veritabanlarıyla (SQLite, PostgreSQL, MySQL gibi) çalışmak için doğrudan SQL entegrasyonunu da destekler:

read_sql(): Bir SQL tablosunu veya sorgusunu bir Veri çerçevesi.
to_sql(): Bir DataFrame'i bir SQL tablosuna yazar.

Örnek: SQL'e Okuma ve Yazma

piton

import pandas as pd
import sqlite3

# Connect to SQLite database
conn = sqlite3.connect(":memory:")

# Create a table and insert data
conn.execute("CREATE TABLE Students (id INTEGER, Name TEXT, Marks REAL, Age INTEGER)")
conn.execute("INSERT INTO Students VALUES (1, 'Kiran', 80, 16), (2, 'Priya', 60, 14), (3, 'Naveen', 82, 15)")

# Read from SQL
df = pd.read_sql("SELECT * FROM Students", conn)
print(df)

# Write to SQL
df.to_sql("Students_Copy", conn, if_exists="replace", index=False)

Bu yaklaşım ETL hatları, raporlama ve üretim verisi iş akışları için mükemmeldir.

Gelişmiş Kullanım Örnekleri: ETL, Makine Öğrenmesi ve Panolar

SQL ve Pandas'ın Gelişmiş Kullanım Örnekleri

SQL ve Pandas'ı birleştirmek yalnızca sorgulama yapmakla ilgili değil; daha akıllı iş akışları oluşturmakla ilgilidir:

ETL Boru Hatları: SQL'i kullanın veri çekme ve dönüşüm ve yükleme için Pandas.
A/B Testi: SQL deney verilerini alır; Python istatistiksel testleri çalıştırır ve sonuçları görselleştirir.
Makine öğrenme: SQL özellikleri getirir; Pandas ve scikit-learn özellik mühendisliği ve modellemesini halleder.
Panolar: SQL veri arka ucunu güçlendirir; Python ve Plotly veya Dash etkileşimli ön uçlar oluşturur.

Pandasql ve Pure Pandas: Ne Zaman Hangisini Kullanmalısınız?

Özellikpandasql (SQL)Saf Pandalar
SözdizimiSQL (çoğu kişiye tanıdık gelir)Python (esnek, güçlü)
okunabilirlikKarmaşık sorgular için yüksekAyrıntılı olabilir
PerformansÇok büyük veri kümelerinde daha yavaşDaha hızlı, Python için optimize edildi
Birleştirmeler/GruplamalarÇok sezgiselDaha fazla kod, ama daha fazla seçenek
Entegrasyonu Hızlı analiz için harikaÜretim iş akışları için en iyisi
Pro ipucu:
Büyük veri kümeleri veya üretim kodu için yerel Pandas veya doğrudan SQL bağlantıları daha hızlı ve daha sağlamdır. Keşif, prototipleme veya SQL'in okunması daha kolay olduğunda pandasql'i kullanın.

Sınırlamalar ve En İyi Uygulamalar

Performans: pandasql büyük veri çerçevelerinde daha yavaş olabilir - doğrudan Pandas'ı düşünün veya SQLAlchemy ağır kaldırma için.
Fonksiyonellik: Pandas'ın bazı gelişmiş özellikleri SQL'de mevcut değildir ve bunun tersi de geçerlidir.
karmaşıklık: Çok adımlı dönüşümler için Pandas yöntemlerini zincirlemek daha anlaşılır olabilir.
Ölçeklenebilirlik: Büyük veriler için Polars, Dask veya Spark DataFrames'e bakın.

Son Düşüncelerimiz

Python Pandas ve SQL'in entegre kullanımı, veri analistleri için temel bir yeterliliktir. AI mühendisler ve araştırma profesyonelleri. Bu metodoloji, ilişkisel veritabanı sorgulamasını Pandas'ın güçlü DataFrame'i operasyonlar, hem verimliliği hem de kod netliğini artırır. Pandasql gibi araçları Pandas'ın yerel SQL entegrasyonuyla birlikte kullanarak, ekipler tutarlı bir ortamda keşifsel veri analizi (EDA), sağlam ETL iş akışları ve makine öğrenimi hatlarını yürütebilir.

Hatırlanması gereken istatistikler:

Veri bilimcilerin %80'den fazlası günlük iş akışlarında Pandas'a güveniyor.
SQL, en çok talep edilen beceri olmaya devam ediyor veri iş ilanları.
Python Pandas ve SQL'i birleştirmek analiz süresini %50'ye kadar azaltabilir.

Bu ikili yaklaşımın benimsenmesi, ölçeklenebilir ve sürdürülebilir analitik süreçlerin sağlanmasını ve ekiplerin uzun vadeli başarıya ulaşmasını sağlar.

Yorum bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlenmişlerdir. *

Bu site spam'i azaltmak için Akismet'i kullanıyor. Yorum verilerinizin nasıl işlendiğini öğrenin.

Katılın Aimojo Kabile!

Her hafta içeriden ipuçları almak için 76,200'den fazla üyeye katılın! 
🎁 BONUS: 200$'lık "AI Kaydolduğunuzda “Mastery Toolkit”i ÜCRETSİZ edinin!

Trend AI Montaj Ekipmanı
stoklama yapay zekası

Yapay Zeka ile Saniyeler İçinde Profesyonel Görseller, Logolar ve Sosyal Medya İçerikleri Oluşturun Hepsi bir arada AI Tasarım ve sosyal medya otomasyon platformu.

Dublaj

Oluştur AI Dakikalar İçinde Seslendirmeler, Konuşan Avatarlar ve Çok Dilli Video İçerikleri Hepsi bir arada AI İçerik oluşturucular için ses ve video içerik oluşturma platformu

ProPhotos AI

Sıradan Özçekimlerinizi 90 Dakikadan Kısa Sürede Stüdyo Kalitesinde Vesikalık Fotoğraflara Dönüştürün Profesyonel ve kusursuz bir portreye ulaşmanın en hızlı yolu.

Ekran Uygulaması

AI Her toplantıyı aranabilir bilgiye dönüştüren ekran kaydı. Uzun süren görüşmeleri tekrar tekrar izlemek istemeyen ekipler için tasarlanmış akıllı kayıt cihazı.

Harika sohbet

İnşa etmek AI Tekrarlanan Taleplerin %92'sini Anında Çözebilen Destek Temsilcileri Kod yok AI Müşteri hizmetleri otomasyonu için chatbot oluşturucu

© Telif Hakkı 2023 - 2026 | Olun AI Pro | ♥ ile yapıldı