±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁËNumpyÊý×éÓëPythonÁÐ±í¡¢ÏòÁ¿ÔËËã¡¢¾ØÕóÔËËã¡¢¸ßάÊý×éÔËËã¡£
±¾ÎÄÀ´×ÔÓÚAIÐÂýÌåÁ¿×Ó루ID£ºQbitAI£©£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼£¬ÍƼö¡£ |
|
NumPyÊÇPythonµÄ×îÖØÒªµÄÀ©Õ¹³ÌÐò¿âÖ®Ò»£¬Ò²ÊÇÈëÃÅ»úÆ÷ѧϰ±à³ÌµÄ±Ø±¸¹¤¾ß¡£È»¶ø¶Ô³õѧÕßÀ´Ëµ£¬NumPyµÄ´óÁ¿ÔËËã·½·¨·Ç³£ÄѼǡ£

×î½ü£¬¹úÍâÓÐλ³ÌÐòÔ±½²NumPyµÄ»ù±¾ÔËËãÒÔͼ½âµÄ·½Ê½Ð´ÏÂÀ´£¬ÈÃѧϰ¹ý³Ì±äµÃÇáËÉÓÐȤ¡£ÔÚReddit»úÆ÷ѧϰÉçÇø·¢²¼²»µ½°ëÌì¾ÍÊÕ»ñÁË500+ÔÞ¡£

ÏÂÃæ¾ÍÈÃÎÒÃǸúËæËûµÄ½Ì³ÌÒ»ÆðÀ´Ñ§Ï°°É£¡
½Ì³ÌÄÚÈÝ·ÖΪÏòÁ¿ £¨Ò»Î¬Êý×飩¡¢¾ØÕó £¨¶þάÊý×飩¡¢ÈýάÓë¸ü¸ßάÊý×é3¸ö²¿·Ö¡£
NumpyÊý×éÓëPythonÁбí
ÔÚ½éÉÜÕýʽÄÚÈÝ֮ǰ£¬ÏÈÈÃÎÒÃÇÏÈÀ´Á˽âÒ»ÏÂNumpyÊý×éÓëPythonÁбíµÄÇø±ð¡£
Õ§Ò»¿´£¬NumPyÊý×éÀàËÆÓÚPythonÁÐ±í¡£ËüÃǶ¼¿ÉÒÔÓÃ×÷ÈÝÆ÷£¬¾ßÓлñÈ¡£¨getting£©ºÍÉèÖã¨setting£©ÔªËØÒÔ¼°²åÈëºÍÒÆ³ýÔªËØµÄ¹¦ÄÜ¡£
Á½ÕßÓкܶàÏàËÆÖ®´¦£¬ÒÔÏÂÊǶþÕßÔÚÔËËãʱµÄÒ»¸öʾÀý£º

ºÍPythonÁбíÏà±È£¬NumpyÊý×é¾ßÓÐÒÔÏÂÌØµã£º
¸ü½ô´Õ£¬ÓÈÆäÊÇÔÚһάÒÔÉϵÄά¶È£»ÏòÁ¿»¯²Ù×÷ʱ±ÈPythonÁбí¿ì£¬µ«ÔÚĩβÌí¼ÓÔªËØ±ÈPythonÁбíÂý¡£

¡÷ÔÚĩβÌí¼ÓÔªËØÊ±£¬PythonÁÐ±í¸´ÔÓ¶ÈΪO(1)£¬NumPy¸´ÔÓ¶ÈΪO(N)
ÏòÁ¿ÔËËã
ÏòÁ¿³õʼ»¯
´´½¨NumPyÊý×éµÄÒ»ÖÖ·½·¨ÊÇ´ÓPythonÁбíÖ±½Óת»»£¬Êý×éÔªËØµÄÀàÐÍÓëÁбíÔªËØÀàÐÍÏàͬ¡£

NumPyÊý×éÎÞ·¨ÏñPythonÁбíÄÇÑù¼Ó³¤£¬ÒòΪÔÚÊý×éĩβûÓб£Áô¿Õ¼ä¡£
Òò´Ë£¬³£¼ûµÄ×ö·¨ÊǶ¨ÒåÒ»¸öPythonÁÐ±í£¬¶ÔËü½øÐвÙ×÷£¬È»ºóÔÙת»»ÎªNumPyÊý×飬»òÕßÓÃnp.zerosºÍnp.empty³õʼ»¯Êý×飬Ԥ·ÖÅä±ØÒªµÄ¿Õ¼ä£º

