การปรับแต่งการนำเข้าข้อมูลด้วย SQL queries

การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

Amany Mahfouz

Instructor

การใช้ SELECT เพื่อเลือกคอลัมน์

  • SELECT [column names] FROM [table name];
  • ตัวอย่าง:
    SELECT date, tavg 
    FROM weather;
    
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

WHERE Clauses

  • ใช้ WHERE clause เพื่อนำเข้าเฉพาะระเบียนที่ต้องการ
    SELECT [column_names] 
      FROM [table_name] 
     WHERE [condition];
    
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

การกรองด้วยตัวเลข

  • ใช้ตัวดำเนินการทางคณิตศาสตร์เพื่อเปรียบเทียบตัวเลข
    • =
    • > และ >=
    • < และ <=
    • <> (ไม่เท่ากับ)
    • ตัวอย่าง:
      SELECT * 
      FROM weather 
      WHERE tmax > 32;
      
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

การกรองข้อความ

  • จับคู่ข้อความที่แน่นอนด้วยเครื่องหมาย = และข้อความที่ต้องการ
  • การจับคู่ข้อความคำนึงถึงตัวพิมพ์เล็ก-ใหญ่
  • ตัวอย่าง:
    /* Get records about incidents in Brooklyn */
    SELECT * 
    FROM hpd311calls
    WHERE borough = 'BROOKLYN';
    
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

SQL และ pandas

# Load libraries
import pandas as pd
from sqlalchemy import create_engine

# Create database engine engine = create_engine("sqlite:///data.db")
# Write query to get records from Brooklyn query = """SELECT * FROM hpd311calls WHERE borough = 'BROOKLYN';"""
# Query the database brooklyn_calls = pd.read_sql(query, engine)
print(brookyn_calls.borough.unique())
['BROOKLYN']
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

การรวมเงื่อนไข: AND

  • WHERE clause ที่ใช้ AND จะคืนระเบียนที่ตรงกับทุกเงื่อนไข
# Write query to get records about plumbing in the Bronx
and_query = """SELECT * 
                 FROM hpd311calls 
                WHERE borough = 'BRONX' 
                  AND complaint_type = 'PLUMBING';"""

# Get calls about plumbing issues in the Bronx bx_plumbing_calls = pd.read_sql(and_query, engine) # Check record count print(bx_plumbing_calls.shape)
(2016, 8)
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

การรวมเงื่อนไข: OR

  • WHERE clause ที่ใช้ OR จะคืนระเบียนที่ตรงกับอย่างน้อยหนึ่งเงื่อนไข
# Write query to get records about water leaks or plumbing
or_query = """SELECT * 
                FROM hpd311calls 
               WHERE complaint_type = 'WATER LEAK'
                  OR complaint_type = 'PLUMBING';"""

# Get calls that are about plumbing or water leaks leaks_or_plumbing = pd.read_sql(or_query, engine) # Check record count print(leaks_or_plumbing.shape)
(10684, 8)
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

มาฝึกกันเถอะ!

การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

Preparing Video For Download...