பாண்டாக்கள் வகை மதிப்புகளை முழு மதிப்புகளாக மாற்றுகின்றன

Pantakkal Vakai Matippukalai Mulu Matippukalaka Marrukinrana



இயந்திர கற்றல் செயல்பாட்டிற்கான தரவுத்தொகுப்புகளில் எண் மற்றும் வகைப்படுத்தப்பட்ட மாறிகள் உள்ளன. வகைப்படுத்தப்பட்ட மாறிகள் என்பது மனிதர்கள் எளிதில் புரிந்துகொள்ளக்கூடிய சரம் வகை தரவு. மறுபுறம், இயந்திரங்களால் வகைப்படுத்தப்பட்ட உள்ளீடுகளை நேரடியாகப் புரிந்து கொள்ள முடியாது. இதன் விளைவாக, வகைப்படுத்தப்பட்ட உள்ளடக்கம் இயந்திரங்கள் விளக்கக்கூடிய எண் மதிப்புகளாக மாற்றப்பட வேண்டும்.

வகையை Int ஆக மாற்றுவதற்கான முறைகள்

ஒரு DataFrame இன் இன்ட் மதிப்புகளுக்கு வகைப்படுத்தலை மாற்றுவதற்கான 'pandas' இல் கிடைக்கும் நுட்பங்கள் இங்கே வழங்கப்பட்டுள்ளன:

    • DataFrame.replace() முறை
    • DataFrame.apply(factorize()) முறை

இந்த கட்டுரையில் இந்த முறைகளைப் பயன்படுத்துவோம் மற்றும் 'பாண்டாஸ்' இல் இரண்டு முறைகளையும் எவ்வாறு பயன்படுத்துவது என்பதை விரிவாக விளக்குவோம்.







எடுத்துக்காட்டு # 1: பாண்டாக்களை மாற்று() முறையைப் பயன்படுத்துதல்

பாண்டாஸ் “DataFrame.replace()” முறையைப் பயன்படுத்தி DataFrame இல் உள்ள வகை மதிப்புகளை முழு எண்ணாக மாற்றலாம். இந்த முறையைப் பயன்படுத்த இங்கே கற்றுக்கொள்வோம்.



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



முதல் நெடுவரிசை, 'பெயர்', 'புஷ்', 'ஆல்பர்ட்', 'ஹாரி', 'பீட்டர்', 'எம்மா', 'நியூட்டன்', 'ஸ்மித்' மற்றும் 'எல்சா' ஆகிய எட்டு மதிப்புகளைக் கொண்டுள்ளது. இரண்டாவது நெடுவரிசை, 'பட்டம்', 'BS', 'MS', 'MS', 'BS', 'BS', 'BS', 'MS' மற்றும் 'MS' ஆகிய எட்டு வகை மதிப்புகளையும் சேமிக்கிறது. கடைசி நெடுவரிசை 'வருமானம்' எட்டு முழு எண் மதிப்புகள் '60000', '80000', '75000', '45000', '56000', '65000', '55000' மற்றும் '70000'. 'pd.DataFrame()' செயல்பாட்டை செயல்படுத்துவதற்கான வெளியீட்டை சேமிக்க DataFrame ஆப்ஜெக்ட் 'ஸ்டாஃப்' ஒன்றை உருவாக்கியுள்ளோம். எங்கள் ஆரம்ப டேட்டாஃப்ரேமைக் காட்ட, ஸ்கிரிப்ட்டின் இறுதி வரியில் டேட்டாஃப்ரேமின் பெயரான “ஸ்டாஃப்” என்ற அளவுருவாக “அச்சு()” முறையைப் பயன்படுத்தினோம்.






முனையத்தில் வெளியீட்டைக் காண, 'Spyder' கருவியில் 'Run File' பொத்தானைப் பயன்படுத்தவும் அல்லது 'Shift+Enter' விசைகளை அழுத்தவும். முனையத்தில் காட்டப்படும் வெளியீடு வெற்றிகரமாக உருவாக்கப்பட்ட மூன்று நெடுவரிசைகளுடன் ஒரு DataFrame ஐக் காட்டுகிறது.


இப்போது, ​​எங்கள் DataFrame கட்டமைக்கப்பட்டுள்ளது, அதற்கு தேவையான நுட்பத்தை நாம் பயன்படுத்த வேண்டும். பாண்டாக்கள் “DataFrame.replace()” முறையானது குறிப்பிட்ட நெடுவரிசையின் வகைப்படுத்தப்பட்ட மதிப்புகளை முழு எண் மதிப்புகளாக மாற்றப் பயன்படுத்தப்படும், இதனால் இயந்திரங்கள் அவற்றைப் படிக்கக்கூடியதாக மாற்றும்.