ÓÐʱÎÒÃÇÐèÒª´´½¨Ò»¸ö¿ÕÊý×飬´óСºÍÔªËØÀàÐÍÓëÏÖÓÐÊý×éÏàͬ£º

ʵ¼ÊÉÏ£¬ËùÓÐÓó£Á¿Ìî³ä´´½¨µÄÊý×éµÄº¯Êý¶¼ÓÐÒ»¸ö_like¶ÔÓ¦ÏÀ´´´½¨ÏàͬÀàÐ͵ij£ÊýÊý×飺

ÔÚNumPyÖУ¬¿ÉÒÔÓÃarange»òÕßlinspaceÀ´³õʼ»¯µ¥µ÷ÐòÁÐÊý×飺

Èç¹ûÐèÒªÀàËÆ[0., 1., 2.]µÄ¸¡µãÊý×飬¿ÉÒÔ¸ü¸ÄarangeÊä³öµÄÀàÐÍ£ºarange(3).astype(float)¡£
µ«ÊÇÓиüºÃµÄ·½·¨£ºarangeº¯Êý¶ÔÊý¾ÝÀàÐÍÃô¸Ð£¬Èç¹û½«ÕûÊý×÷Ϊ²ÎÊý£¬Éú³ÉÕûÊýÊý×飻Èç¹ûÊäÈ븡µãÊý£¨ÀýÈçarange(3.)£©£¬ÔòÉú³É¸¡µãÊý×é¡£
µ«ÊÇarangeÔÚ´¦Àí¸¡µãÊý·½Ãæ²¢²»ÊÇÌØ±ðÉ󤣺

ÕâÊÇÒòΪ0.1¶ÔÓÚÎÒÃÇÀ´ËµÊÇÒ»¸öÓÐÏÞµÄÊ®½øÖÆÊý£¬µ«¶Ô¼ÆËã»ú¶øÑÔÈ´²»ÊÇ¡£ÔÚ¶þ½øÖÆÏ£¬0.1ÊÇÒ»¸öÎÞÇîСÊý£¬±ØÐëÔÚij´¦½Ø¶Ï¡£
Õâ¾ÍÊÇΪʲô½«Ð¡Êý²¿·Ö¼Óµ½²½Öèarangeͨ³£ÊÇÒ»¸ö²»Ì«ºÃµÄ·½·¨£ºÎÒÃÇ¿ÉÄÜ»áÓöµ½Ò»¸öbug£¬µ¼ÖÂÊý×éµÄÔªËØ¸öÊý²»ÊÇÎÒÃÇÏëÒªµÄÊý£¬Õâ»á½µµÍ´úÂëµÄ¿É¶ÁÐԺͿÉά»¤ÐÔ¡£
Õâʱºò£¬linspace»áÅÉÉÏÓó¡¡£Ëü²»ÊÜÉáÈë´íÎóµÄÓ°Ï죬²¢Ê¼ÖÕÉú³ÉÒªÇóµÄÔªËØÊý¡£
³öÓÚ²âÊÔÄ¿µÄ£¬Í¨³£ÐèÒªÉú³ÉËæ»úÊý×飬NumPyÌá¹©Ëæ»úÕûÊý¡¢¾ùÔÈ·Ö²¼¡¢Õý̬·Ö²¼µÈ¼¸ÖÖËæ»úÊýÐÎʽ£º

ÏòÁ¿Ë÷Òý
Ò»µ©½«Êý¾Ý´æ´¢ÔÚÊý×éÖУ¬NumPy±ã»áÌṩ¼òµ¥µÄ·½·¨½«ÆäÈ¡³ö£º

