0Pricing
Learn AI with Python · Ders

Pandas ve SQL Entegrasyonu

pd.read_sql(), df.to_sql(), SQLAlchemy motoru ve veritabanı sonuçlarını doğrudan DataFrames içine sorgulama.

Pandas ve SQL Entegrasyonu, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Pandas SQL ile Buluşuyor

SQL ile pandas arasında seçim yapmak zorunda değilsiniz — birlikte çalışırlar. Bir veritabanını DataFrame içine sorgulayın, pandas ile dönüştürün ve sonuçları geri yazın.

Bu bağlantıyı sağlayanlar SQLAlchemy ile pandas'ın read_sql ve to_sql işlevleridir.

SQLAlchemy Neden Kullanılır?

pandas, veritabanlarıyla bir bağlantı veya SQLAlchemy motoru üzerinden iletişim kurar. Motor, veritabanı türünü soyutlar; böylece yalnızca URL'yi değiştirerek aynı kod SQLite, PostgreSQL, MySQL ve daha fazlasıyla çalışır.

Motor Oluşturma

create_engine bir bağlantı URL'si alır. URL şeması, veritabanı sürücüsünü tanımlar.

from sqlalchemy import create_engine

engine = create_engine("sqlite:///ml.db")
# Postgres: create_engine("postgresql://user:pass@host:5432/db")

pd.read_sql ile Tablo Okuma

pd.read_sql bir sorguyu çalıştırır veya bir tabloyu okur ve bir DataFrame döndürür. Bir SQL dizesini ve motoru aktarın.

import pandas as pd

df = pd.read_sql("SELECT * FROM experiments", engine)
print(df.head())

Filtrelenmiş Sorguyla Okuma

Filtreleme ve toplulaştırma işlemlerini veritabanına yaptırın, ardından pandas'a daha küçük bir sonuç aktarın. Bu, her şeyi yüklemekten çok daha verimlidir.

df = pd.read_sql(
    "SELECT name, accuracy FROM experiments WHERE accuracy > 0.85 ORDER BY accuracy DESC",
    engine,
)
print(df)

Parametreli Sorgular

Dizeleri biçimlendirmek yerine params bağımsız değişkeniyle sorgu parametrelerini güvenle aktarın.

from sqlalchemy import text

df = pd.read_sql(
    text("SELECT * FROM experiments WHERE name = :n"),
    engine,
    params={"n": "xgb"},
)

df.to_sql ile DataFrame Yazma

df.to_sql(table, engine), bir DataFrame'i veritabanı tablosuna yazar; gerekirse tabloyu DataFrame veri türlerinden oluşturur.

df.to_sql("results", engine, index=False)

Dizin Parametresi

Varsayılan olarak to_sql, DataFrame dizinini bir sütun olarak yazar. Genellikle bunu istemezsiniz — atlamak için index=False aktarın.

df.to_sql("results", engine, index=False)   # no extra index column

Tablo Varsa Davranış Parametresi

if_exists, tablo zaten varsa uygulanacak davranışı belirler:

  • "fail" — hata oluşturur (varsayılan)
  • "replace" — tabloyu silip yeniden oluşturur
  • "append" — mevcut tabloya satır ekler
df.to_sql("results", engine, if_exists="append", index=False)
# Use "replace" to overwrite, "fail" to be safe

Gidiş-Dönüş İş Akışı

Tipik bir işlem hattı şöyledir: ham verileri SQL'den okuyun, pandas'ta dönüştürün ve temizlenmiş sonucu yeni bir tabloya geri yazın.

import pandas as pd
from sqlalchemy import create_engine

engine = create_engine("sqlite:///ml.db")
raw = pd.read_sql("SELECT * FROM experiments", engine)
raw["accuracy_pct"] = (raw["accuracy"] * 100).round(1)
raw.to_sql("experiments_clean", engine, if_exists="replace", index=False)

Büyük Tabloları Parçalar Hâlinde Okuma

Belleğe sığmayacak kadar büyük tablolar için sonuç üzerinde gruplar hâlinde yineleme yapmak üzere read_sql işlevine chunksize aktarın.

for chunk in pd.read_sql("SELECT * FROM big_table", engine, chunksize=10000):
    process(chunk)   # handle 10k rows at a time

Hızlı Kontrol: Satır Ekleme

to_sql işlevinin mevcut tabloyu silmeden tabloya yeni satırlar eklemesini istiyorsunuz.

Özet: pandas ve SQL

Artık verileri pandas ile veritabanları arasında taşıyabilirsiniz:

  • Veritabanından bağımsız bir bağlantı için create_engine(url)
  • Sorgu sonuçlarını bir DataFrame'e yüklemek için pd.read_sql(query, engine)
  • Geri yazmak için df.to_sql(table, engine, index=False, if_exists=...)
  • Güvenlik ve ölçeklenebilirlik için parametreli sorgular ve chunksize

Sıradaki adım: makine öğrenimi denemelerinin sonuçlarını depolamak ve sorgulamak.

Sıkça Sorulan Sorular

“Pandas ve SQL Entegrasyonu” dersi ücretsiz mi?

Evet — “Pandas ve SQL Entegrasyonu” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“Pandas ve SQL Entegrasyonu” dersinde ne öğreneceğim?

pd.read_sql(), df.to_sql(), SQLAlchemy motoru ve veritabanı sonuçlarını doğrudan DataFrames içine sorgulama. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Pandas ve SQL Entegrasyonu” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Python'un sqlite3 Modülüyle SQLite
  2. Pandas ve SQL Entegrasyonu
  3. Makine Öğrenmesi Sonuçlarını Depolama ve Sorgulama
  4. Vektör Veritabanlarına Giriş
← Learn AI with Python Sayfasına Dön