Pandas Groupby மொத்தமாக

Pandas Groupby Mottamaka



செயல்திறன் மற்றும் குறியீட்டு அளவு ஆகிய இரண்டின் அடிப்படையில் தரவை எவ்வளவு நன்றாக ஒருங்கிணைக்கிறது என்பதன் காரணமாக குழுவழி நுட்பம் அவசியம். 'குரூப்பி' என்ற சொல் பொதுவாக பின்வரும் படிகளை உள்ளடக்கிய ஒரு செயல்முறையை விவரிக்கிறது:

  • பிரித்தல் : தரவுத்தொகுப்புகளுக்கு சில நிபந்தனைகளைப் பயன்படுத்துவதன் மூலம், தரவை குழுக்களாகப் பிரிக்கலாம்.
  • விண்ணப்பிக்கும் : ஒவ்வொரு குழுவிற்கும் தனித்தனியாக ஒரு முறையைப் பயன்படுத்தும் செயல்முறை.
  • இணைத்தல் : groupby() முறையைப் பயன்படுத்திய பிறகு பல்வேறு தரவுத்தொகுப்புகளை ஒருங்கிணைத்து ஒரு தரவுக் கட்டமைப்பை உருவாக்கும் செயல்முறை.

திரட்டல் செயல்பாட்டில், ஒவ்வொரு குழுவிற்கும் ஒரு சுருக்கமான புள்ளிவிவரம் கணக்கிடப்படுகிறது. ஒவ்வொரு குழுவிற்கும், மொத்த முறையானது ஒரு திரட்டப்பட்ட மதிப்பை (ஒற்றை மதிப்பு) வழங்கும். குரூப் பை செயல்பாட்டைப் பயன்படுத்தி தரவை குழுக்களாகப் பிரித்த பிறகு, குழுவான தரவுகளில் பல திரட்டல் செயல்பாடுகளைச் செய்யலாம்.







பாண்டாக்கள் ஏன் பலதரப்பட்ட தரவு ஒருங்கிணைப்பு முறைகளை வழங்குகின்றன?

தரவு பகுப்பாய்வு மற்றும் ஒருங்கிணைக்க உதவும் பரந்த அளவிலான அம்சங்கள் மற்றும் செயல்பாடுகளை பாண்டாக்கள் வழங்குகின்றன. pivot(), groupby(), and pivot_table() முறைகளின் பயன்பாடு, எடுத்துக்காட்டாக, தரவு எவ்வாறு ஒருங்கிணைக்கப்படும் என்பதில் ஒவ்வொன்றும் வெவ்வேறு கண்ணோட்டத்தை வழங்குகிறது. அவை வெறுமனே மீண்டும் தொகுக்கப்படுவதை விட பல்வேறு பணிகளைச் செய்வதற்கான நடைமுறை அணுகுமுறைகளை வழங்குகின்றன.



பாண்டாஸில் .agg() செயல்பாட்டை எவ்வாறு பயன்படுத்துவது

ஒரு எளிய சராசரி அல்லது மதிப்புகளின் கூட்டுத்தொகை என்பது அடிக்கடி பயன்படுத்தப்படும் திரட்டல் செயல்பாடு ஆகும். மொத்த செயல்பாட்டை அழைக்க, டேட்டாஃப்ரேமின் நெடுவரிசை அல்லது பல நெடுவரிசைகளைப் பயன்படுத்தலாம். Pandas groupby முறையைப் பயன்படுத்தி தரவைத் தொகுக்கப் பல வழிகளைக் காண்பீர்கள். செயல்முறை எவ்வளவு எளிதானது என்பதை நிரூபிக்க, கீழே கொடுக்கப்பட்டுள்ள சில எடுத்துக்காட்டுகளைப் பார்ப்போம். தொகை, குறைந்தபட்சம், அதிகபட்சம், சராசரி முழுமையான விலகல், நிலையான விலகல், சராசரி, இடைநிலை, மாறுபாடு மற்றும் தயாரிப்பு போன்ற அடிப்படை கணித செயல்பாடுகள் அடிக்கடி பயன்படுத்தப்படும் உள்ளமைக்கப்பட்ட திரட்டல் செயல்பாடுகளில் அடங்கும். தரவைச் சுருக்கமாகக் கூற, நாம் groupby மற்றும் agg() செயல்பாட்டை இணைக்கலாம்.



எடுத்துக்காட்டு # 01: groupby.agg() செயல்பாட்டைப் பயன்படுத்தி தரவைத் தொகுத்து நெடுவரிசைகளின் கூட்டுத்தொகையைத் தீர்மானிக்கவும்