ÉÏÃæÕ¹Ê¾Á˸÷ʽ¸÷ÑùµÄË÷Òý£¬ÀýÈçÈ¡³öij¸öÌØ¶¨Çø¼ä£¬´ÓÓÒÍù×óË÷Òý¡¢Ö»È¡³öÆæÊýλµÈµÈ¡£
µ«ËüÃǶ¼ÊÇËùνµÄview£¬Ò²¾ÍÊDz»´æ´¢ÔʼÊý¾Ý¡£²¢ÇÒÈç¹ûÔʼÊý×éÔÚ±»Ë÷Òýºó½øÐиü¸Ä£¬Ôò²»»á·´Ó³ÔʼÊý×éµÄ¸Ä±ä¡£
ÕâЩË÷Òý·½·¨ÔÊÐí·ÖÅäÐÞ¸ÄÔʼÊý×éµÄÄÚÈÝ£¬Òò´ËÐèÒªÌØ±ð×¢Ò⣺ֻÓÐÏÂÃæ×îºóÒ»ÖÖ·½·¨²ÅÊǸ´ÖÆÊý×飬Èç¹ûÓÃÆäËû·½·¨¶¼¿ÉÄÜÆÆ»µÔʼÊý¾Ý£º

´ÓNumPyÊý×éÖлñÈ¡Êý¾ÝµÄÁíÒ»ÖÖ³¬¼¶ÓÐÓõķ½·¨ÊDz¼¶ûË÷Òý£¬ËüÔÊÐíʹÓø÷ÖÖÂß¼ÔËËã·û£¬À´¼ìË÷·ûºÏÌõ¼þµÄÔªËØ£º

×¢Ò⣺PythonÖеÄÈýÔª±È½Ï3<=a<=5ÔÚNumPyÊý×éÖв»Æð×÷Óá£
ÈçÉÏËùÊö£¬²¼¶ûË÷ÒýÒ²»á¸ÄдÊý×é¡£ËüÓÐÁ½¸ö³£¼ûµÄº¯Êý£¬·Ö±ðÊÇnp.whereºÍnp.clip£º

ÏòÁ¿ÔËËã
ËãÊõÔËËãÊÇNumPyËÙ¶È×îÒýÈëעĿµÄµØ·½Ö®Ò»¡£NumPyµÄÏòÁ¿ÔËËã·ûÒÑ´ïµ½C++¼¶±ð£¬±ÜÃâÁËPythonµÄÂýÑ»·¡£
NumPyÔÊÐíÏñÆÕͨÊý×ÖÒ»Ñù²Ù×÷Õû¸öÊý×飨¼Ó¼õ³Ë³ý¡¢Õû³ý¡¢ÃÝ£©£º

¡÷ ºÍPythonÖÐÒ»Ñù£¬a//b±íʾdiv b£¨Õû³ý£©£¬x**n±íʾx?
ÏòÁ¿»¹¿ÉÒÔÓë±êÁ¿½øÐÐÀàËÆµÄÔËË㣬·½·¨Ïàͬ£º

´ó¶àÊýµÄÊýѧº¯Êý¶¼ÓÐNumPy¶ÔÓ¦ÏîÓÃÓÚ´¦ÀíÏòÁ¿£º

ÏòÁ¿µÄµã»ý¡¢²æ»ýÒ²ÓÐÔËËã·û£º

ÎÒÃÇÒ²¿ÉÒÔ½øÐÐÈý½Çº¯Êý¡¢·´Èý½Çº¯Êý¡¢Çóб±ßÔËË㣺

Êý×é¿ÉÒÔËÄÉáÎåÈëΪÕûÊý£º

¡÷ floorȡϽ磻ceilÈ¡ÉϽ磻roundΪËÄÉáÁùÈëÎåȡż
NumPy»¹¿ÉÒÔÖ´ÐÐÒÔÏ»ù±¾µÄͳ¼ÆÔËË㣨×î´ó×îСֵ¡¢Æ½¾ùÖµ¡¢·½²î¡¢±ê×¼²î£©£º

²»¹ýÅÅÐòº¯ÊýµÄ¹¦ÄܱÈPythonÁбí¶ÔÓ¦º¯Êý¸üÉÙ£º

ËÑË÷ÏòÁ¿ÖеÄÔªËØ
ÓëPythonÁбíÏà·´£¬NumPyÊý×éûÓÐindex·½·¨¡£

