çæAIåŽã®ðŒsè©äŸ¡ãšå©çšäŸ¡å€ã®èŠè§£ãèããŠã¿ãã
ååã«åŒãç¶ããæ¶æž¬ãšãªããšå©çšäŸ¡å€ã«æã被ããšæã£ãçºã«ãçæAIãžpandasã®äœ¿çšæ¹æ³ãžã®æåãšç§ã®èãæ¹ã®çžéç¹ãèããŠã¿ãã®ã§ãã
ã§ãããã§å¿é
ã«ãªã£ãã®ã¯ããæãããŠèªåã¯åºå®æŠå¿µã«åãããŠããã®ã§ã¯ãªããïŒããšããããšãæ°ã«ãªã£ãŠããŸããã
ãããã£ãäºãæéçãšèšãããæ段ãè¬ãã次ã®æãèããéçãšãªããŸãã
ãããªå®ã«è«Šããæªãç§ã¯ãååã®åŠçãäœãšãåæ£ååŠçãžã€ãªããæ¹æ³ãç¡ããïŒãšããææ¡ãå·¡ãããåŸãnumpy䜿ã£ãŠã®åŠç軜æžæéçãªãïŒãšèããŠããnumpyæ¹ä¿®ã®æœçãšããŠãœãŒã¹ææ¡ããŠããã£ãåŸã®äŒè©±ã§ãã
å
ãã¯å€§äºãªäºãªã®ã§æã£ãŠããããããšãããããŸãã
ç³ãèš³ããããŸããããç§ã¯æ±ºããŠãããã£ãçµæãšãªããœãŒã¹ã³ãŒãã®é瀺ãè¡ãããšæã£ãŠãããŸããã
ãããã£ãäºãæåŸ
ããæ¹ã«ã¯å€±ç€Œãªãã倧å€ç³ãèš³ããããŸããããä»ããã«ãã®èšäºãéããŠãœãŒã¹é瀺ããããŠããæ¹ã®èšäºãžåãã£ãŠãã ãã<(_ _)>
äœæ
ãïŒãšç³ããŸããšãã³ãŒãã£ã³ã°ã«ææŠããããšãã人ã®åäžå¿ãæ¢æ±å¿ã楜ãã¿ã奪ã£ãŠããŸãããšããäžçªã€ãŸããªãäºãã ãšæã£ãŠããããã§ãã
ãããåäœãå®ç§ãªææç¡æåããã«ãœãŒã¹ãäžããããŠãçµæããããã°éåžžã«æ¥œã ããäœãèããªããŠããã
ç§ã¯ãããã§ãã·ã§ãã«ãç®æããŠããŸããããã®ä»£åãšããŠããæ®å¿µãªããšã«æ¥µããŠåæããããŸããïœïœïœ
å©çã®é¢ã§è§£éãããšãé瀺ãææã§è¡ãã°ãã¥ãŒãã€ã³ãã¬ãã·ã§ã³ã皌ããŸãããåçãšèšãå©çãåºãã§ãããã
ã§ããããªå®çŽãªèãã§ãåç確ä¿ãããããããŸãããã
ã ã£ãŠãã·ã¹ãã ã³ãŒãã£ã³ã°ã ãã§ãã¹ãã«äžããã°ã©ã€ã»ã³ã·ãŒå¥çŽã§ãã€ããªåããŠã«ã¹ã¿ãã€ãºããŠå£²ãããšãå¯èœã§ãããæŽã«ç§å¿ãããã®ã·ã¹ãã ã§ç«¶éŠ¬ã®å£²ãäžãã ã£ãŠåºæ¥ã¡ããã
çæAIã®ã³ãŒãã£ã³ã°ä»å©åãç¥ã£ãŠããŸã£ã以äžãå®æããŠãããœãŒã¹ã趣å³ããŒã¹ã§ã¯ãªããã以äžã®äŸ¡å€ãèŠãã ããã®ã§ã誰ããããªç®å
ã®å°æå
ãªå°é皌ããããªå©çãªããã«å¿ãåŸããŸããïŒãšããããšã§ãã
æ¢ããŠç³ããŸããšããããªææ
®ãåºæ¥ãªã貧匱ã§è匱ãªè¯ãç¡ã人éã«ã¯ãç§ã¯ãªããããªãã®ã§ãããã
ãªã®ã§èãã¯åå¿è²«åŸ¹ã§ããããã³ãã¯åºããŸãïŒããã¢ãããŒã§ãã
å³åŸã£ãœãã極ããŠããéããªé¢ãèªããŸãã
èšèãæªããŠå€§å€ç³ãèš³ããããŸãã<(_ _)>
ã§ãçæAIã䜿ã£ãã³ãŒãã£ã³ã°ãæ¯é掻çšããŠé ãããã®ãšããããå·±ã®ã¹ãã«ã®ç³§ãšããŠé ããããããããã°å°±è·ãèµ·æ¥ãªã©ã®åçæ段ãäžããçºã«ãããã®ããŒã¿ãµã€ãšã³ã¹æ¥ã«èº«ã眮ãããšããŠããQoLãäžããŠè¡ãäºãåºæ¥ãçã§ããã
ã ããããã®ããããç©èšããšãªããŸãã
ãã ç©ãè²·ã£ãŠäœ¿ã£ãŠäœ¿ããªããªãæ£ãŠããšãããã ã®æ¶è²»è
ãšããŠãœãŒã¹ã³ãŒãã䜿ãã®ã¯ç©åãå¿äœãªãäºã§ãã
çŸä»£ã§èšããšããã®ã¢ã©ãã©ãæšæŠããŠããèš³ã§ãªãã®ã§ãããããããªãããã®äžã®äžã¯ãäœãšææ
®åå¥ã幌ãäºè±¡ãå€ãäºãããã
å¿è«ãç§èªèº«ãå
šãŠæèŠãæ£ãããšãã£ãå®å
šç¡æ¬ ãªè人åäž»ãšæ±ºããŠæã£ãŠã¯ããŸãããã
ããã©ããå·±ã®ã¹ãã«åäžããã«ãããã§ããã©ãæããã«å®æååãšããŠã®åå䟡å€ãšèšããã質ã»éãè©°ãåããªããã®ã¯ããå æžã«æ²ãããšæãã®ã§ãã
ãªã®ã§ãã±ãã ãšãè©åŒã ãšæãããããã¢ã³ããå¢ããããç§ã«ã¯é¢ä¿ãããŸããã
ãããªãããªããç解ããèæ
®æŽããããã§æ¬é¡ãžæ»ããŸãã
ãcopilotã®pandas on numpyãžã®ãœãŒã¹æ¹ä¿®åŸã®è¿çãããâ
Copilot ãéä¿¡ããŸãã:
ãã®ã³ãŒãã§ã¯ããã°ãã¡ã€ã«ãå§çž®ããå幎ã®ããŒã¿ãåŠçããã¡ã€ã³é¢æ°ãå®è£
ããŠããŸããnumpy ã䜿çšããŠå·®åèšç®ãè¡ãããªãœãŒã¹ã®éå°äœ¿çšãé²ãããã«ããŠããŸãã
ä»ã«ç¢ºèªãããç¹ã質åãããã°æããŠãã ããã
èªå ãéä¿¡ããŸãã:
ããã£ãŠãã€ãã¬ãŒã·ã§ã³åã®groupãrace_idã®åæåãåŠçåŸã®åæåããããŠã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã¯äžèŠãªã®ïŒïŒ
Copilot ãéä¿¡ããŸãã:
numpy ã䜿çšããå Žåãgroup ã race_id ã®åæåãåŠçåŸã®åæåã¯äžèŠã§ããnumpy é åã¯ã¡ã¢ãªå¹çãè¯ããã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãèªåçã«è¡ããããããæåã§ã®åæåãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã¯å¿ èŠãããŸããã
ãã ããpandas ããŒã¿ãã¬ãŒã ã䜿çšããå Žåãšåæ§ã«ãã¡ã¢ãªäœ¿çšéã倧ãããªãå¯èœæ§ããããããé©åãªã¡ã¢ãªç®¡çãéèŠã§ããnumpy é åã䜿çšããããšã§ãã¡ã¢ãªäœ¿çšéãæããªããå¹ççã«ããŒã¿ãåŠçããããšãã§ããŸãã
ä»ã«ç¢ºèªãããç¹ã質åãããã°æããŠãã ããã
èªå ãéä¿¡ããŸãã:
ãªãã»ã©ãïŒããã¯è¯ãåŸåãå ãã¯ãpandasã§dataframeåããŠãåŠçæã«ã¯numpyãžå€æããŠåŠçããŠæåŸã¯dataframeã«applyããŠCSVã«èœãšããšãããèšããªãã°dataframeãnumpyã§ã«ãã»ãªã³ã°ããåŠçãªã®ã ãïŒ
Copilot ãéä¿¡ããŸãã:
ããã§ããïŒãã®éãã§ãããŸã pandas ã䜿çšããŠããŒã¿ãããŒã¿ãã¬ãŒã åããåŠçæã«ã¯ numpy ã«å€æããŠå¹ççã«åŠçãè¡ããæåŸã«åã³ pandas ããŒã¿ãã¬ãŒã ã«æ»ã㊠CSV ã«ä¿åãããšããæµãã§ãã
ãã®æ¹æ³ã«ãããpandas ã®æè»æ§ãš numpy ã®ããã©ãŒãã³ã¹ã®äž¡æ¹ã掻çšããããšãã§ããŸããããŒã¿ã®æäœãèšç®ãå¹ççã«è¡ããªãããæçµçãªããŒã¿ã®ä¿åãåºåãç°¡åã«è¡ãããšãã§ããŸãã
ä»ã«ç¢ºèªãããç¹ã質åãããã°æããŠãã ããã
èªå ãéä¿¡ããŸãã:
ãœãŒã¹ãããŠã³ãµã€ãžã³ã°ããŠãããã䞊ååãžã®å¯Ÿå¿ãããã§æè»ã«è¡ãããçŽ æŽããããã
Copilot ãéä¿¡ããŸãã:
ããããšãããããŸãïŒãœãŒã¹ã³ãŒãã®ããŠã³ãµã€ãžã³ã°ãšäžŠååãžã®å¯Ÿå¿ãããŸããã£ãããã§è¯ãã£ãã§ããããã§ãå¹ççã«ããŒã¿åŠçãè¡ããªããããªãœãŒã¹ã®éå°äœ¿çšãé²ãããšãã§ãããšæããŸãã
ããä»ã«è³ªåã確èªãããç¹ãããã°ããã€ã§ããç¥ãããã ãããåŒãç¶ããµããŒãããããŸãïŒ
èªå ãéä¿¡ããŸãã:
Pandasã¯èšããªãã°COBOLã¿ãããªããã§ããªãŒãå¢ãããããªæ·±éšèšç®ãªã©ã·ã³ã°ã«ããã»ã¹ã«ã¯ãã¹ããããã§ãã€ã³ããã¯ã¹äœ¿ãããã§ã¡ã€ã³ãã¬ãŒã ã«ã¯åããŠãããã©ãåæ£ååŠçãªã©æè»ãªåŠçã«ã¯åããªãããã«ãŠã§ã¢ãªãã ãã
Copilot ãéä¿¡ããŸãã:
ããã§ãããPandasã¯ã·ã³ã°ã«ããã»ã¹ã§ã®ããŒã¿æäœãåæã«éåžžã«é©ããŠããŸããã䞊ååŠçãåæ£åŠçã«ã¯åããŠããªãéšåããããŸããç¹ã«ãã€ã³ããã¯ã¹ã䜿çšããããŒã¿æäœã¯äŸ¿å©ã§ãããããã䞊ååŠçãåæ£åŠçã®æè»æ§ãå¶éããããšããããŸãã
äžæ¹ã§ãPandasã®æè»æ§ãšäœ¿ããããã¯éåžžã«é åçã§ãå€ãã®ããŒã¿åæã¿ã¹ã¯ã«ãããŠåŒ·åãªããŒã«ãšãªããŸããä»åã®ããã«ãPandasãšNumpyãçµã¿åãããããšã§ãããã©ãŒãã³ã¹ãåäžãããªããæè»ãªããŒã¿æäœãå®çŸããããšãã§ããŸãã
ããããã«åæ£åŠçã䞊ååŠçã匷åãããå Žåã¯ãDaskãVaexãªã©ã®ã©ã€ãã©ãªã掻çšããããšãæ€èšã§ããŸãããããã®ã©ã€ãã©ãªã¯ãPandasãšäºææ§ããããªããã䞊ååŠçãåæ£åŠçããµããŒãããŠããŸãã
ä»ã«ç¢ºèªãããç¹ã質åãããã°æããŠãã ããã
ãã®æ§ãªæãã§ãã
èŠè§£ã«ã€ããŠã¯ç§ãæã£ãŠããäºã§æ£è§£ã ã£ãããã§ãã
ããããæ¬é¡ã¯åæ£ååŠçãžã®éãšåŠçãã®ãã®ã®è² è·è»œæžã§ãã
ãããªæåŸã®æ±ºãæã¯ããã¯ãnumpyã®æ倧掻çšã次ã®æãŠãæã ã£ãã®ã ãªãããã
ããã¯æ¹ããŠéãéããæãæå¿ãããã£ãã
ãã®ç§ã®ããã«ãã®ããŒã«èãçããã¹ãã«ã§ãæéçã¯èŠãã ãããããããŸããã
決ããŠããã©ã«ãã§çã¿ã®èŠãã¿ãå³ããæ§ãªãã¹ãŒããŒãªã³ãŒãã£ã³ã°ã¹ãã«ãå¿
èŠã«ãªãèš³ã§ã¯ç¡ãã®ã§ãã
èŠããã«ãäœãããããïŒããçæAIã®åå¿ãèŠã€ã€ãæ段ãææ¢ãã§èŠåºããšããå·¥çšãå¿
èŠãªãã§ããã
æ¯éåèã«ããŠãçæAIãã³ãŒãã£ã³ã°ã«æ倧掻çšããŠã¿ãŠäžããïŒ
ã§ã¯ãŸãã
ãšãããã®åŸãç¶ãããããŸãããâ
ããåäŸã®å§å©ã§ãïŒèŠç¬ïŒ
ãèªåã
ããäžåºŠèšãããåŠçèªäœå€ãã£ãŠããªãã®ã ããããNumpyåŠçã§ã®æžç®åŠçãè€éåããæ¹åŒïŒgroupbyã§ã®æšªäž²åŠçãšè¡æ¯ã®å·®åïŒæžç®ïŒæŒç®ïŒã¯Numpyã«æŒããŠãå®çŸã¯äžå¯èœãšã¿ãŠãããïŒïŒïŒãã以äžæéçã¯ç¡ããšã¿ãŠããããã
Copilot ãéä¿¡ããŸãã:
ç解ããŸãããNumpyã§ã®è€éãªgroupbyåŠçãšè¡æ¯ã®å·®åæŒç®ãé£ãããšããããšã§ããã確ãã«ãNumpyã¯è¡åèšç®ã«ç¹åããŠãããããPandasã®ãããªæè»ãªããŒã¿æäœã«ã¯åããŠããªãå ŽåããããŸãã
以äžã®ãããªã¢ãããŒããè©ŠããŠã¿ãããšããå§ãããŸãïŒ
Pandasã®å©çš: Pandasã¯ããŒã¿ãã¬ãŒã æäœã«ç¹åããŠãããgroupbyãå·®åèšç®ãå¹ççã«è¡ãããšãã§ããŸããPandasã®applyãtransformã䜿ã£ãŠãå¿
èŠãªåŠçãè¡ãããšãã§ããŸãã
䞊ååŠçã®å°å
¥: ããŒã¿ãéåžžã«å€§ããå Žåã䞊ååŠçãå°å
¥ããããšã§åŠçé床ãåäžãããããšãã§ããŸããPythonã®multiprocessingã¢ãžã¥ãŒã«ã䜿ã£ãŠãããŒã¿ãåå²ããŠäžŠåã«åŠçããããšãã§ããŸãã
ããŒã¿ã®åå²: ããŒã¿ãå°ããªãã£ã³ã¯ã«åå²ããŠåŠçããæåŸã«çµæãçµåããæ¹æ³ããããŸããããã«ãããã¡ã¢ãªäœ¿çšéãæããªããå¹ççã«åŠçãè¡ãããšãã§ããŸãã
以äžã«ãPandasã䜿ã£ãäŸã瀺ããŸãïŒ
ãèªåã
ããããããã解ã£ãããå€åãã®åŠçãåæ£åããã®ãšè² è·è»œæžããã®ã¯ç¡ççã ãã©ã®ã©ã€ãã©ãªäœ¿ã£ãŠãå®çŸã¯åºæ¥ãªããšèŠããã
Copilot ãéä¿¡ããŸãã:
ç解ããŸããã確ãã«ãç¹å®ã®åŠçãåæ£åãããè² è·ã軜æžããã®ãé£ããå ŽåããããŸããç¹ã«ã倧èŠæš¡ãªããŒã¿ã»ãããè€éãªèšç®ã䌎ãå Žåãã©ã®ã©ã€ãã©ãªã䜿ã£ãŠãéçãããããšããããŸãã
ããä»ã«è©ŠããŠã¿ããæ¹æ³ããå¥ã®ã¢ãããŒããããã°æããŠãã ãããåŒãç¶ããµããŒããããŠããã ããŸãããŸããä»ã®ãããžã§ã¯ãã質åãããã°ããã€ã§ããæäŒãããŸãã®ã§ããæ°è»œã«ãç¥ãããã ãããð
ãèªåã
Daskããã®å£ãçªç Žããªããšçµå±ã¯åŠçã§ããªããããã¯Rayã§ãåãããšãä»ã®ã©ã€ãã©ãªã§ãç¡çãªãã®ã¯ç¡çã ã
Copilot ãéä¿¡ããŸãã:
ããã§ãããç¹å®ã®åŠçãéåžžã«è€éã§ããå Žåãã©ã®ã©ã€ãã©ãªã䜿ã£ãŠãéçãããããšããããŸããç¹ã«ã倧èŠæš¡ãªããŒã¿ã»ãããè€éãªèšç®ã䌎ãå Žåãåæ£åŠçãè² è·è»œæžãé£ããããšããããŸãã
ããä»ã«è©ŠããŠã¿ããæ¹æ³ããå¥ã®ã¢ãããŒããããã°æããŠãã ãããåŒãç¶ããµããŒããããŠããã ããŸãããŸããä»ã®ãããžã§ã¯ãã質åãããã°ããã€ã§ããæäŒãããŸãã®ã§ããæ°è»œã«ãç¥ãããã ãããð
äœãä»ã«ãæäŒãã§ããããšãããã°ãã©ãããç¥ãããã ããã
ã¯ãã2024幎å€ïŒè«ŠããŸããïŒïŒ
Numpyã§ãäžå¯èœãšèšãæãã§ãã
äŸãã°åçšã®BIããŒã«ãªã©ã§ã¯ãããã¥ãŒãããšããå€æ¬¡å
ããŒã¿ããŒã¹è§£æã®ææ³ããããŸãã
ããã¯ç§ãé¢ãã£ããæã®BIãããžã§ã¯ãã§ãã¥ãŒãã䜿çšããŠäœæããããç¥ã£ãŠããã®ã§ãã
ããããäºããããåäžç³ããŠãããšããã®ãã暪䞲ã瞊䞲ãã®å€æ¬¡å
åŠçãšèšããšããã
ãããPandasã§ã¯ã·ã³ã°ã«ããã»ã¹ãªãå¯èœãªä»æ§ã§ãããä»ã®ææ³ã§ã¯åºæ¥ãªããšããäºãä»åå€æããŸããã
çµè«ãšããŠDBã§ã®ããŒã¿ç®¡çã¯ããã¯ãå倧ã§ããïŒïŒ
ãã以äžããã以å€ãç¡ãããªã³ãªãŒã¯ã³ã®å€æ¬¡å
解æã
ãããããŸã§æ¥ããšããæã£ãéãã®å±éãšãªããŸããã
çãããã¹ã¯ã¬ã€ãã³ã°ããã®Pandasé Œã¿ã®ããŒã¿ç·šéã¯æ¢ããŸããïŒ
ç§ã¯åãæ¢ããã·ã³ã°ã«ããã»ã¹ã®åŠçã¯ãã®ãŸãŸè¡ã£ãŠãããŸãã
ããã©ãã§ãããã®ãŸãŸãã¬ã€ã¯ã¹ã«ãŒã§ããŒã¿éãããããã¹ããã€ãã³ã°ãªæ©æ¢°åŠç¿AIãŸã§è¡ãã®ã¯çµ¶å¯Ÿã«æ¢ããæ¹ãè¯ãïŒãšææ¡ãããã§ãã
ã ã£ãŠç²åºŠã®çŽ°ããç¹åŸŽéç®åºåŠçãæ±ãããŸã§ã¯è¯ãã§ãããè² è·è»œæžãåæ£ååŠçãåŠçœ®ããå Žåã¯ãç®åºã絶察ã«äžå¯èœãªã®ã§ãããã
æéãæããŠåŠçãããªãåçŸæ§ããããŸããã©ãæ±ããµã³ãã«ããŒã¿éãå€ããªãã°ãªãã»ã©æ¯äŸããŠãåŠçæéããªãœãŒã¹ãžã®è² è·ãç©ã¿äžãã£ãŠããäºã ãã¯èªèããã°ãããŸããã
ã§ããDBã§ã®åŠçã¯éããŸãã
SELECTã§åŒãåºããŠãç·šéããŠãšããé¢åèãã¯ãããŸãããåŠçã®èªç±åºŠãšã¹ããŒãã¯æ Œæ®µã«äžãããŸãã
æ©æ¢°åŠç¿ã®åã«ã¯äžæŠDBã«èœãšããŠãããããã¹ããã€ãã³ã°åŠçã§åºæ¥ãªãéšåã¯SQLæãé§äœ¿ãããããã¥ãŒãã®ã©ã€ãã©ãªã䜿çšããã¯ãšãªãæãããããšãããããã£ã工倫ããèšèšãå¿
èŠãšãªããšæããŸãã
æ¬åœã«æ¬åœã®ä»¥äžãšãªããŸãã
ã§ã¯ãŸãã