முதலில் pd.DataFrame() செயல்பாட்டைப் பயன்படுத்தி ஒரு டேட்டாஃப்ரேமை உருவாக்குவோம், அதன் மூலம் டேட்டாஃப்ரேமின் நெடுவரிசை அல்லது நெடுவரிசைகளில் இருந்து தரவைக் குழுவாக்கி அதன் சராசரி மதிப்பைத் தீர்மானிக்கலாம். டேட்டாஃப்ரேமை உருவாக்கும் முன், பாண்டாக்களின் தொகுதிகள் மற்றும் நம்பி லைப்ரரியை இறக்குமதி செய்ய வேண்டும்.





நீங்கள் பார்க்க முடியும் என, எங்கள் டேட்டாஃப்ரேமை உருவாக்க பாண்டாஸ் அகராதியைப் பயன்படுத்தினோம். எங்கள் df டேட்டாஃப்ரேமில் நான்கு நெடுவரிசைகள் உள்ளன: 'நோயாளி' 'குழு', 'வயது' மற்றும் 'இரத்த பாட்டில்கள்'. தரவு மதிப்புகள் ('அலி', 'ஜான்', 'மைக்', 'மைக்', 'ஜான்', 'அலி', 'அலி', 'மைக்') 'நோயாளி' என்ற நெடுவரிசையில் உள்ளன, அதே சமயம் தரவு மதிப்புகள் ('A ', 'A', 'B', 'C', 'A', 'C', 'C', 'B'), (21, 22, 24, 21, 20, 24, 22, 22) மற்றும் ( 2, 3, 1, 1, 2, 3, 2, 1) ஆகியவை முறையே 'குழு', 'வயது' மற்றும் 'இரத்த_பாட்டில்கள்' நெடுவரிசைகளில் உள்ளன. 'குழு' நெடுவரிசையில் உள்ள மதிப்புகளை தொகுத்து 'இரத்த_பாட்டில்கள்' நெடுவரிசையில் உள்ள மதிப்புகளின் கூட்டுத்தொகையை நாம் தீர்மானிக்க வேண்டும் என்று வைத்துக்கொள்வோம்.



குழுத் தரவு ‘A’க்கு, ‘இரத்த_பாட்டில்களின்’ மதிப்புகளின் கூட்டுத்தொகை 7. குழு மதிப்புகளான ‘B’ மற்றும் ‘C’க்கு, ‘blood_bottles’ மதிப்புகளின் கூட்டுத்தொகை முறையே 2 மற்றும் 6 ஆகும். ஒவ்வொரு குழுவிற்கும் தொகையைத் தீர்மானிக்க பல நெடுவரிசைகளையும் தொகுக்கலாம்.

கவனிக்கக்கூடியது போல, ஒவ்வொரு குறிப்பிட்ட நெடுவரிசையிலும் வகைகளின் குழுக்களை உருவாக்குவதற்கு, groupby() செயல்பாட்டிற்குள் [‘நோயாளி’, ‘குழு’] நெடுவரிசை லேபிள்களின் பட்டியலை அனுப்பியுள்ளோம். குறிப்பிட்ட நெடுவரிசைகளின் ஒவ்வொரு குழுவிற்கும், 'blood_bottles' இல் உள்ள மதிப்புகளின் கூட்டுத்தொகையை நாங்கள் தீர்மானித்துள்ளோம். எடுத்துக்காட்டாக, 'அலி' என்பது 'குழு' நெடுவரிசை மதிப்புகள் A மற்றும் C. குழு A இல், அலிக்கான 'இரத்த_பாட்டில்கள்' மதிப்புகளின் கூட்டுத்தொகை 2 மற்றும் 'C' குழுவில் 5 ஆகும்.

எடுத்துக்காட்டு # 02: groupby.agg() செயல்பாட்டைப் பயன்படுத்தி டேட்டாஃப்ரேமின் ஒற்றை நெடுவரிசையில் பல செயல்பாடுகளைப் பயன்படுத்துதல்

pandas செயல்பாடு agg() ஐப் பயன்படுத்தி “groupby()” முறையில் பல திரட்டல்களைப் பயன்படுத்தலாம். முறைக்கு அழைக்கக்கூடிய பட்டியலை அனுப்பலாம். நம்பி லைப்ரரியின் உள்ளமைக்கப்பட்ட முறைகளைப் பயன்படுத்தி நமது தரவை எவ்வாறு ஒருங்கிணைக்க முடியும் என்பதைப் பார்ப்போம். முந்தைய உதாரணத்தைப் போலன்றி, டேட்டாஃப்ரேமின் ஒரு நெடுவரிசையில் பல செயல்பாடுகளைப் பயன்படுத்துவோம். pd.DataFrame() செயல்பாடு எண் மதிப்புகளைக் கொண்ட குறைந்தபட்சம் ஒரு நெடுவரிசையுடன் டேட்டாஃப்ரேமை உருவாக்கப் பயன்படும்.