²éÕÒÔªËØµÄÒ»ÖÖ·½·¨ÊÇnp.where(a==x)[0][0]£¬Ëü¼È²»ÓÅÑÅÒ²²»¿ìËÙ£¬ÒòΪҪ²éÕÒµÄÏîÐèÒª´Ó¿ªÍ·±éÀúÊý×éµÄËùÓÐÔªËØ¡£
¸ü¿ìµÄ·½Ê½ÊÇͨ¹ýNumbaÖеÄnext((i[0] for i, v in np.ndenumerate(a)
if v==x), -1)À´¼ÓËÙ¡£
Ò»µ©¶ÔÊý×é½øÐÐÅÅÐò£¬Çé¿ö¾Í»á±äµÃ¸üºÃ£ºv = np.searchsorted(a, x); return
v if a[v]==x else -1µÄ¸´ÔÓ¶ÈΪO(log N)£¬È·Êµ·Ç³£¿ì£¬µ«ÊÇÊ×ÏÈÐèÒªO(N
log N)µÄÅÅÐòʱ¼ä¡£
±È½Ï¸¡µãÊý
º¯Êýnp.allclose(a, b)ÓÃÓڱȽϾßÓиø¶¨¹«²îµÄ¸¡µãÊý×飺

np.allclose¼ÙÉèËùÓеıȽÏÊý×ֵĵȼ¶ÊÇ1¸öµ¥Î»¡£ÀýÈçÔÚÉÏͼÖУ¬Ëü¾ÍÈÏΪ1e-9ºÍ2e-9Ïàͬ£¬Èç¹ûÒª½øÐиüϸÖµıȽϣ¬ÐèҪͨ¹ýatolÖ¸¶¨±È½ÏµÈ¼¶1£ºnp.allclose(1e-9,
2e-9, atol=1e-17) == False¡£
math.isclose½øÐбȽÏûÓмÙÉèǰÌᣬ¶øÊÇ»ùÓÚÓû§¸ø³öµÄÒ»¸öºÏÀíabs_tolÖµ£ºmath.isclose(0.1+0.2¨C0.3,
abs_tol=1e-8) == True¡£
³ý´ËÖ®Íânp.allcloseÔÚ¾ø¶ÔºÍÏà¶Ô¹«²î¹«Ê½Öл¹´æÔÚһЩСÎÊÌ⣬ÀýÈ磬¶ÔijЩÊý´æÔÚallclose(a,
b) != allclose(b, a)¡£ÕâЩÎÊÌâÒÑÔÚmath.iscloseº¯ÊýÖеõ½½â¾ö¡£
¾ØÕóÔËËã
NumPyÖÐÔø¾ÓÐÒ»¸öרÓõÄÀàmatrix£¬µ«ÏÖÔÚÒÑÆúÓã¬Òò´ËÏÂÃæ½«½»ÌæÊ¹ÓþØÕóºÍ2DÊý×éÁ½¸ö´Ê¡£
¾ØÕó³õʼ»¯Óï·¨ÓëÏòÁ¿ÏàËÆ£º

ÕâÀïÐèҪ˫À¨ºÅ£¬ÒòΪµÚ¶þ¸öλÖòÎÊýÊÇΪdtype±£ÁôµÄ¡£
Ëæ»ú¾ØÕóµÄÉú³ÉÒ²ÀàËÆÓÚÏòÁ¿µÄÉú³É£º

¶þάË÷ÒýÓï·¨±ÈǶÌ×Áбí¸ü·½±ã£º

ºÍһάÊý×éÒ»Ñù£¬ÉÏͼµÄview±íʾ£¬ÇÐÆ¬Êý×éʵ¼ÊÉϲ¢Î´½øÐÐÈκθ´ÖÆ¡£ÐÞ¸ÄÊý×éºó£¬¸ü¸ÄÒ²½«·´Ó³ÔÚÇÐÆ¬ÖС£
axis²ÎÊý
ÔÚÐí¶à²Ù×÷£¨ÀýÈçÇóºÍ£©ÖУ¬ÎÒÃÇÐèÒª¸æËßNumPyÊÇ·ñÒª¿çÐлò¿çÁнøÐвÙ×÷¡£ÎªÁËʹÓÃÈÎÒâάÊýµÄͨÓñíʾ·¨£¬NumPyÒýÈëÁËaxisµÄ¸ÅÄaxis²ÎÊýʵ¼ÊÉÏÊÇËùÌÖÂÛË÷ÒýµÄÊýÁ¿£ºµÚÒ»¸öË÷ÒýÊÇaxis=0£¬µÚ¶þ¸öË÷ÒýÊÇaxis=1£¬µÈµÈ¡£
Òò´ËÔÚ¶þάÊý×éÖУ¬Èç¹ûaxis=0Êǰ´ÁУ¬ÄÇôaxis=1¾ÍÊǰ´ÐС£

