0Pricing
Learn AI with Python · Pelajaran

Integrasi Pandas dan SQL

pd.read_sql(), df.to_sql(), mesin SQLAlchemy, dan mengkueri hasil basis data langsung ke DataFrames.

Integrasi Pandas dan SQL adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Pandas Bertemu SQL

Anda tidak perlu memilih antara SQL dan pandas—keduanya dapat bekerja sama. Kuerikan basis data ke dalam DataFrame, ubah dengan pandas, lalu tulis kembali hasilnya.

Perekatnya adalah SQLAlchemy ditambah fungsi pandas read_sql dan to_sql.

Mengapa SQLAlchemy?

pandas berkomunikasi dengan basis data melalui koneksi atau mesin SQLAlchemy. Mesin tersebut mengabstraksikan jenis basis data, sehingga kode yang sama dapat digunakan untuk SQLite, PostgreSQL, MySQL, dan lainnya—cukup ubah alamatnya.

Membuat Mesin

create_engine menerima URL koneksi. Skema URL mengidentifikasi pengandar basis data.

from sqlalchemy import create_engine

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

Membaca Tabel dengan pd.read_sql

pd.read_sql menjalankan kueri atau membaca tabel, lalu mengembalikan DataFrame. Teruskan string SQL dan mesin.

import pandas as pd

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

Membaca dengan Kueri yang Disaring

Biarkan basis data melakukan penyaringan dan agregasi, lalu serahkan hasil yang lebih kecil kepada pandas. Ini jauh lebih efisien daripada memuat semuanya.

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

Kueri Berparameter

Teruskan parameter kueri secara aman dengan argumen params, bukan dengan memformat string.

from sqlalchemy import text

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

Menulis DataFrame dengan df.to_sql

df.to_sql(table, engine) menulis DataFrame ke tabel basis data, lalu membuat tabel tersebut dari tipe data DataFrame jika diperlukan.

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

Parameter Indeks

Secara bawaan, to_sql menulis indeks DataFrame sebagai kolom. Biasanya Anda tidak menginginkan hal itu—teruskan index=False untuk melewatinya.

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

Parameter Saat Tabel Sudah Ada

if_exists mengatur perilaku saat tabel sudah ada:

  • "fail" — menghasilkan galat (bawaan)
  • "replace" — menghapus dan membuat ulang tabel
  • "append" — menambahkan baris ke tabel yang ada
df.to_sql("results", engine, if_exists="append", index=False)
# Use "replace" to overwrite, "fail" to be safe

Alur Kerja Dua Arah

Alur umum: baca data mentah dari SQL, ubah di pandas, lalu tulis hasil yang sudah dibersihkan ke tabel baru.

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)

Membaca Tabel Besar secara Bertahap

Untuk tabel yang terlalu besar untuk dimuat ke memori, teruskan chunksize ke read_sql agar hasil dapat diproses secara berkelompok.

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

Pemeriksaan Singkat: Menambahkan Baris

Anda ingin to_sql menambahkan baris baru ke tabel yang sudah ada tanpa menghapusnya.

Ringkasan: pandas dan SQL

Sekarang Anda dapat memindahkan data antara pandas dan basis data:

  • create_engine(url) untuk koneksi yang tidak bergantung pada jenis basis data
  • pd.read_sql(query, engine) untuk memuat hasil kueri ke dalam DataFrame
  • df.to_sql(table, engine, index=False, if_exists=...) untuk menulis kembali
  • Kueri berparameter dan chunksize untuk keamanan serta skala

Berikutnya: menyimpan dan mengueri hasil eksperimen pembelajaran mesin.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Integrasi Pandas dan SQL” gratis?

Ya — teks lengkap “Integrasi Pandas dan SQL” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Integrasi Pandas dan SQL”?

pd.read_sql(), df.to_sql(), mesin SQLAlchemy, dan mengkueri hasil basis data langsung ke DataFrames. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Integrasi Pandas dan SQL” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. SQLite dengan Modul sqlite3 Python
  2. Integrasi Pandas dan SQL
  3. Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin
  4. Pengantar Basis Data Vektor
← Kembali ke Learn AI with Python