पांडस ग्रुपबाय एग्रीगेट

Pandasa Grupabaya Egrigeta



समूह द्वारा तकनीक आवश्यक है क्योंकि यह प्रदर्शन और कोड आकार दोनों के संदर्भ में डेटा को कितनी अच्छी तरह एकत्रित करती है। शब्द 'ग्रुपबी' आमतौर पर निम्नलिखित चरणों सहित एक प्रक्रिया का वर्णन करता है:

  • विभाजन : डेटासेट पर कुछ शर्तें लागू करके, हम डेटा को समूहों में विभाजित कर सकते हैं।
  • को लागू करने : एक प्रक्रिया जहां हम व्यक्तिगत रूप से प्रत्येक समूह के लिए एक विधि लागू करते हैं।
  • का मेल : ग्रुपबाय () पद्धति का उपयोग करने के बाद डेटा संरचना बनाने के लिए विभिन्न डेटासेट को संयोजित करने की एक प्रक्रिया।

एकत्रीकरण की प्रक्रिया में, प्रत्येक समूह के लिए एक सारांश आँकड़ा की गणना की जाती है। प्रत्येक समूह के लिए, समग्र विधि एक समेकित मान (एकल मान) लौटाती है। ग्रुपबाय फ़ंक्शन का उपयोग करके डेटा को समूहों में विभाजित करने के बाद हम समूहीकृत डेटा पर कई एकत्रीकरण संचालन कर सकते हैं।







पांडा डेटा एकत्रीकरण विधियों की एक किस्म क्यों प्रदान करते हैं?

पांडा डेटा के विश्लेषण और एकत्रीकरण में मदद करने के लिए कई प्रकार की सुविधाएँ और कार्य प्रदान करते हैं। उदाहरण के लिए, पिवट (), ग्रुपबाय (), और पिवट_टेबल () विधियों का उपयोग, प्रत्येक डेटा को कैसे एकत्रित किया जाएगा, इस पर एक अलग दृष्टिकोण प्रदान करता है। वे केवल पुन: पैक किए जाने के बजाय विभिन्न कार्यों को करने के लिए व्यावहारिक दृष्टिकोण प्रदान करते हैं।



पंडों में .agg () फ़ंक्शन का उपयोग कैसे करें

एक साधारण औसत या मूल्यों का योग सबसे अधिक बार उपयोग किया जाने वाला एकत्रीकरण फ़ंक्शन है। आप एक समग्र फ़ंक्शन को कॉल करने के लिए डेटाफ़्रेम के कॉलम या एकाधिक कॉलम का उपयोग कर सकते हैं। आप पंडों के समूह द्वारा विधि का उपयोग करके डेटा एकत्र करने के कई तरीके देखेंगे। यह प्रदर्शित करने के लिए कि प्रक्रिया कितनी आसान है, आइए नीचे दिए गए कुछ उदाहरण देखें। योग, न्यूनतम, अधिकतम, माध्य निरपेक्ष विचलन, मानक विचलन, माध्य, माध्यिका, विचरण और उत्पाद जैसे बुनियादी गणित संचालन सबसे अधिक उपयोग किए जाने वाले अंतर्निहित एकत्रीकरण कार्यों में से हैं। डेटा को सारांशित करने के लिए, हम ग्रुपबी और एजीजी () फ़ंक्शन को जोड़ सकते हैं।



उदाहरण # 01: groupby.agg() फ़ंक्शन का उपयोग करके डेटा को समूहीकृत करके कॉलम का योग निर्धारित करें

हम पहले pd.DataFrame() फ़ंक्शन का उपयोग करके एक डेटाफ़्रेम बनाएंगे ताकि हम डेटाफ़्रेम के कॉलम या कॉलम से डेटा को समूहीकृत कर सकें और फिर उनका माध्य मान निर्धारित कर सकें। डेटाफ़्रेम बनाने से पहले हमें पांडा के मॉड्यूल और numpy लाइब्रेरी को आयात करना होगा।





