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 columnTablo 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 safeGidiş-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 timeHı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
- Python'un sqlite3 Modülüyle SQLite
- Pandas ve SQL Entegrasyonu
- Makine Öğrenmesi Sonuçlarını Depolama ve Sorgulama
- Vektör Veritabanlarına Giriş