¾ØÕóÔËËã
³ýÁËÆÕͨµÄÔËËã·û£¨Èç+£¬-£¬*£¬/£¬//ºÍ**£©ÒÔÔªËØ·½Ê½¼ÆËãÍ⣬»¹ÓÐÒ»¸ö@ÔËËã·û¿É¼ÆËã¾ØÕó³Ë»ý£º

ÔÚµÚÒ»²¿·ÖÖУ¬ÎÒÃÇÒѾ¿´µ½ÏòÁ¿³Ë»ýµÄÔËË㣬NumPyÔÊÐíÏòÁ¿ºÍ¾ØÕóÖ®¼ä£¬ÉõÖÁÁ½¸öÏòÁ¿Ö®¼ä½øÐÐÔªËØµÄ»ìºÏÔËË㣺

ÐÐÏòÁ¿ÓëÁÐÏòÁ¿
´ÓÉÏÃæµÄʾÀý¿ÉÒÔ¿´³ö£¬ÔÚ¶þάÊý×éÖУ¬ÐÐÏòÁ¿ºÍÁÐÏòÁ¿±»²»Í¬µØ¶Ô´ý¡£
ĬÈÏÇé¿öÏ£¬Ò»Î¬Êý×éÔÚ¶þά²Ù×÷Öб»ÊÓΪÐÐÏòÁ¿¡£Òò´Ë£¬½«¾ØÕó³ËÒÔÐÐÏòÁ¿Ê±£¬¿ÉÒÔʹÓÃ(n£¬)»ò(1£¬n)£¬½á¹û½«Ïàͬ¡£
Èç¹ûÐèÒªÁÐÏòÁ¿£¬ÔòÓÐתÖ÷½·¨¶ÔÆä½øÐвÙ×÷£º

Äܹ»´ÓһάÊý×éÖÐÉú³É¶þλÊý×éÁÐÏòÁ¿µÄÁ½¸ö²Ù×÷ÊÇʹÓÃÃüÁîreshapeÖØÅźÍnewaxis½¨Á¢ÐÂË÷Òý£º

ÕâÀïµÄ-1²ÎÊý±íʾreshape×Ô¶¯¼ÆËãµÚ¶þ¸öά¶ÈÉϵÄÊý×鳤¶È£¬NoneÔÚ·½À¨ºÅÖг䵱np.newaxisµÄ¿ì½Ý·½Ê½£¬¸Ã¿ì½Ý·½Ê½ÔÚÖ¸¶¨Î»ÖÃÌí¼ÓÁËÒ»¸ö¿Õaxis¡£
Òò´Ë£¬NumPyÖÐ×ܹ²ÓÐÈýÖÖÀàÐ͵ÄÏòÁ¿£ºÒ»Î¬Êý×飬¶þάÐÐÏòÁ¿ºÍ¶þάÁÐÏòÁ¿¡£ÕâÊÇÁ½ÕßÖ®¼äÏÔʽת»»µÄʾÒâͼ£º

¸ù¾Ý¹æÔò£¬Ò»Î¬Êý×é±»Òþʽ½âÊÍΪ¶þάÐÐÏòÁ¿£¬Òò´Ëͨ³£²»±ØÔÚÕâÁ½¸öÊý×éÖ®¼ä½øÐÐת»»£¬ÏàÓ¦ÇøÓòÓûÒÉ«±ê³ö¡£
¾ØÕó²Ù×÷
Á¬½Ó¾ØÕóÓÐÁ½¸öÖ÷Òªº¯Êý£º