தேவையான டேட்டாஃப்ரேம் ஒரு எண் நெடுவரிசையுடன் உருவாக்கப்பட்டுள்ளது, அதாவது 41, 40, 35, 39, 49, 31, 34 மற்றும் 42 மதிப்புகளுடன் 'மதிப்பீடுகள்'. மேலும் 3 நெடுவரிசைகள் 'மாணவர்', 'பாடங்கள்' மற்றும் 'பட்டம்' உள்ளன. எங்கள் டேட்டாஃப்ரேமில், groupby() செயல்பாட்டைப் பயன்படுத்தி குழுக்களாகப் பிரிக்கலாம். நெடுவரிசை 'மாணவர்கள்' மற்றும் 'பாடங்களில்' மதிப்புகள் ('ஹாரி', 'ரான்', 'ஹாரி', 'லானா', 'சாம்', 'ரான்', 'லானா', 'மேக்ஸ்') மற்றும் ('சி++' , 'JAVA', 'Python', 'Python', 'AI', 'JAVA', 'C++', 'AI'). அதேசமயம் நெடுவரிசை பட்டம் தரவு மதிப்புகளை சரங்களாகக் கொண்டுள்ளது, அதாவது, ('Ms', 'Bs', 'Bs', 'Ms', 'Ms', 'Ms', 'Bs', 'Bs'). நெடுவரிசை 'பாடங்களின்' தரவை நாம் தொகுக்க வேண்டும் மற்றும் ஒவ்வொரு குழுவான தரவிற்கும் நெடுவரிசை 'குறிகள்' சராசரி மற்றும் கூட்டுத்தொகை இரண்டையும் தீர்மானிக்க வேண்டும்.

தரவை வகைகளின் குழுக்களாக மாற்ற, groupby() செயல்பாட்டின் உள்ளே ஒரு சரமாக ‘subjects’ நெடுவரிசையின் பெயரைக் குறிப்பிட்டுள்ளோம். மதிப்பெண்கள் நெடுவரிசைக்கு, நாங்கள் agg() முறையைப் பயன்படுத்தினோம், மேலும் agg() செயல்பாட்டிற்குள் np.sum மற்றும் np.mean ஆகிய நம்பி செயல்பாடுகளைக் குறிப்பிட்டு, நெடுவரிசைப் பாடங்களில் ஒவ்வொரு குழுத் தரவின் மதிப்பெண்களின் கூட்டுத்தொகை மற்றும் சராசரியைக் கண்டறியவும். குழு மதிப்பான ‘AI’க்கான கூட்டு மற்றும் சராசரி மதிப்பு முறையே 91 மற்றும் 45.5 ஆகும். ‘C++’ மதிப்பிற்கான மதிப்பெண்களின் கூட்டுத்தொகை 75, சராசரி மதிப்பு 37.5. குழு JAVA க்கு, மதிப்பெண்களின் கூட்டுத்தொகை 71 மற்றும் சராசரி மதிப்பு 35.5 ஆகும், அதேசமயம் பைத்தானின் கூட்டுத்தொகை மற்றும் சராசரி மதிப்பு முறையே 74 மற்றும் 37 ஆகும்.

எடுத்துக்காட்டு # 03: groupby.agg() செயல்பாட்டைப் பயன்படுத்தி டேட்டாஃப்ரேமின் பல நெடுவரிசைகளில் பல செயல்பாடுகளைப் பயன்படுத்துதல்

ஒரு டேட்டாஃப்ரேமின் நெடுவரிசையில் வெவ்வேறு செயல்பாடுகளைப் பயன்படுத்துவதற்குப் பதிலாக, வெவ்வேறு எண் நெடுவரிசைகளுக்கு பல செயல்பாடுகளைப் பயன்படுத்தலாம். வெவ்வேறு டேட்டாஃப்ரேமின் நெடுவரிசைகளுக்கு ஒரு குறிப்பிட்ட திரட்டல் முறையைப் பயன்படுத்துவதற்கு உள்ளீடாக agg() செயல்பாட்டில் உள்ள அகராதியைப் பயன்படுத்தலாம். பல எண் நெடுவரிசைகளுடன் டேட்டாஃப்ரேமை உருவாக்கும் முன் பாண்டாக்கள் மற்றும் நம்பி லைப்ரரிகளை இறக்குமதி செய்வோம்.

