Memperhalus impor dengan kueri SQL

Pemasukan Data yang Efisien dengan pandas

Amany Mahfouz

Instructor

Memilih kolom (SELECT)

  • SELECT [column names] FROM [table name];
  • Contoh:
    SELECT date, tavg 
    FROM weather;
    
Pemasukan Data yang Efisien dengan pandas

Klausa WHERE

  • Gunakan klausa WHERE untuk mengimpor record secara selektif
    SELECT [column_names] 
      FROM [table_name] 
     WHERE [condition];
    
Pemasukan Data yang Efisien dengan pandas

Pemfilteran berdasarkan angka

  • Bandingkan angka dengan operator matematika
    • =
    • > dan >=
    • < dan <=
    • <> (tidak sama dengan)
    • Contoh:
      SELECT * 
      FROM weather 
      WHERE tmax > 32;
      
Pemasukan Data yang Efisien dengan pandas

Pemfilteran teks

  • Cocokkan string persis dengan tanda = dan teks yang dicari
  • Pencocokan string peka huruf besar/kecil
  • Contoh:
    /* Ambil record tentang insiden di Brooklyn */
    SELECT * 
    FROM hpd311calls
    WHERE borough = 'BROOKLYN';
    
Pemasukan Data yang Efisien dengan pandas

SQL dan pandas

# Muat pustaka
import pandas as pd
from sqlalchemy import create_engine

# Buat engine basis data engine = create_engine("sqlite:///data.db")
# Tulis kueri untuk mendapatkan record dari Brooklyn query = """SELECT * FROM hpd311calls WHERE borough = 'BROOKLYN';"""
# Kueri basis data brooklyn_calls = pd.read_sql(query, engine)
print(brookyn_calls.borough.unique())
['BROOKLYN']
Pemasukan Data yang Efisien dengan pandas

Menggabungkan kondisi: AND

  • Klausa WHERE dengan AND mengembalikan record yang memenuhi semua kondisi
# Tulis kueri untuk mendapatkan record tentang plumbing di Bronx
and_query = """SELECT * 
                 FROM hpd311calls 
                WHERE borough = 'BRONX' 
                  AND complaint_type = 'PLUMBING';"""

# Ambil panggilan tentang masalah plumbing di Bronx bx_plumbing_calls = pd.read_sql(and_query, engine) # Cek jumlah record print(bx_plumbing_calls.shape)
(2016, 8)
Pemasukan Data yang Efisien dengan pandas

Menggabungkan kondisi: OR

  • Klausa WHERE dengan OR mengembalikan record yang memenuhi minimal satu kondisi
# Tulis kueri untuk mendapatkan record tentang kebocoran air atau plumbing
or_query = """SELECT * 
                FROM hpd311calls 
               WHERE complaint_type = 'WATER LEAK'
                  OR complaint_type = 'PLUMBING';"""

# Ambil panggilan tentang plumbing atau kebocoran air leaks_or_plumbing = pd.read_sql(or_query, engine) # Cek jumlah record print(leaks_or_plumbing.shape)
(10684, 8)
Pemasukan Data yang Efisien dengan pandas

Ayo berlatih!

Pemasukan Data yang Efisien dengan pandas

Preparing Video For Download...