ÕâÁ½¸öº¯ÊýÖ»¶Ñµþ¾ØÕó»òÖ»¶ÑµþÏòÁ¿Ê±£¬¶¼¿ÉÒÔÕý³£¹¤×÷¡£µ«Êǵ±É漰һάÊý×éÓë¾ØÕóÖ®¼äµÄ»ìºÏ¶Ñµþʱ£¬vstack¿ÉÒÔÕý³£¹¤×÷£ºhstack»á³öÏֳߴ粻ƥÅä´íÎó¡£
ÒòΪÈçÉÏËùÊö£¬Ò»Î¬Êý×é±»½âÊÍΪÐÐÏòÁ¿£¬¶ø²»ÊÇÁÐÏòÁ¿¡£½â¾ö·½·¨Êǽ«Æäת»»ÎªÁÐÏòÁ¿£¬»òÕßʹÓÃcolumn_stack×Ô¶¯Ö´ÐУº

¶ÑµþµÄÄæÏò²Ù×÷ÊÇ·ÖÁÑ£º

¾ØÕó¿ÉÒÔͨ¹ýÁ½ÖÖ·½Ê½Íê³É¸´ÖÆ£ºtileÀàËÆÓÚ¸´ÖÆÕ³Ìù£¬repeatÀàËÆÓÚ·ÖÒ³´òÓ¡¡£

ÌØ¶¨µÄÁкÍÐпÉÒÔÓÃdelete½øÐÐɾ³ý£º

ÄæÔËËãΪ²åÈ룺

append¾ÍÏñhstackÒ»Ñù£¬¸Ãº¯ÊýÎÞ·¨×Ô¶¯×ªÖÃһάÊý×飬Òò´ËÔÙ´ÎÐèÒª¶ÔÏòÁ¿½øÐÐתÖûòÌí¼Ó³¤¶È£¬»òÕßʹÓÃcolumn_stack´úÌæ£º

ʵ¼ÊÉÏ£¬Èç¹ûÎÒÃÇÐèÒª×öµÄ¾ÍÊÇÏòÊý×éµÄ±ß½çÌí¼Ó³£Á¿Öµ£¬ÄÇôpadº¯Êý¾Í×ã¹»ÁË£º

Meshgrid
Èç¹ûÎÒÃÇÒª´´½¨ÒÔϾØÕó£º

Á½ÖÖ·½·¨¶¼ºÜÂý£¬ÒòΪËüÃÇʹÓõÄÊÇPythonÑ»·¡£ÔÚMATLAB´¦ÀíÕâÀàÎÊÌâµÄ·½·¨ÊÇ´´½¨Ò»¸ömeshgrid£º

¸Ãmeshgridº¯Êý½ÓÊÜÈÎÒâÒ»×éË÷Òý£¬mgrid½öÊÇÇÐÆ¬£¬indicesÖ»ÄÜÉú³ÉÍêÕûµÄË÷Òý·¶Î§¡£fromfunctionÈçÉÏËùÊö£¬½öʹÓÃIºÍJ²ÎÊýÒ»´Îµ÷ÓÃÌṩµÄº¯Êý¡£
µ«ÊÇʵ¼ÊÉÏ£¬ÔÚNumPyÖÐÓÐÒ»ÖÖ¸üºÃµÄ·½·¨¡£ÎÞÐèÔÚÕû¸ö¾ØÕóÉϺķѴ洢¿Õ¼ä¡£½ö´æ´¢´óСÕýÈ·µÄʸÁ¿¾Í×ã¹»ÁË£¬ÔËËã¹æÔò½«´¦ÀíÆäÓàµÄÄÚÈÝ£º

ÔÚûÓÐindexing=¡¯ij¡¯²ÎÊýµÄÇé¿öÏ£¬meshgrid½«¸ü¸Ä²ÎÊýµÄ˳Ðò£ºJ, I= np.meshgrid(j,
i)¡ªÕâÊÇÒ»ÖÖ¡° xy¡±Ä£Ê½£¬ÓÃÓÚ¿ÉÊÓ»¯3Dͼ¡£
³ýÁËÔÚ¶þά»òÈýάÊý×éÉϳõʼ»¯Í⣬meshgrid»¹¿ÉÒÔÓÃÓÚË÷ÒýÊý×飺

¾ØÕóͳ¼Æ
¾ÍÏñ֮ǰÌáµ½µÄͳ¼Æº¯ÊýÒ»Ñù£¬¶þάÊý×é½ÓÊܵ½axis²ÎÊýºó£¬»á²ÉÈ¡ÏàÓ¦µÄͳ¼ÆÔËË㣺