புதிதாக உருவாக்கப்பட்ட டேட்டாஃப்ரேமில் 'பிளேயர்', 'குறைந்த_ஸ்கோர்,' 'அதிக_ஸ்கோர்' மற்றும் 'இருப்பிடம்' என்ற பெயர்களுடன் நான்கு நெடுவரிசைகள் உள்ளன. 'பிளேயர்' என்ற நெடுவரிசையில், சில வீரர்களின் பெயர்களை சரம் தரவு மதிப்புகளாக சேமித்துள்ளோம் ('லியோ', 'அலெக்ஸ்', 'லியோ', 'ஃபின்', 'லியோ', 'அலெக்ஸ்', 'ஃபின்', ' Fin'), 'least_score' என்ற நெடுவரிசையில், சில போட்டிகளுக்கு (12, 34, 2, 21, 9, 1, 0, 34) குறைந்த ஸ்கோர்கள் வீரர்கள் உள்ளனர், அதே நேரத்தில் 'highest_score' நெடுவரிசையில் நாங்கள் வீரர்களின் அதிக மதிப்பெண்களைப் பெற்றுள்ளோம். (12, 34, 2, 21, 9, 1, 0, 34) மற்றும் 'இடம்' என்ற நெடுவரிசையில் வீரர்கள் தங்கள் போட்டிகளில் விளையாடிய இடங்களின் பெயர்கள் உள்ளன ('பிரான்ஸ்', 'இங்கிலாந்து', 'துபாய்', ' துபாய்', 'இங்கிலாந்து', 'பிரான்ஸ்', 'துபாய்', 'பிரான்ஸ்').

தரவை 'பிளேயர்ஸ்' நெடுவரிசையில் தொகுத்த பிறகு, 'குறைந்த_ஸ்கோர்' நெடுவரிசை மதிப்புகளுக்கான சராசரியையும் ஒவ்வொரு குழுவிற்கும் 'உயர்ந்த_ஸ்கோர்' தரவு மதிப்புகளுக்கான கூட்டுத்தொகையையும் நாம் கண்டுபிடிக்க வேண்டும் என்று வைத்துக்கொள்வோம்.

agg() செயல்பாட்டின் உள்ளே, ஒவ்வொரு குழுவிற்கும் எதிராக ஒரு குறிப்பிட்ட நெடுவரிசைக்கான கூட்டுத்தொகை மற்றும் சராசரி மதிப்பைக் கண்டறிய {‘highest_score’ : ‘sum’, ‘least_score’ : ‘mean’} என்ற பைதான் அகராதியை அனுப்பினோம். தொகுக்கப்பட்ட மதிப்பான அலெக்ஸ், 'அதிக_மதிப்பு' மதிப்பு 132 மற்றும் 'குறைந்த_ஸ்கோர்' மதிப்பின் சராசரி 17.5 ஆகியவற்றின் கூட்டுத்தொகையைக் கொண்டிருப்பதைக் காணலாம். 'Fin' க்கான மதிப்புகளின் கூட்டுத்தொகை 199 மற்றும் சராசரியானது முறையே 'highest_score' மற்றும் 'least_score' நெடுவரிசைகளில் 18.3333333 ஆகும். லியோவின் குழு மதிப்பு ‘அதிக_ஸ்கோரில்’ 180 ஆகவும், ‘குறைந்த_ஸ்கோரில்’ சராசரி மதிப்பு 7.666667 ஆகவும் உள்ளது.

முடிவுரை

இந்த டுடோரியலில், pandas இல் groupby() மற்றும் aggregation functions பற்றி விவாதித்தோம். Groupby.agg() செயல்பாட்டை எவ்வாறு பயன்படுத்துவது என்பதையும் நாங்கள் விவாதித்தோம். ஒற்றை மற்றும் பல நெடுவரிசைகளின் தரவைத் தொகுப்பதன் மூலம் டேட்டாஃப்ரேம் நெடுவரிசையில் ஒற்றை திரட்டல் செயல்பாட்டை எவ்வாறு பயன்படுத்துவது, டேட்டாஃப்ரேமின் ஒரு நெடுவரிசையில் பல திரட்டல் செயல்பாடுகளை எவ்வாறு பயன்படுத்துவது மற்றும் பலவற்றை எவ்வாறு பயன்படுத்துவது என்பதை உங்களுக்குக் கற்பிக்க இந்தக் கட்டுரையில் மூன்று எடுத்துக்காட்டுகளைச் செயல்படுத்தியுள்ளோம். groupby.agg() செயல்பாட்டைப் பயன்படுத்தி டேட்டாஃப்ரேமின் பல நெடுவரிசைகளில் திரட்டுதல் செயல்பாடுகள்.