जैसा कि आप देख सकते हैं, हमने अपना डेटाफ़्रेम बनाने के लिए पांडा शब्दकोश का उपयोग किया। हमारे df डेटाफ़्रेम में चार कॉलम हैं: 'रोगी' 'समूह', 'आयु', और 'रक्त की बोतलें'। डेटा मान ('अली', 'जॉन', 'माइक', 'माइक', 'जॉन', 'अली', 'अली', 'माइक') कॉलम 'रोगी' द्वारा निहित हैं जबकि डेटा मान ('ए ', 'ए', 'बी', 'सी', 'ए', 'सी', 'सी', 'बी'), (21, 22, 24, 21, 20, 24, 22, 22) और ( 2, 3, 1, 1, 2, 3, 2, 1) क्रमशः 'समूह', 'आयु' और 'रक्त_बोतल' कॉलम में समाहित हैं। मान लीजिए कि हमें 'blood_bottles' कॉलम में मानों का योग 'ग्रुप' कॉलम में ग्रुप करके निर्धारित करना है।



समूह डेटा 'ए' के ​​लिए, 'blood_bottles' के मानों का योग 7 है। समूह मान 'बी' और 'सी' के लिए, 'blood_bottles' के मानों का योग क्रमशः 2 और 6 है। हम प्रत्येक समूह के लिए योग निर्धारित करने के लिए कई कॉलम भी समूहित कर सकते हैं।

जैसा कि देखा जा सकता है, हमने प्रत्येक निर्दिष्ट कॉलम में श्रेणियों के समूह बनाने के लिए ग्रुपबाय () फ़ंक्शन के अंदर कॉलम लेबल, यानी ['रोगी', 'समूह'] की एक सूची पास की है। निर्दिष्ट कॉलम के प्रत्येक समूह के लिए, हमने 'blood_bottles' में मानों का योग निर्धारित किया है। उदाहरण के लिए, 'अली' 'ग्रुप' कॉलम वैल्यू ए और सी में है। ग्रुप ए में, अली के लिए 'ब्लड_बॉटल्स' के मानों का योग 2 है, और ग्रुप 'सी' में 5 है।

उदाहरण # 02: Groupby.agg () फ़ंक्शन का उपयोग करके डेटाफ़्रेम के एकल कॉलम पर एकाधिक फ़ंक्शन लागू करना

पांडा फ़ंक्शन agg() का उपयोग करके 'ग्रुपबाय ()' विधि के साथ एकाधिक एकत्रीकरण लागू किया जा सकता है। कॉल करने योग्य सूची को विधि में पास किया जा सकता है। आइए देखें कि numpy लाइब्रेरी की अंतर्निहित विधियों का उपयोग करके हम अपने डेटा को कैसे एकत्र कर सकते हैं। पिछले उदाहरण के विपरीत, हम डेटाफ़्रेम के एकल कॉलम में कई फ़ंक्शन लागू करेंगे। pd.DataFrame() फ़ंक्शन का उपयोग इसके लिए एक डेटाफ़्रेम बनाने के लिए किया जाएगा जिसमें संख्यात्मक मान वाले कम से कम एक कॉलम होगा।


आवश्यक डेटाफ्रेम एक संख्यात्मक कॉलम यानी 'अंक' के साथ 41, 40, 35, 39, 49, 31, 34, और 42 के साथ बनाया गया है। 3 और कॉलम 'छात्र', 'विषय' और 'डिग्री' हैं। हमारे डेटाफ़्रेम में जिसे groupby() फ़ंक्शन का उपयोग करके समूहों में विभाजित किया जा सकता है। कॉलम 'छात्र' और 'विषय' में मान हैं ('हैरी', 'रॉन', 'हैरी', 'लाना', 'सैम', 'रॉन', 'लाना', 'मैक्स') और ('सी++') , 'जावा', 'पायथन', 'पायथन', 'एआई', 'जावा', 'सी++', 'एआई')। जबकि कॉलम डिग्री में डेटा मान स्ट्रिंग्स के रूप में होते हैं, अर्थात, ('Ms', 'Bs', 'Bs', 'Ms', 'Ms', 'Ms', 'Bs', 'Bs')। मान लीजिए कि हमें कॉलम 'विषयों' के डेटा को समूहबद्ध करना है और प्रत्येक समूहीकृत डेटा के लिए कॉलम 'अंक' का माध्य और योग दोनों निर्धारित करना है।

हमने डेटा को श्रेणियों के समूहों में बदलने के लिए ग्रुपबाय () फ़ंक्शन के अंदर एक स्ट्रिंग के रूप में 'विषय' कॉलम का नाम निर्दिष्ट किया है। मार्क्स कॉलम के लिए, हमने agg () विधि का उपयोग किया है, और agg () फ़ंक्शन के अंदर हमने कॉलम विषयों में प्रत्येक समूह डेटा के अंकों का योग और औसत खोजने के लिए numpy फ़ंक्शन np.sum और np.me को निर्दिष्ट किया है। समूह मान 'एआई' के लिए योग और माध्य मान क्रमशः 91 और 45.5 हैं। मान 'C++' के लिए अंकों का योग 75 है, और माध्य मान 37.5 है। समूह जावा के लिए, अंकों का योग 71 है और औसत मूल्य 35.5 है, जबकि पायथन के लिए योग और माध्य मान क्रमशः 74 और 37 है।