¶þά¼°¸ü¸ßά¶ÈÖУ¬argminºÍargmaxº¯Êý·µ»Ø×î´ó×îСֵµÄË÷Òý£º

allºÍanyÁ½¸öº¯ÊýÒ²ÄÜʹÓÃaxis²ÎÊý£º

¾ØÕóÅÅÐò
¾¡¹Üaxis²ÎÊý¶ÔÉÏÃæÁгöµÄº¯ÊýºÜÓÐÓ㬵«¶Ô¶þάÅÅÐòȴûÓаïÖú£º

axis¾ø²»ÊÇPythonÁбíkey²ÎÊýµÄÌæ´ú¡£²»¹ýNumPy¾ßÓжà¸öº¯Êý£¬ÔÊÐí°´ÁнøÐÐÅÅÐò£º
1¡¢°´µÚÒ»ÁжÔÊý×éÅÅÐò£ºa[a[:,0].argsort()]

argsortÅÅÐòºó£¬´Ë´¦·µ»ØÔʼÊý×éµÄË÷ÒýÊý×é¡£
´Ë¼¼ÇÉ¿ÉÒÔÖØ¸´£¬µ«ÊDZØÐëСÐÄ£¬ÒÔÃâÏÂÒ»¸öÅÅÐò»ìÏýǰһ¸öÅÅÐòµÄ½á¹û£º
a = a[a[:,2].argsort()]
a = a[a[:,1].argsort(kind=¡¯stable¡¯)]
a = a[a[:,0].argsort(kind=¡¯stable¡¯)]

2¡¢ÓÐÒ»¸ö¸¨Öúº¯Êýlexsort£¬¸Ãº¯Êý°´ÉÏÊö·½Ê½¶ÔËùÓпÉÓÃÁнøÐÐÅÅÐò£¬µ«Ê¼ÖÕ°´ÐÐÖ´ÐУ¬ÀýÈ磺
a[np.lexsort(np.flipud(a[2,5].T))]£ºÏÈͨ¹ýµÚ2ÁÐÅÅÐò£¬ÔÙͨ¹ýµÚ5ÁÐÅÅÐò£»
a[np.lexsort(np.flipud(a.T))]£º°´´Ó×óµ½ÓÒËùÓÐÁÐÒÀ´Î½øÐÐÅÅÐò¡£

3¡¢»¹ÓÐÒ»¸ö²ÎÊýorder£¬µ«ÊÇÈç¹û´ÓÆÕͨ£¨·Ç½á¹¹»¯£©Êý×鿪ʼ£¬Ôò¼È²»¿ìËÙÒ²²»ÈÝÒ×ʹÓá£
4¡¢ÒòΪÕâ¸öÌØÊâµÄ²Ù×÷·½Ê½¸ü¾ß¿É¶ÁÐÔºÍËü¿ÉÄÜÊÇÒ»¸ö¸üºÃµÄÑ¡Ôñ£¬ÕâÑù×öµÄpandas²»Ò׳ö´í£º
pd.DataFrame(a).sort_values(by=[2,5]).to_numpy()£ºÍ¨¹ýµÚ2ÁÐÔÙͨ¹ýµÚ5ÁнøÐÐÅÅÐò¡£
pd.DataFrame(a).sort_values().to_numpy()£ºÍ¨¹ý´Ó×óÏòÓÒËùÓÐÁнøÐÐÅÅÐò
¸ßάÊý×éÔËËã
ͨ¹ýÖØÅÅһάÏòÁ¿»òת»»Ç¶Ì×µÄPythonÁбíÀ´´´½¨3DÊý×éʱ£¬Ë÷ÒýµÄº¬ÒåΪ£¨z£¬y£¬x£©¡£
µÚÒ»¸öË÷ÒýÊÇÆ½ÃæµÄ±àºÅ£¬È»ºó²ÅÊÇÔÚ¸ÃÆ½ÃæÉϵÄÒÆ¶¯£º

