Daha karmaşık SQL sorguları

pandas ile Kolaylaştırılmış Veri Alımı

Amany Mahfouz

Instructor

DISTINCT Değerleri Alma

  • Bir veya daha fazla sütunun benzersiz değerlerini SELECT DISTINCT ile alın
  • Söz dizimi:
    SELECT DISTINCT [column names] FROM [table];
    
  • Yinelenen kayıtları kaldırın:
    SELECT DISTINCT * FROM [table];
    
/* Benzersiz sokak adresleri ve borough'ları alın */
SELECT DISTINCT incident_address, 
       borough
  FROM hpd311calls;
pandas ile Kolaylaştırılmış Veri Alımı

Toplama Fonksiyonları

  • Tanımlayıcı istatistikler için veritabanını doğrudan sorgulayın
  • Toplama fonksiyonları
    • SUM
    • AVG
    • MAX
    • MIN
    • COUNT
pandas ile Kolaylaştırılmış Veri Alımı

Toplama Fonksiyonları

  • SUM, AVG, MAX, MIN
    • Her biri tek bir sütun adı alır
      SELECT AVG(tmax) FROM weather;
      
  • COUNT
    • Sorgu koşullarını sağlayan satır sayısını alın
      SELECT COUNT(*) FROM [table_name];
      
    • Bir sütundaki benzersiz değerlerin sayısını alın
      SELECT COUNT(DISTINCT [column_names]) FROM [table_name];
      
pandas ile Kolaylaştırılmış Veri Alımı

GROUP BY

  • Toplama fonksiyonları varsayılan olarak tek bir özet istatistik hesaplar
  • Verileri kategorilere göre özetlemek için GROUP BY kullanın
  • Grupladığınız sütunu seçmeyi unutmayın!
/* Borough'a göre sıhhi tesisat çağrı sayılarını alın */
SELECT borough, 
       COUNT(*) 
  FROM hpd311calls
 WHERE complaint_type = 'PLUMBING'
 GROUP BY borough;
pandas ile Kolaylaştırılmış Veri Alımı

Gruplara göre sayma

# Veritabanı motorunu oluşturun
engine = create_engine("sqlite:///data.db")

# Borough'a göre sıhhi tesisat çağrı sayılarını almak için sorgu yazın query = """SELECT borough, COUNT(*) FROM hpd311calls WHERE complaint_type = 'PLUMBING' GROUP BY borough;"""
# Veritabanını sorgulayın ve veri çerçevesi oluşturun plumbing_call_counts = pd.read_sql(query, engine)
pandas ile Kolaylaştırılmış Veri Alımı

Gruplara göre sayma

print(plumbing_call_counts)
         borough  COUNT(*)
0          BRONX      2016
1       BROOKLYN      2702
2      MANHATTAN      1413
3         QUEENS       808
4  STATEN ISLAND       178
pandas ile Kolaylaştırılmış Veri Alımı

Haydi pratik yapalım!

pandas ile Kolaylaştırılmış Veri Alımı

Preparing Video For Download...