NumPy பயன்பாடு செயல்பாடு

Numpy Payanpatu Ceyalpatu



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

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

தொடரியல்:

முறை 1: அச்சில் விண்ணப்பிக்கவும்

உணர்ச்சியற்ற. அச்சில்_பொருந்து ( 1d_செயல்பாடு , அச்சு , arr , *ஆர்க்ஸ் , ** குவார்க்ஸ் )

தொடரியலில், 'numpy.apply' செயல்பாடு உள்ளது, அதற்கு நாம் ஐந்து வாதங்களை அனுப்புகிறோம். '1d_function' என்ற முதல் ஒரு வாதமானது ஒரு பரிமாண அணிவரிசையில் இயங்குகிறது, இது தேவைப்படுகிறது. இரண்டாவது வாதம், “அச்சு”, எந்த அச்சில் நீங்கள் வரிசையை ஸ்லைஸ் செய்து அந்த செயல்பாட்டைப் பயன்படுத்த விரும்புகிறீர்கள். மூன்றாவது அளவுரு 'arr' ஆகும், இது நாம் செயல்பாட்டைப் பயன்படுத்த விரும்பும் கொடுக்கப்பட்ட வரிசையாகும். '* args' மற்றும் '*kwargs' ஆகியவை கூடுதல் வாதங்களை சேர்க்க தேவையில்லை.







எடுத்துக்காட்டு 1:

'விண்ணப்பிக்கவும்' முறைகளைப் பற்றிய சிறந்த புரிதலை நோக்கி நகரும், பயன்பாட்டு முறைகளின் செயல்பாட்டைச் சரிபார்க்க நாங்கள் ஒரு உதாரணத்தைச் செய்கிறோம். இந்த நிகழ்வில், “apply_along_Axis” செயல்பாட்டைச் செய்கிறோம். நமது முதல் படிக்கு செல்வோம். முதலில் எங்கள் NumPy நூலகங்களை np ஆகச் சேர்க்கிறோம். பின்னர், '8, 1, 7, 4, 3, 9, 5, 2, மற்றும் 6' என்ற முழு மதிப்புகளுடன் 3×3 மேட்ரிக்ஸை வைத்திருக்கும் 'arr' என்ற வரிசையை உருவாக்குகிறோம். அடுத்த வரியில், apply_along_Axis செயல்பாட்டின் முடிவை வைத்திருக்கும் பொறுப்பான “வரிசை” என்ற மாறியை உருவாக்குகிறோம்.



அந்த செயல்பாட்டிற்கு, நாம் மூன்று வாதங்களை அனுப்புகிறோம். முதலாவதாக, நாம் அணிக்கு பயன்படுத்த விரும்பும் செயல்பாடு, எங்கள் விஷயத்தில் இது வரிசைப்படுத்தப்பட்ட செயல்பாடாகும், ஏனெனில் எங்கள் வரிசை வரிசைப்படுத்தப்பட வேண்டும். பின்னர், இரண்டாவது வாதத்தை “1” ஐ அனுப்புகிறோம், அதாவது எங்கள் வரிசையை அச்சில் = 1 உடன் வெட்ட விரும்புகிறோம். கடைசியாக, இந்த வழக்கில் வரிசைப்படுத்தப்பட வேண்டிய வரிசையை நாங்கள் கடந்து செல்கிறோம். குறியீட்டின் முடிவில், இரண்டு வரிசைகளையும் அச்சிடுவோம் - அசல் வரிசை மற்றும் அதன் விளைவாக வரும் வரிசை - இவை அச்சு() அறிக்கையைப் பயன்படுத்தி காட்டப்படும்.



இறக்குமதி உணர்ச்சியற்ற என எ.கா.

arr = எ.கா. வரிசை ( [ [ 8 , 1 , 7 ] , [ 4 , 3 , 9 ] , [ 5 , இரண்டு , 6 ] ] )

வரிசை = எ.கா. அச்சில்_பொருந்து ( வரிசைப்படுத்தப்பட்டது , 1 , arr )

அச்சு ( 'அசல் வரிசை:' , arr )

அச்சு ( 'வரிசைப்படுத்தப்பட்ட வரிசை:' , வரிசை )





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



முறை 2: அச்சுக்கு மேல் விண்ணப்பிக்கவும்

உணர்ச்சியற்ற. அச்சுகளுக்கு_மேல்_பொருத்தம் ( செயல்பாடு , , அச்சுகள் )

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

எடுத்துக்காட்டு 2:

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

நமது குறியீட்டிற்கு முன்னேறுவோம். முதலில் NumPy தொகுப்பை இறக்குமதி செய்து, முப்பரிமாண வரிசையை வைத்திருக்கும் ஒரு மாறியை உருவாக்குவோம். எங்கள் விஷயத்தில், மாறி 'arr' ஆகும். அடுத்த வரியில், apply_over_axis செயல்பாட்டின் விளைவாக வரும் வரிசையை வைத்திருக்கும் மற்றொரு மாறியை உருவாக்குகிறோம். மூன்று வாதங்களுடன் “arr” மாறிக்கு apply_over_Axis செயல்பாட்டை ஒதுக்குகிறோம். முதல் வாதம் NumPy இன் உள்ளமைக்கப்பட்ட செயல்பாடாகும், இது np.sum ஆகும். இரண்டாவது அளவுரு வரிசையே. மூன்றாவது வாதம், செயல்பாடு பயன்படுத்தப்படும் அச்சு ஆகும், இந்த விஷயத்தில் நம்மிடம் “[0, 2]” அச்சு உள்ளது. குறியீட்டின் முடிவில், அச்சு() அறிக்கையைப் பயன்படுத்தி இரண்டு வரிசைகளையும் இயக்குகிறோம்.

இறக்குமதி உணர்ச்சியற்ற என எ.கா.

arr = எ.கா. வரிசை ( [ [ [ 6 , 12 , இரண்டு ] , [ இரண்டு , 9 , 6 ] , [ 18 , 0 , 10 ] ] ,

[ [ 12 , 7 , 14 ] , [ இரண்டு , 17 , 18 ] , [ 0 , இருபத்து ஒன்று , 8 ] ] ] )

வரிசை = எ.கா. அச்சுகளுக்கு_மேல்_பொருத்தம் ( எ.கா. தொகை , arr , [ 0 , இரண்டு ] )

அச்சு ( 'அசல் வரிசை:' , arr )

அச்சு ( 'வரிசையின் கூட்டுத்தொகை:' , வரிசை )

பின்வரும் படத்தில் காட்டப்பட்டுள்ளபடி, apply_over_axis செயல்பாட்டைப் பயன்படுத்தி எங்கள் முப்பரிமாண வரிசைகளில் சிலவற்றைக் கணக்கிட்டோம். முதலில் காட்டப்படும் அணிவரிசையானது '2, 3, 3' வடிவத்துடன் கூடிய அசல் வரிசையாகும், இரண்டாவது வரிசைகளின் கூட்டுத்தொகையாகும். முதல் வரிசைத் தொகை '53', இரண்டாவது '54' மற்றும் கடைசி '57' ஆகும்.

முடிவுரை

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