ÕâÖÖË÷Òý˳ÐòºÜ·½±ã£¬ÀýÈçÓÃÓÚ±£ÁôÒ»¶Ñ»Ò¶ÈͼÏñ£ºÕâa[i]ÊÇÒýÓõÚi¸öͼÏñµÄ¿ì½Ý·½Ê½¡£
µ«ÊÇ´ËË÷Òý˳Ðò²»ÊÇͨÓõġ£´¦ÀíRGBͼÏñʱ£¬Í¨³£Ê¹Óã¨y£¬x£¬z£©Ë³Ðò£ºÇ°Á½¸öÊÇÏñËØ×ø±ê£¬×îºóÒ»¸öÊÇÑÕɫ׸±ê£¨MatplotlibÖÐÊÇRGB
£¬OpenCVÖÐÊÇBGR £©£º

ÕâÑù£¬¿ÉÒÔ·½±ãµØÒýÓÃÌØ¶¨ÏñËØ£ºa[i,j]¸ø³öÏñËØµÄRGBÔª×é(i,j)¡£
Òò´Ë£¬´´½¨Ìض¨¼¸ºÎÐÎ×´µÄʵ¼ÊÃüÁîÈ¡¾öÓÚÕýÔÚ´¦ÀíµÄÓòµÄÔ¼¶¨£º

ÏÔÈ»£¬NumPyº¯ÊýÏñhstack¡¢vstack»òdstack²»ÖªµÀÕâЩԼ¶¨¡£ÆäÖÐÓ²±àÂëµÄË÷Òý˳ÐòÊÇ£¨y£¬x£¬z£©£¬RGBͼÏñ˳ÐòÊÇ£º

¡÷RGBͼÏñÊý×飨Ϊ¼ò±ãÆð¼û£¬ÉÏͼ½ö2ÖÖÑÕÉ«£©
Èç¹ûÊý¾ÝµÄ²¼¾Ö²»Í¬£¬ÔòʹÓÃconcatenateÃüÁî¶ÑµþͼÏñ£¬²¢ÔÚaxis²ÎÊýÖÐÌṩÏÔʽË÷ÒýÊý»á¸ü·½±ã£º

Èç¹û²»·½±ãʹÓÃaxis£¬¿ÉÒÔ½«Êý×éת»»Ó²±àÂëΪhstackµÄÐÎʽ£º
.jpg)
ÕâÖÖת»»Ã»ÓÐʵ¼ÊµÄ¸´ÖÆ·¢Éú¡£ËüÖ»ÊÇ»ìºÏË÷ÒýµÄ˳Ðò¡£
»ìºÏË÷Òý˳ÐòµÄÁíÒ»¸ö²Ù×÷ÊÇÊý×éתÖ᣼ì²éËü¿ÉÄÜ»áÈÃÎÒÃǶÔÈýάÊý×é¸ü¼ÓÊìϤ¡£
¸ù¾ÝÎÒÃǾö¶¨µÄaxis˳Ðò£¬×ªÖÃÊý×éËùÓÐÆ½ÃæµÄʵ¼ÊÃüÁÓÐËù²»Í¬£º¶ÔÓÚͨÓÃÊý×飬Ëü½»»»Ë÷Òý1ºÍ2£¬¶ÔÓÚRGBͼÏñ£¬Ëü½»»»0ºÍ1£º

ÓÐȤµÄÊÇ£¬£¨ºÍΨһµÄ²Ù×÷ģʽ£©Ä¬ÈϵÄaxes²ÎÊýµßµ¹ÁËË÷Òý˳Ðò£¬ÕâÓëÉÏÊöÁ½¸öË÷Òý˳ÐòÔ¼¶¨¶¼²»Ïà·û¡£
×îºó£¬»¹ÓÐÒ»¸öº¯Êý£¬¿ÉÒÔÔÚ´¦Àí¶àάÊý×éʱ½ÚÊ¡ºÜ¶àPythonÑ»·£¬²¢Ê¹´úÂë¸ü¼ò½à£¬Õâ¾ÍÊǰ®Òò˹̹ÇóºÍº¯Êýeinsum£º

Ëü½«ÑØÖظ´Ë÷ÒýµÄÊý×éÇóºÍ¡£
×îºó£¬ÈôÒªÕÆÎÕNumPy£¬¿ÉÒÔǰȥGitHubÉϵÄÏîÄ¿¡ª¡ª100µÀNumPyÁ·Ï°Ì⣬ÑéÖ¤×Ô¼ºµÄѧϰ³É¹û¡£ |