DataFrame இன் பெயரை குறிப்பிட்ட நெடுவரிசைப் பெயருடன் வழங்கியுள்ளோம், அதன் மதிப்புகளை மாற்ற வேண்டும், அதாவது 'பணியாளர்கள்['டிகிரி']'. வகைப்படுத்தப்பட்ட மதிப்புகளைக் கொண்ட “டிகிரி” நெடுவரிசையின் மதிப்புகள் முழு எண் மதிப்புகளால் மாற்றப்பட வேண்டும் என்று நாங்கள் விரும்புகிறோம். பின்னர் '.replace()' முறை செயல்படுத்தப்படுகிறது. நாங்கள் அதை இரண்டு தொகுப்புகளாகக் கடந்துவிட்டோம்; முதலாவது '['BS', 'MS']' என்ற இரண்டு வகை மதிப்புகளைக் கொண்டுள்ளது, அவை 'பட்டம்' நெடுவரிசையிலிருந்து பிரித்தெடுக்கப்பட்டன. நீங்கள் பார்க்க முடியும் என, 'பட்டம்' நெடுவரிசை இந்த இரண்டு மதிப்புகளை மீண்டும் மீண்டும் பயன்படுத்துகிறது. நம்மிடம் மூன்றாவது மதிப்பு இருந்தால், அதையும் நாம் குறிப்பிட்டிருக்க வேண்டும். இரண்டாவது தொகுப்பில் இரண்டு முழு மதிப்புகள் “[0, 1]” உள்ளன, அவை முறையே முதல் தொகுப்பு மதிப்புகளின் இடத்தைப் பிடிக்கும். மற்ற அளவுரு, 'இன்ப்ளேஸ்', 'உண்மை' என அமைக்கப்பட்டு, மதிப்புகளை மாற்றுவதை செயல்படுத்துகிறது. 'தவறு' என அமைக்கப்பட்டால், அது மாற்றீட்டை முடக்கும். இறுதியாக, புதுப்பிக்கப்பட்ட “ஸ்டாஃப்” டேட்டாஃப்ரேமைக் காண்பிக்க “அச்சு()” முறையைப் பயன்படுத்தியுள்ளோம்.


இதன் விளைவாக வரும் DataFrame ஆனது 'டிகிரி' நெடுவரிசையில் முழு எண் மதிப்புகளைக் கொண்டுள்ளது. “BS” மதிப்பு “0s” ஆல் மாற்றப்பட்டது, மேலும் “MS” ஆனது “1s” ஆல் மாற்றப்படுகிறது.


'dataframe.dtype' என்ற சொத்தை பயன்படுத்தி ஒவ்வொரு நெடுவரிசைக்கான தரவு வகையையும் நீங்கள் சரிபார்க்கலாம். இது குறிப்பிட்ட DataFrame இல் உள்ள அனைத்து நெடுவரிசைகளின் தரவு வகைகளையும் எங்களுக்குப் பெறும்.


இங்கே, எங்கள் DataFrame இன் தரவு வகைகளைப் பெற்றுள்ளோம். 'டிகிரி' நெடுவரிசையின் தரவு வகை 'int64' ஆக மாற்றப்பட்டதைக் காணலாம்.

எடுத்துக்காட்டு # 2: பாண்டாஸ் அப்ளை() முறையைப் பயன்படுத்துதல்

பாண்டாக்கள் எங்களுக்கு வழங்கிய மற்ற முறை 'DataFrame.apply()' என்பது வகைப்படுத்தப்பட்ட மதிப்புகளை முழு எண்களாக மாற்றுவதற்கான செயல்பாடு ஆகும். முந்தைய எடுத்துக்காட்டில், ஒரு வகைப்பட்ட நெடுவரிசையை முழு எண்ணாக மாற்ற கற்றுக்கொண்டோம். DataFrame இல் உள்ள அனைத்து வகைப்பட்ட நெடுவரிசைகளையும் ஒரு எண்ணாக மாற்றுவது எப்படி என்று இப்போது பார்ப்போம்.

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

இந்த DataFrame நான்கு நெடுவரிசைகளைக் கொண்டுள்ளது 'குழு', 'நிலை', 'மதிப்பெண்கள்' மற்றும் 'உதவி'. ஒவ்வொரு நெடுவரிசையும் 9 மதிப்புகளை சேமிக்கிறது. 'குழு' நெடுவரிசை மதிப்புகள் 'X', 'X', 'Y', 'X', 'Y', 'Y', 'Y', 'X' மற்றும் 'Y' ஆகும். 'நிலை' நெடுவரிசையில் 'A', 'C', 'D', 'A', 'C', 'B', 'B', 'D' மற்றும் 'B' ஆகிய 9 மதிப்புகள் உள்ளன. 'மதிப்பெண்கள்' நெடுவரிசையில் '4', '8', '7', '10', '9', '5', '7', '3' மற்றும் '23' என முழு மதிப்புகள் உள்ளன. கடைசி நெடுவரிசை, 'உதவி', '10', '2', '3', '9', '3', '7', '4', '2' மற்றும் '9' மதிப்புகளைக் கொண்டுள்ளது.

