शुरू करेंमुफ़्त में शुरू करें

Grouping और Aggregating I

एग्रीगेशन को इतना शक्तिशाली बनाने वाली चीज़ों में से एक है ग्रुप्स जोड़ना. PySpark में grouped data frames के लिए एक पूरी क्लास है: pyspark.sql.GroupedData, जिसे आपने पिछले दो अभ्यासों में देखा था.

आपने सीखा कि बिना किसी आर्ग्युमेंट के किसी DataFrame पर .groupBy() कॉल करके एक grouped DataFrame कैसे बनाया जाता है.

अब आप देखेंगे कि जब आप अपने DataFrame में एक या अधिक कॉलम के नाम .groupBy() मेथड को पास करते हैं, तो एग्रीगेशन मेथड्स वैसा ही व्यवहार करते हैं जैसा आप SQL क्वेरी में GROUP BY स्टेटमेंट इस्तेमाल करते समय देखते हैं!

याद रखें, आपके वर्कस्पेस में spark नाम का एक SparkSession पहले से मौजूद है, और साथ में Spark DataFrame flights भी है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

PySpark की नींव

पाठ्यक्रम देखें

अभ्यास निर्देश

  • tailnum कॉलम के आधार पर grouped एक DataFrame बनाएँ और उसे by_plane नाम दें.
  • प्रत्येक प्लेन ने कितनी उड़ानें भरीं, यह गिनने के लिए बिना आर्ग्युमेंट के .count() मेथड का उपयोग करें.
  • origin कॉलम के आधार पर grouped एक DataFrame बनाएँ और उसे by_origin नाम दें.
  • PDX और SEA से उड़ानों की औसत अवधि निकालने के लिए air_time कॉलम की .avg() निकालें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Group by tailnum
by_plane = flights.groupBy("____")

# Number of flights each plane made
by_plane.____.show()

# Group by origin
by_origin = flights.groupBy("____")

# Average duration of flights from PDX and SEA
by_origin.avg("____").show()
कोड संपादित करें और चलाएँ