उदाहरण # 03: Groupby.agg() फ़ंक्शन का उपयोग करके डेटाफ़्रेम के एकाधिक कॉलम पर एकाधिक फ़ंक्शन लागू करना

एक डेटाफ़्रेम के कॉलम में अलग-अलग फ़ंक्शन लागू करने के बजाय, हम अलग-अलग संख्यात्मक कॉलम में कई फ़ंक्शन लागू कर सकते हैं। हम विभिन्न डेटाफ़्रेम के कॉलम में एक विशिष्ट एकत्रीकरण विधि को लागू करने के लिए इनपुट के रूप में agg () फ़ंक्शन में एक शब्दकोश का उपयोग कर सकते हैं। आइए कई संख्यात्मक स्तंभों के साथ डेटाफ़्रेम बनाने से पहले पांडा और सुन्न पुस्तकालयों को आयात करें।

नए बनाए गए डेटाफ़्रेम में 'खिलाड़ी', 'least_score,' 'highest_score' और 'location' नामों के साथ चार कॉलम हैं। कॉलम 'खिलाड़ी' में, हमने कुछ खिलाड़ियों के नाम स्ट्रिंग डेटा मान ('लियो', 'एलेक्स', 'लियो', 'फिन', 'लियो', 'एलेक्स', 'फिन', 'के रूप में संग्रहीत किए हैं। फिन'), कॉलम 'least_score' में कुछ मैचों (12, 34, 2, 21, 9, 1, 0, 34) के लिए खिलाड़ियों के न्यूनतम स्कोर हैं, जबकि कॉलम 'highest_score' में हमारे पास खिलाड़ियों के उच्चतम स्कोर हैं। (12, 34, 2, 21, 9, 1, 0, 34) और कॉलम 'लोकेशन' में उन स्थानों के नाम हैं जहाँ खिलाड़ियों ने अपने मैच खेले हैं ('फ्रांस', 'इंग्लैंड', 'दुबई', ' दुबई', 'इंग्लैंड', 'फ्रांस', 'दुबई', 'फ्रांस')।

मान लें कि डेटा को 'खिलाड़ियों' कॉलम में समूहित करने के बाद, हमें 'least_score' कॉलम मानों के लिए औसत और प्रत्येक समूह के लिए 'hightest_score' डेटा मानों के योग का पता लगाना होगा।

एजीजी () फ़ंक्शन के अंदर, हमने प्रत्येक समूह के खिलाफ निर्दिष्ट कॉलम के लिए योग और औसत मूल्य खोजने के लिए एक पायथन शब्दकोश {'highest_score': 'sum', 'least_score': 'mean'} पास किया। यह देखा जा सकता है कि समूहीकृत मूल्य एलेक्स में 'highest_score' मान 132 और 'least_score' मान का औसत 17.5 का योग है। 'फिन' के लिए मूल्यों का योग 199 है और औसत क्रमशः 'highest_score' और 'least_score' कॉलम में 18.3333333 है। समूह मूल्य लियो का 'highest_score' में 180 का योग मान और 'least_score' में औसत मान 7.666667 है।

निष्कर्ष

इस ट्यूटोरियल में, हमने पांडा में ग्रुपबाय () और एग्रीगेशन फंक्शन पर चर्चा की है। हमने यह भी चर्चा की है कि groupby.agg() फ़ंक्शन का उपयोग कैसे करें। हमने इस लेख में तीन उदाहरण लागू किए हैं जो आपको सिखाते हैं कि डेटाफ़्रेम कॉलम पर एकल एकत्रीकरण फ़ंक्शन का उपयोग कैसे करें, एकल और एकाधिक कॉलम के डेटा को समूहीकृत करके, डेटाफ़्रेम के एकल कॉलम पर एकाधिक एकत्रीकरण फ़ंक्शन कैसे लागू करें, और एकाधिक कैसे लागू करें groupby.agg() फ़ंक्शन का उपयोग करके डेटाफ़्रेम के कई स्तंभों पर एकत्रीकरण कार्य करता है।