நாங்கள் ஒரு DataFrame ஆப்ஜெக்ட் 'ப்ரோக்' ஐ உருவாக்கி, அதற்கு 'pd.DataFrame()' முறையை செயல்படுத்துவதற்கான வெளியீட்டை ஒதுக்கியுள்ளோம். எனவே, 'pd.DataFrame()' இலிருந்து உருவாக்கப்பட்ட DataFrame சட்டமானது 'prog' இல் சேமிக்கப்படும். இப்போது, ​​இந்த பொருளைப் பயன்படுத்தி DataFrame ஐ அணுகலாம். இந்த DataFrame ஐப் பார்க்க, DataFrame ஆப்ஜெக்ட் “prog” ஐ அதன் அளவுருவாகக் கொண்டு “print()” முறையைப் பயன்படுத்தியுள்ளோம்.


முந்தைய பைதான் நிரல் செயல்படுத்தப்படும் போது, ​​நான்கு நெடுவரிசைகள் கொண்ட டேட்டாஃப்ரேம் முனையத்தில் காட்டப்படும்.


பல வகைப்பட்ட நெடுவரிசைகளை முழு எண்களாக மாற்ற, இந்த நுட்பத்தைப் பின்பற்றியுள்ளோம். பாண்டாக்கள் “DataFrame.select_dtypes().columns” முறையைப் பயன்படுத்தி, ஆப்ஜெக்ட் டேட்டாடைப்பைக் கொண்ட அனைத்து நெடுவரிசைகளையும் முதலில் தேர்ந்தெடுக்க வேண்டும். தேவைக்கேற்ப அதை நமது ஸ்கிரிப்ட்டில் பயன்படுத்தும்போது, ​​அது 'prog.select_dtypes(['object']).columns' என்று இருக்கும். இது 'prog' DataFrame இல் டேட்டா வகை 'object' கொண்ட அனைத்து நெடுவரிசைகளையும் தேர்ந்தெடுக்கும். இந்த முறையின் வெளியீட்டைச் சேமிக்க, “concate_col” என்ற மாறியை உருவாக்கியுள்ளோம். 'concat_col' என்ற மாறியைப் பயன்படுத்தி இப்போது நாம் 'பொருள்' தரவு வகை நெடுவரிசைகளை அணுகலாம்.

இப்போது, ​​இந்த நெடுவரிசைகளை முழு எண்களாக மாற்ற, 'pd.factorize()' முறையுடன் 'DataFrame.apply()' என்ற பாண்டாக்களைப் பயன்படுத்தியுள்ளோம். DataFrame பெயருடன் “concat_col” மாறியைப் பயன்படுத்தினோம், பின்னர் “.apply()” முறை செயல்படுத்தப்படுகிறது. “.apply” முறையின் அடைப்புக்குறிக்குள், “pd.factorize()” முறையை நாங்கள் அழைத்துள்ளோம், அங்கு “x” என்பது “object” தரவு வகையுடன் “prog” DataFrame இலிருந்து எந்த மதிப்பாகவும் இருக்கலாம். எனவே, இந்த முழு குறியீட்டு வரியும் 'prog['concat_col'] = prog['concat_col'] என எழுதப்பட்டுள்ளது.apply(lambda x : pd.factorize(x)[0])'. காரணிப்படுத்தல் முறையானது இதனுடன் மதிப்பை எடுக்கும் ஒரு 'பொருள்' தரவு வகை மற்றும் அதை 'int' ஆக மாற்றவும். 'ப்ரோக்' மாறியை அதன் அளவுருவாக அனுப்புவதன் மூலம் 'print()' செயல்பாட்டை அழைப்பதன் மூலம் இறுதி வெளியீடு காட்டப்படும்.


புதுப்பிக்கப்பட்ட DataFrame இல், 'குழு' மற்றும் 'நிலை' நெடுவரிசைகளின் மதிப்புகள் ஆரம்பத்தில் வகைப்படுத்தப்பட்டவை, அதாவது, பொருளாக இருப்பதை நாம் அவதானிக்கலாம். இன்னும் புதுப்பிக்கப்பட்ட வெளியீடு DataFrame இல், இரண்டு நெடுவரிசைகளும் முழு எண் மதிப்புகளைக் கொண்டுள்ளன. 'குழு' நெடுவரிசையில், 'X' என்பது '0' மற்றும் 'Y' ஐ '1' ஆல் மாற்றப்படும். அதேசமயம் “நிலை” நெடுவரிசை “A” ஆனது “0”, “C” ஐ “1”, “D” ஐ “2” மற்றும் “B” ஐ “3” ஆல் மாற்றுகிறது.


இப்போது, ​​புதுப்பிக்கப்பட்ட தரவு வகைகளைச் சரிபார்ப்போம்.


பின்வரும் அனைத்து நெடுவரிசைகளும் “int64” தரவு வகையைக் கொண்டுள்ளன.

முடிவுரை

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