Joins के साथ कई टेबल लोड करना

pandas के साथ सरल Data Ingestion

Amany Mahfouz

Instructor

Keys

  • Database रिकॉर्ड्स के पास यूनिक पहचानकर्ता होते हैं, जिन्हें keys कहते हैं

311 कॉल डेटा, जहाँ unique_key कॉलम हाइलाइट है. यूनिक keys नंबर हैं.

pandas के साथ सरल Data Ingestion

Keys

  • Database रिकॉर्ड्स के पास यूनिक पहचानकर्ता होते हैं, जिन्हें keys कहते हैं

कोर्स कैटलॉग डेटा, जहाँ course_code कॉलम हाइलाइट है. कोड्स विषय संक्षेप और नंबरों से बने हैं.

pandas के साथ सरल Data Ingestion

Keys

  • Database रिकॉर्ड्स के पास यूनिक पहचानकर्ता होते हैं, जिन्हें keys कहते हैं

कोर्स कैटलॉग डेटा, जहाँ instructor_id कॉलम हाइलाइट है. वैल्यू 9-अंकों के integers हैं.

pandas के साथ सरल Data Ingestion

Keys

Professor टेबल, जहाँ id कॉलम हाइलाइट है. वैल्यू 9-अंकों के integers हैं, जैसे कोर्स कैटलॉग में instructor_ids.

pandas के साथ सरल Data Ingestion

Keys

कोर्स कैटलॉग डेटा, जिसमें प्रोफेसरों के नाम वाला कॉलम join होकर जोड़ा गया है

pandas के साथ सरल Data Ingestion

टेबल्स को Join करना

Weather डेटा, जहाँ date कॉलम हाइलाइट है

311 कॉल डेटा, जहाँ created_date कॉलम हाइलाइट है

pandas के साथ सरल Data Ingestion

टेबल्स को Join करना

SELECT *
  FROM hpd311calls
pandas के साथ सरल Data Ingestion

टेबल्स को Join करना

SELECT *
  FROM hpd311calls
       JOIN weather 
       ON hpd311calls.created_date = weather.date;
  • कई टेबल्स के साथ काम करते समय dot notation (table.column) का उपयोग करें
  • डिफॉल्ट join केवल वही रिकॉर्ड लौटाता है जिनके key दोनों टेबल्स में मिलते हैं
  • सुनिश्चित करें कि join keys का data type एक जैसा हो, वरना कुछ match नहीं होगा
pandas के साथ सरल Data Ingestion

Joining और Filtering

/* केवल HEAT/HOT WATER कॉल्स लें और weather डेटा join करें */
SELECT *
  FROM hpd311calls
       JOIN weather 
       ON hpd311calls.created_date = weather.date
 WHERE hpd311calls.complaint_type = 'HEAT/HOT WATER';
pandas के साथ सरल Data Ingestion

Joining और Aggregating

/* borough के अनुसार कॉल काउंट्स लें */
SELECT hpd311calls.borough, 
         COUNT(*)
  FROM hpd311calls
 GROUP BY hpd311calls.borough;
pandas के साथ सरल Data Ingestion

Joining और Aggregating

/* borough के अनुसार कॉल काउंट्स लें
   और population व housing काउंट्स join करें */
SELECT hpd311calls.borough, 
       COUNT(*), 
       boro_census.total_population,
       boro_census.housing_units
  FROM hpd311calls
 GROUP BY hpd311calls.borough
pandas के साथ सरल Data Ingestion

Joining और Aggregating

/* borough के अनुसार कॉल काउंट्स लें
   और population व housing काउंट्स join करें */
SELECT hpd311calls.borough, 
       COUNT(*), 
       boro_census.total_population,
       boro_census.housing_units
  FROM hpd311calls
       JOIN boro_census 
       ON hpd311calls.borough = boro_census.borough
 GROUP BY hpd311calls.borough;
pandas के साथ सरल Data Ingestion
query = """SELECT hpd311calls.borough, 
                    COUNT(*), 
                    boro_census.total_population,
                    boro_census.housing_units
             FROM hpd311calls
                  JOIN boro_census 
                  ON hpd311calls.borough = boro_census.borough
            GROUP BY hpd311calls.borough;"""

call_counts = pd.read_sql(query, engine)
print(call_counts)
         borough  COUNT(*)  total_population  housing_units
0          BRONX     29874           1455846         524488
1       BROOKLYN     31722           2635121        1028383
2      MANHATTAN     20196           1653877         872645
3         QUEENS     11384           2339280         850422
4  STATEN ISLAND      1322            475948         179179
pandas के साथ सरल Data Ingestion

रीव्यू

  • SQL कीवर्ड्स का क्रम
    • SELECT
    • FROM
    • JOIN
    • WHERE
    • GROUP BY
pandas के साथ सरल Data Ingestion

अभ्यास करते हैं!

pandas के साथ सरल Data Ingestion

Preparing Video For Download...