ID:
PW:

     0 ºÐ
     9 ºÐ

¿£Áö´Ï¾î µ¹Á¾
  dolljong
ÇÁ·Î±×·¡¹Ö Tips
ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ TipÀ» °øÀ¯ÇÏ´Â °÷ÀÔ´Ï´Ù.


(¿£Áö´Ï¾î¸¦ À§ÇÑ)ÆÄÀ̽㠽ÃÀÛÇϱâ[12] Pandas µ¥ÀÌÅÍ Á¶ÀÛ/ºÐ¼®
À̼®Á¾  2022-11-15 13:26:29, Á¶È¸ : 452, Ãßõ : 108
- Download #1 : engpython12.png (27.2 KB), Download : 18

- Download #2 : pandas_study.ipynb (59.4 KB), Download : 26

(¿£Áö´Ï¾î¸¦ À§ÇÑ) ÆÄÀ̽㠽ÃÀÛÇϱâ[12]

 

³»¿ë : pandas µ¥ÀÌÅÍ Á¶ÀÛ/ºÐ¼®

ÂüÁ¶ : https://wikidocs.net/book/7188 (ÆÄÀ̽㠿ÏÀüÁ¤º¹½Ã¸®Áî 2Æí pandas dataframe¿ÏÀüÁ¤º¹)

 

 

 

 

0.½ÃÀÛÇϸç

pandas´Â pythonÀ¸·Î µ¥ÀÌÅ͸¦ Á¶ÀÛÇÏ°í ºÐ¼®ÇÏ´Â ¶óÀ̺귯¸®´Ù. ¿ì¸®°¡ Á¢ÇÏ´Â µ¥ÀÌÅ͵éÀÌ ´ëºÎºÐ Å×À̺í ÇüÅ´Ù. ¿¹¸¦ µé¾î ±¸Á¶Çؼ®À» ÇÑ °á°ú¶ó°í ÇÏ¸é ºÎÀ纰·Î ºÎÀç·ÂÀÌ ³ª¿Ã °ÍÀÌ´Ù. Å×À̺íÀÇ ÇàÀÌ ºÎÀç¹øÈ£¿Í ³ëµå·Î ±¸¼ºµÇ°í ¿­ÀÌ ºÎÀç·ÂÀÇ Á¾·ù Áï Ãà·Â,Àü´Ü·Â µîÀÏ °ÍÀÌ´Ù. ¾÷¹«¿¡¼­ ÀÌ·± µ¥ÀÌÅÍ´Â ´ëºÎºÐ ¿¢¼¿·Î ó¸®ÇÏ´Â °æ¿ì°¡ ¸¹´Ù. ÇàÀÇ °¹¼ö°¡ ¼ö¹é°³ Á¤µµ¸é Å« ¹®Á¦°¡ ¾øÁö¸¸ ¼öõ°³ ¼ö¸¸°³¶ó¸é ó¸®Çϱ⠽±Áö ¾Ê´Ù. pandas´Â ÀÌ·± µ¥ÀÌÅ͵éÀ» ½±°Ô ó¸®ÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ±â´ÉµéÀ» Á¦°øÇÑ´Ù. 

 

1. pandas¼³Ä¡ È®ÀÎ

anaconda¸¦ ¼³Ä¡Çß´Ù¸é pandasµµ °°ÀÌ ¼³Ä¡µÇ¾î ÀÖÀ» °ÍÀÌ´Ù. È®ÀÎÇغ¸±â À§Çؼ­ anaconda prompt¸¦ ¶ç¿ì°í pip show pandas¶ó°í ÀÔ·ÂÇغ¸ÀÚ.

(base) D:\dev\pandas>pip show pandas
Name: pandas
Version:
1.3.4
Summary: Powerful data structures
for data analysis, time series, and statistics
Home-page: https://pandas.pydata.org
Author: The Pandas Development Team
Author-email: pandas-dev@python.org
License: BSD
-3-Clause
Location: c:\programdata\anaconda3\lib\site-packages
Requires: numpy, python-dateutil, pytz
Required-by: pandasgui, pandastable, pix2tex, seaborn, statsmodels

 

pandas¿¡ °üÇÑ Á¤º¸µéÀ» º¼ ¼ö ÀÖ´Ù. ¹ö¹øÀº 1.3.4ÀÌ°í ȨÆäÀÌÁö´Â https://pandas.pydata.org ±×¸®°í ¼³Ä¡µÇ¾î ÀÖ´Â µð·ºÅ丮´Â  c:\programdata\anaconda3\lib\site-package¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

 

¸¸ÀÏ anaconda¸¦ ¼³Ä¡ÇÏÁö ¾Ê¾Æ pandas°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê´Ù¸é ¸í·Éâ¿¡¼­ pip install pandas¶ó°í ÀÔ·ÂÇؼ­ pandas¸¦ ¼³Ä¡ÇÏ¸é µÈ´Ù.

 

2. pandas series ¿Í dataframe

pandas´Â series¶ó´Â µ¥ÀÌÅÍ Çü½Ä°ú dataframeÀ̶ó´Â µ¥ÀÌÅÍ Çü½ÄÀÌ ÀÖ´Ù. series´Â 1Â÷¿ø dataframeÀº 2Â÷¿øÀ¸·Î ÀÌÇØÇÏ¸é µÈ´Ù. µÎ µ¥ÀÌÅÍ Çü½ÄÀÇ °³³äÀ» Àß ÀÌÇØÇÏ°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖ´Ù. ´ëºÎºÐ 2Â÷¿ø ÇüÅÂÀÇ dataframeÀ» »ç¿ëÇÏÁö¸¸ 1Â÷¿øÀÎ series¸¦ ´Ù·ï¾ß ÇÏ´Â °æ¿ìµµ Á¾Á¾ Àֱ⠶§¹®´Ù.

 

¿¹Á¦·Î ¾Æ·¡¿Í °°ÀÌ Áß°£°í»ç ¼ºÀû¿¡ ´ëÇؼ­ ó¸®ÇÏ´Â ÀÛ¾÷À» pandas¸¦ ÀÌ¿ëÇÑ´Ù°í °¡Á¤ÇÏ°Ú´Ù. Çлý¼ö°¡ ¼öõ¸íÀÌ°í °ú¸ñ¼öµµ ¸¹´Ù°í »ó»óÇغ¸ÀÚ.

½Ç½ÀÀº jupyter notebookÀ» ÀÌ¿ëÇؼ­ ÁøÇàÇϵµ·Ï ÇÏ°Ú´Ù. notebookÀ» »ç¿ëÇϸé À¥È¯°æÀ̱⠶§¹®¿¡ dataframeÀ» º¸¿©ÁÙ ¶§ ÈξÀ °¡µ¶¼ºÀÌ ³ô´Ù.  ¾Æ¹« µð·ºÅ丮³ª ¸¸µé°í ±× µð·ºÅ丮¿¡¼­ jupyter notebookÀ» ½ÇÇàÇÏ°í »õ·Î¿î notebookÀ» Çϳª ¸¸µé°í ½ÃÀÛÇÏÀÚ.

 

pandas¸¦ »ç¿ëÇϱâ À§Çؼ­ import¸¦ Çϴµ¥ º¸ÅëÀº º°ÄªÀ¸·Î pd¶ó°í ¾´´Ù.

import pandas as pd

 

1)    pandas Series

series´Â 1Â÷¿ø µ¥ÀÌÅÍÀÌ´Ù. python¿¡¼­ 1Â÷¿ø µ¥ÀÌÅÍ´Â ¸®½ºÆ®µµ ÀÖ°í µñ¼Å³Ê¸®µµ ÀÖ´Ù´Â °ÍÀ» ÀÌ¹Ì ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¾î [84,99,80]Àº ¸®½ºÆ®´Ù. ±¸Á¶¿ªÇÐ Á¡¼ö¸¦ ¸®½ºÆ®·Î ¸¸µé¸é ÀÌ·¸°Ô ¸¸µé¸é µÈ´Ù.

strlst = [84,99,80] ¶ó°í Çϸé strlst ¶ó´Â list°¡ ¸¸µé¾îÁ³À» °ÍÀÌ´Ù. ÀÌ°ÍÀ» pandas series·Î ¸¸µå´Â ¹æ¹ýÀº pd.Series(strlst)¶ó°í pandasÀÇ SeriesÇÔ¼ö¸¦ Àû¿ëÇØÁÖ´Â °ÍÀÌ´Ù. SeriesÀÇ Ã¹±ÛÀÚ°¡ ´ë¹®ÀÚÀÎ °ÍÀ» ÁÖÀÇÇÏÀÚ. ¼Ò¹®ÀÚ·Î ¾²¸é ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. strlst¶ó´Â ¸®½ºÆ®¿¡ pd.SeriesÇÔ¼ö¸¦ Àû¿ëÇؼ­ strsrz¶ó´Â º¯¼ö¿¡ ÇÒ´çÇÏ°í Ãâ·ÂÇϵµ·Ï Çß´Ù.

 

 

OutÀ» º¸¸é ¸®½ºÆ®¿¡ ¾ø´ø °ÍÀÌ º¸ÀδÙ. °ª ¾Õ¿¡ 0 , 1, 2 °¡ ºÙ¾î ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ°ÍÀ» À妽º¶ó°í ÇÑ´Ù. Series´Â À妽º¸¦ °¡Áö°í ÀÖ´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ. dataframe¿ª½Ã À妽º¸¦ °¡Áö°í ÀÖ´Ù. À妽º´Â µ¥ÀÌÅ͸¦ ´Ù·ç´Âµ¥ ÀÖ¾î Áß¿äÇÑ ¿ä¼Ò°¡ µÈ´Ù.

 

À妽º´Â °ª¿¡ Á¢±ÙÇÒ ¶§ ¾²ÀδÙ. ¿¹¸¦ µé¾î strsrzÀÇ À妽º 1ÀÎ °ªÀ» ¾Ë°í ½Í´Ù¸é strsrz[1]À¸·Î Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ÀÌ °³³äÀº ¸®½ºÆ®¿¡ Á¢±ÙÇÒ ¶§¿Í Å« Â÷ÀÌ´Â ¾ø´Ù.

strlst[1]µµ °°Àº °á°ú¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÇÏÁö¸¸ pandas SeriesÀÇ index´Â »ç¿ëÀÚ°¡ ¿øÇÏ´Â °ÍÀ¸·Î ³ÖÀ» ¼ö ÀÖ´Ù´Â °ÍÀÌ list¿ÍÀÇ Â÷ÀÌÁ¡ÀÌ´Ù.

¾Æ·¡¿Í °°ÀÌ Series¸¦ ¸¸µé¸é¼­ index¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

index¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î 0ºÎÅÍ À妽º°¡ »ý¼ºµÇ´Â °ÍÀÌ°í À妽º¸¦ ÁöÁ¤ÇÏ¸é ±×´ë·Î À妽º°¡ »ý¼ºµÈ´Ù. ¹®Àڷεµ °¡´ÉÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ´ç¿¬È÷ °ª¿¡ Á¢±ÙÇÒ ¶§µµ ¹®ÀÚ¿­ À妽º¸¦ ÀÌ¿ëÇؼ­ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î È«±æµ¿ÀÇ ÅäÁú¿ªÇÐ Á¡¼ö¸¦ ¾Ë°í ½Í´Ù¸é geosrz[¡®È«±æµ¿¡¯]¶ó°í ÇÏ¸é µÈ´Ù.

ÀÌ·¸°Ô ¹®ÀÚ¿­·Î °ª¿¡ Á¢±ÙÇÏ´Â ¹æ½ÄÀº µñ¼Å³Ê¸®¿Í ºñ½ÁÇÏ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. µñ¼Å³Ê¸®´Â key¿Í valueÀÇ ½ÖÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ. hyddic={'È«±æµ¿':86,'Á¤¾à¿ë':90, 'À̸ù·æ':89}

Series¿Í dictionary´Â À¯»çÇÑ Á¡ÀÌ ¸¹´Ù. ±×·¡¼­ µñ¼Å³Ê¸®¸¦ Series·Î ¸¸µå´Â °ÍÀº ¸Å¿ì °£´ÜÇÏ´Ù. index¸¦ º°µµ·Î ÁöÁ¤ÇØÁÙ ÇÊ¿ä°¡ ¾ø´Ù. µñ¼Å³Ê¸®¿¡´Â ÀÌ¹Ì key°ªÀÌ Àֱ⠶§¹®ÀÌ´Ù.

½Ã¸®ÁîÀÇ index¿Í value¸¦ º°µµ·Î ÃëÇÒ ¼ö ÀÖ´Ù. index¸ñ·ÏÀº index¶ó´Â ¼Ó¼ºÀ» °ª ¸ñ·ÏÀº values¶ó´Â ¼Ó¼ºÀ» ÀÌ¿ëÇÑ´Ù. hydsrzÀÇ index¿Í °ªµéÀ» »Ì¾Æº¸ÀÚ.

 

½Ã¸®ÁîÀÇ Æ¯Â¡ ÁßÀÇ Çϳª´Â ¹Ù·Î ½Ã¸®Áî¿¡ À̸§À» ºÎ¿©ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. º¯¼ö¸í hydsrz ÀÌ°Í ¸»°í ¹®ÀÚ¿­·Î À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.

¿¹¸¦ µé¾î hydsrz¿¡ ¡®¼ö¸®ÇÐÁ¡¼ö¡¯¶ó´Â À̸§À» ÁöÁ¤ÇÏ·Á¸é ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù.

hydsrz.name='¼ö¸®ÇÐÁ¡¼ö'

hydsrz¸¦ Ãâ·ÂÇغ¸¸é À̸§ÀÌ ¡®¼ö¸®ÇÐÁ¡¼ö¡¯ ¶ó´Â °ÍÀ» º¸¿©ÁØ´Ù.

 

À妽º¿¡µµ À̸§À» ÁÙ ¼ö ÀÖ´Ù.

SeriesÀÇ À妽º¸¦ º¯°æÇÏ·Á¸é index¸¦ Á÷Á¢ ÁöÁ¤ÇØÁÖ¸é µÈ´Ù. À̸§ ¾Õ¿¡ ¼ýÀÚ¸¦ ºÙÀÎ °ÍÀ¸·Î ¼öÁ¤Çß´Ù.

2)    pandas Dataframe

¾Õ¿¡¼­ pandasÀÇ Series¿¡ ´ëÇؼ­ ¾Ë¾ÆºÃ´Ù. ÀÌÁ¦ 2Â÷¿øÀÇ Daraframe¿¡ ´ëÇؼ­ ¾Ë¾Æº¸ÀÚ. ¾ÕÀÇ Áß°£°í»ç Á¡¼ö¸¦ ´Ù½ÃÇѹø º¸ÀÚ.

¿©±â¿¡´Â 4°³ÀÇ Çà°ú 4°³ÀÇ ¿­ÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ùÇàÀº °ú¸ñ¸íÀ» ³ªÅ¸³»±â À§ÇÑ ÇàÀÌ´Ù. ±×¸®°í ù ¿­Àº À̸§À» ³ªÅ¸³»´Â ÇàÀÌ´Ù. ¼ø¼öÇÑ µ¥ÀÌÅÍ´Â 3°³ÀÇ Çà°ú 3°³ÀÇ ¿­À̶ó°í ÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀ» pandas DataframeÀ¸·Î ¸¸µé¾îº¸ÀÚ.

¿©·¯°¡Áö ¹æ¹ýÀÌ ÀÖÁö¸¸ ¿ì¼± µñ¼Å³Ê¸®¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. µñ¼Å³Ê¸®ÀÇ key°¡ ¿­ÀÇ À̸§ÀÌµÇ°í ¸®½ºÆ®°¡ ¿­ÀÇ °ªÀÌ µÇ´Â °³³äÀÌ´Ù. ¿ì¼± middicÀ̶ó´Â µñ¼Å³Ê¸®¸¦ ¸¸µç ÈÄ¿¡ pd.DaraFrame(middic)À¸·Î pandas DataFrameÀ» ¸¸µé¾ú´Ù. notebookÀÇ ÀåÁ¡Àº DataFrameÀÇ ¸ð¾çÀ» Å×À̺í·Î º¸±â ÁÁ°Ô º¸¿©Áشٴ °ÍÀÌ´Ù.

 

ÀÚ ÀÌÁ¦ ù DataFrameÀ» ¸¸µé¾ú´Ù. ¼ø¼öÇÑ °ª¸¸ ³Ö¾ú°í À̸§À» DataFrame¿¡ Æ÷ÇÔ½ÃÅ°Áö ¾Ê¾Ò´Ù. ÀÌÀ¯´Â ÀÌ·¸´Ù. ÇöÀç ÀÌ DataFrame¿¡´Â ¼ø¼öÇÑ °ª µ¥ÀÌÅ͸¸ µé¾î ÀÖ´Ù. index´Â 0,1,2ÀÌ·±½ÄÀ¸·Î µÇ¾î ÀÖ´Ù. ±×·±µ¥ ¿ì¸®°¡ Á¤¾à¿ëÀÇ Á¡¼ö¸¦ ¾Ë°í ½Í´Ù¸é Á¤¾à¿ëÀÇ ¼ø¼­(index)ÀÎ 1À» ¾Ë¾Æ¾ß ÇÑ´Ù. ±×·¡¼­ ¾ÕÀÇ Series¿¡¼­Ã³·³ index¸¦ À̸§À¸·Î ÁöÁ¤ÇØÁÖ°í ½ÍÀº °ÍÀÌ´Ù. index¸¦ À̸§À¸·Î ÇسõÀ¸¸é À̸§À¸·Î µ¥ÀÌÅÍ¿¡ Á¢±ÙÀÌ °¡´ÉÇϱ⠶§¹®¿¡ ÈξÀ ÆíÇÒ °ÍÀÌ´Ù.

Series¿¡¼­ Çß´ø °Íó·³ index¸¦ ÁöÁ¤ÇØÁÖ¸é µÈ´Ù.

middf.index=['È«±æµ¿','Á¤¾à¿ë','À̸ù·æ'] 

ÀÌ DataFrameÀÇ Çà index´Â ¡®È«±æµ¿¡¯, ¡®Á¤¾à¿ë¡¯,¡¯À̸ù·æ¡¯ÀÌ´Ù. ¸¶Âù°¡Áö·Î ¿­ À妽º´Â ¡®±¸Á¶¿ªÇС¯, ¡®ÅäÁú¿ªÇС¯, ¡®¼ö¸®ÇС¯ÀÌ´Ù. ¿­ À妽º´Â index¶ó°í ºÎ¸£Áö ¾Ê°í columns¶ó°í ºÎ¸¥´Ù. index¿Í columns¸¦ Ãâ·ÂÇغ¸¸é ¾Æ·¡¿Í °°´Ù.

±×·¯¸é È«±æµ¿ÀÇ Á¡¼ö¸¦ ¾Ë°í ½Í´Ù¸é middf[¡®È«±æµ¿¡¯]ÀÌ·¸°Ô ÇÏ¸é µÉ±î? ¾Æ´Ï´Ù. key ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. key¿¡·¯´Â ±×·± key°¡ ¾ø´Ù´Â °ÍÀÌ´Ù. ±âº»ÀûÀ¸·Î DataFrameÀº ¿­ ¿ì¼±À̶ó°í »ý°¢ÇÏ´Â °ÍÀÌ ÆíÇÏ´Ù. ±×·¡¼­ middf[¡®¼ö¸®ÇС¯]Àº °¡´ÉÇÏ´Ù.

±×·¸´Ù¸é È«±æµ¿ÀÇ Á¡¼ö¸¦ ¾Ë¾Æº¸·Á¸é ¾î¶»°Ô ÇؾßÇÒ±î? ¿©±â¼­ºÎÅÍ´Â DataFrame Ŭ·¡½ºÀÇ ¿©·¯°¡Áö ÇÔ¼öµéÀ» ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù. ¿øÇÏ´Â ±â´ÉÀÌ ÀÖ´Ù¸é ±¸±Û¿¡¼­ ã¾Æº¸¸é µÈ´Ù. ¿¹¸¦ µé¾î¼­ È«±æµ¿ÀÇ Á¡¼ö¸¦ ¾Ë°í ½Í´Ù¸é °Ë»öÀ» ÀÌ·¸°Ô ÇÏ¸é µÉ °ÍÀÌ´Ù. pandas get row by index °Ë»ö°á°ú¸¦ ¸î±ºµ¥ ã¾Æº¸¸é locÇÔ¼ö°¡ ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. DataFrameÀÇ ±âº»ÀûÀÎ °³³äÀ» ¾Ë°í ÀÖ´Ù¸é ±¸±Û¸µÀ¸·Î ÀÚ½ÅÀÌ ¿øÇÏ´Â ÀÛ¾÷À» ÇÏ´Â ¹æ¹ýÀ» ã¾Æº¸±â¸¦ ±ÇÀåÇÑ´Ù.

-        loc[rowindex, columnindex]

locÇÔ¼ö´Â Çà°ú ¿­ index¸¦ ÀÌ¿ëÇؼ­ ÇØ´ç °ªÀ» ÃëÇÒ ¼ö ÀÖ´Ù.

È«±æµ¿ÀÇ ¼¼ °ú¸ñ Á¡¼ö¸¦ ¾Ë°í ½Í´Ù¸é middf.loc[¡®È«±æµ¿¡¯]¶ó°í ÀÔ·ÂÇÏ¸é µÇ°í È«±æµ¿ÀÇ ¼ö¸®ÇÐ Á¡¼ö¸¦ ¾Ë°í ½Í´Ù¸é middf.loc[¡®È«±æµ¿¡¯,¡¯¼ö¸®ÇС¯]ÀÌ·¸°Ô ÀÔ·ÂÇÏ¸é µÈ´Ù.

 

-        iloc[rowindex, columnindex]

locÀÌ Çà°ú ¿­ÀÇ À̸§À» ÀÌ¿ëÇؼ­ ¼±ÅÃÇß´Ù¸é ilocÀº Çà¹øÈ£,¿­¹øÈ£¸¦ ÀÌ¿ëÇؼ­ dataframeÀÇ ÀϺθ¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. È«±æµ¿ÀÇ Á¡¼ö¸¦ ¾Ë°í ½Í´Ù¸é È«±æµ¿ÀÇ Çà¹øÈ£ÀÎ 0À» ÀÌ¿ëÇؼ­ ilocÀ¸·Î ¼±Åð¡´ÉÇÏ´Ù. middf.iloc[0]

loc¿Í iloc¸ðµÎ Çà°ú ¿­À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. Çà°ú ¿­À» ÁöÁ¤ÇÒ ¶§ :¸¦ ÀÌ¿ëÇؼ­ slicingÀÌ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î È«±æµ¿°ú Á¤¾à¿ëÀÇ ÅäÁú¿ªÇаú ¼ö¸®ÇÐ Á¡¼ö¸¸À» ÃëÇÏ·Á¸é ÀÌ·¸°Ô ÇÏ¸é µÈ´Ù. ½½¶óÀ̽̿¡¼­ : µÚÀÇ ¼ýÀÚ´Â Æ÷ÇÔµÇÁö ¾Ê´Â´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ.

middf.iloc[0:2,1:3]

 

ilocÀÌ ¾Æ´Ñ locÀ» »ç¿ëÇؼ­µµ °°Àº ¹æ¹ýÀ¸·Î ÀÛµ¿ÇÑ´Ù. iloc°ú ´Þ¸® :µÚÂʵµ Æ÷ÇԵǴ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

middf.loc['È«±æµ¿':'Á¤¾à¿ë','ÅäÁú¿ªÇÐ':'¼ö¸®ÇÐ']

-        describe()

µ¥ÀÌÅÍ ÇÁ·¹ÀÓÀÌ °¡Áö°í ÀÖ´Â ¼ýÀÚµéÀÇ °³¼ö, Æò±Õ,Ç¥ÁØÆíÂ÷, ÃÖ´ë°ª, ÃÖ¼Ò°ª µî °³·«ÀûÀÎ Åë°è°ªÀ» º¸¿©ÁÖ´Â °£´ÜÇÑ ±â´ÉÀÌ´Ù. 

-        column Ãß°¡

Ãø·®ÇÐÁ¡¼ö¸¦ Ãß°¡ÇÏ·Á¸é ¾î¶»°Ô ÇؾßÇÒ±î? columnÀ» Ãß°¡ÇÏ¸é µÉ °ÍÀÌ´Ù. columnÀ» Ãß°¡ÇÏ´Â ¹æ¹ýÀº »õ·Î¿î columnÀ̸§°ú °ªÀ» ¸®½ºÆ®·Î ÀÔ·ÂÇØÁÖ¸é µÈ´Ù.

                 

¸¸¾à index°³¼ö¿Í ´Ù¸¥ °³¼öÀÇ °ªÀ» Ãß°¡ÇÏ¸é ¾î¶»°Ô µÉ±î? »óÇϼöµµ¸¦ Ãß°¡Çϴµ¥ 4°³ÀÇ °ªÀ» ÀÔ·ÂÇغ¸ÀÚ.

¿¡·¯°¡ ¹ß»ýÇÑ´Ù. ¿¡·¯¸Þ½ÃÁö´Â ´ÙÀ½°ú °°´Ù.

ValueError: Length of values (4) does not match length of index (3)

À妽º´Â 3°³Àε¥ °ªÀÌ 4°³¸¦ ÇÒ´çÇÏ·Á°í Çß´Ù´Â °ÍÀÌ´Ù. °³¼ö°¡ Àû¾îµµ ´ç¿¬È÷ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.

 

-        row Ãß°¡

À̹ø¿¡´Â ÇлýÀ» ÇѸí Ãß°¡Çغ¸ÀÚ. »Ç·Î·Î ÇлýÀ» Ãß°¡ÇÒ °ÍÀÌ´Ù. °¢ °ú¸ñÀÇ Á¡¼ö´Â ±¸Á¶¿ªÇÐ 87, ÅäÁú¿ªÇÐ 83, ¼ö¸®ÇÐ 75, Ãø·®ÇÐ 90ÀÌ´Ù. ±â¾ïÇؾßÇÒ °ÍÀÌ DataFrame¿¡ ÇàÀ» Çϳª Ãß°¡Çϱâ À§Çؼ­´Â Ãß°¡ÇÒ ³»¿ëÀ» »õ·Î¿î DataFrameÀ¸·Î ¸¸µé¾î¼­ Ãß°¡ÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.

±×·¡¼­ »Ç·Î·ÎÀÇ Á¡¼ö¸¦ »õ·Î¿î dataframeÀ¸·Î ¸¸µç´Ù. º¯¼ö¸íÀº dftemp¶ó°í ÇÏ°Ú´Ù. µ¥ÀÌÅ͸¦ columnÀ̸§°ú Á¡¼ö·Î ÀÌ·ç¾îÁø µñ¼Å³Ê¸® ÇüÅ·ΠÁÖ°í, À妽º¸¦ Á¤ÇØÁØ´Ù. ¿©±â¼­ À妽º°¡ ÇϳªÁö¸¸ ¸®½ºÆ® ÇüÅ·ΠÁà¾ßÇÑ´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ. 

dftemp=pd.DataFrame({'±¸Á¶¿ªÇÐ':87, 'ÅäÁú¿ªÇÐ': 83, '¼ö¸®ÇÐ': 75, 'Ãø·®ÇÐ': 90},index=['»Ç·Î·Î'])

ÀÚ ÀÌÁ¦ »õ·Î¿î dataframeÀ» ¿ø·¡ÀÇ dataframe¿¡ Ãß°¡ÇÏÀÚ.  concatÇÔ¼ö¸¦ Àû¿ëÇÑ´Ù. ÇÕÃÄÁø dataframeÀ» middf1·Î ÁöÁ¤ÇÏ°Ú´Ù. ÁÖÀÇÇÒ Á¡Àº middf¿Í dftemp¸¦ [ ]¾È¿¡ ³Ö¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.

middf1=pd.concat([middf,dftemp])

 

-        row »èÁ¦

ÇàÀ̳ª ¿­À» »èÁ¦ÇÒ ¶§´Â dropÇÔ¼ö¸¦ ÀÌ¿ëÇÑ´Ù. »Ç·Î·ÎÀÇ ¼ºÀûÀ» »èÁ¦Çϱâ À§Çؼ­´Â index¸¦ »Ç·Î·Î·Î ÁöÁ¤ÇØÁÖ¸é µÈ´Ù. middf1=middf1.drop(index=¡¯»Ç·Î·Î¡¯)

Ä÷´À» »èÁ¦Çغ¸ÀÚ. ¸¶Âù°¡Áö·Î dropÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. ¼ö¸®ÇÐ Ä÷³À» »èÁ¦Çϱâ À§Çؼ­ columns=¡¯¼ö¸®ÇС¯À» ÁöÁ¤ÇØÁÖ¸é µÈ´Ù. ÇàÀº index ¿­Àº columns¶ó´Â °ÍÀ» ±â¾ïÇÏÀÚ. columnÀÌ ¾Æ´Ï¶ó columns´Ù. ¼ö¸®ÇÐÀÌ »èÁ¦µÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. middf1¿¡¼­ ¼ö¸®ÇÐÀ» »èÁ¦¸¸ Çß°í middf1¿¡ ÇÒ´çÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ middf1Àº ¾ÆÁ÷ ¼ö¸®ÇÐÀÌ »èÁ¦µÇÁö ¾Ê¾Ò´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ.

¼ö¸®Çаú Ãø·®ÇÐÀ» ¸ðµÎ »èÁ¦ÇÏ·Á¸é columns=[¡®¼ö¸®ÇС¯,¡¯Ãø·®ÇС¯]À̶ó°í ÁöÁ¤ÇØÁÖ¸é µÈ´Ù.

-        column ÇÕ, Æò±Õ, max, min

columnÀÇ ÇÕ,Æò±Õ,max,minÀº middf1.sum(), mean(), max(), min()ÀÇ ÇÔ¼ö·Î ±¸ÇÒ ¼ö ÀÖ´Ù.

ÀÌ·¸°Ô ±¸ÇØÁø °ªµéÀÇ Çü½ÄÀº ¹«¾ùÀϱî? typeÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ ¾Ë¾Æº¸¸é Series¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

ÀÌ µ¥ÀÌÅÍ ÇüÀÌ Series¶ó´Â °ÍÀº ¼öÇÐÀÇ Çհ踦 ¾Ë°í ½Í´Ù¸é sum[¡®¼öÇС¯]À̶ó°í ÇÏ¸é µÈ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

-        row ÇÕ, Æò±Õ, max, min

¾Õ¿¡¼­ »ìÆ캻 columnÀÇ sum,mean µî°ú ºñ½ÁÇÏ´Ù. ´ÜÁö sum(axis=1)À̶ó´Â °Í¸¸ ´Ù¸£´Ù. axis=0Àº Ä÷³, axis=1Àº ÇàÀ̶ó´Â °ÍÀ» ±â¾ïÇÏÀÚ. »ç½Ç ¾ÕÀÇ column¿¡ ´ëÇÑ sumµîÀº axis=0ÀÌ »ý·«µÈ °ÍÀÌ´Ù. Áï default°¡ ¿­À̶ó´Â °ÍÀÌ´Ù.

Á¡¼öÇÕÀ» columnÀ¸·Î Ãß°¡ÇÏ°í ½Í´Ù¸é middf1[¡®Çհ衯]=middf1.sum(axis=1)À̶ó°í ÇØÁÖ¸é µÈ´Ù.

 

°°Àº ¹æ¹ýÀ¸·Î Æò±Õ°ªÀ» Ãß°¡Çغ¸ÀÚ. ±×³É mean(axis=1)À» Àû¿ëÇϸé ÇÕ°è±îÁö Æ÷ÇÔµÈ Æò±Õ°ªÀÌ »êÁ¤µÈ´Ù. µû¶ó¼­ ±¸Á¶¿ªÇкÎÅÍ Ãø·®ÇÐ Ä÷³±îÁö¸¸ ¼±ÅÃÇؼ­ meanÀ» Àû¿ëÇØ¾ß ÇÑ´Ù.

ÀϺΠÄ÷³¸¸ ¼±ÅÃÇÏ´Â ¹æ¹ýÀ» °¢ Ä÷³À̸§À» ³ª¿­ÇØÁÖ¸é µÈ´Ù.

middf1[¡®Æò±Õ¡¯]=middf1[[¡®±¸Á¶¿ªÇС¯,¡¯ÅäÁú¿ªÇС¯,¡¯¼ö¸®ÇС¯,¡¯Ãø·®ÇС¯]].mean(axis=1)

 

-        column¿¡ ¼ö½Ä Àû¿ëÇϱâ(apply)

ÀÌ¹Ì Çհ踦 ±¸Çؼ­ ÇÕ°è Ä®·³À» ¸¸µé¾úÀ¸´Ï Æò±ÕÀº ±× Çհ踦 °ú¸ñ ¼öÀÎ 4·Î ³ª´©¸é µÉ °ÍÀÌ´Ù.ÀÌ¿Í °°ÀÌ ¾î¶² Ä®·³¿¡ ¼ö½ÄÀ» Àû¿ëÇϱâ À§Çؼ­ applyÇÔ¼ö¸¦ ¾´´Ù. lambda À͸íÇÔ¼ö·Î x¸¦ ÀÎÀÚ·Î ¹Þ¾Æ¼­ x¿¡ ´ëÇؼ­ ÇÒ ¿¬»êÀ» Á¤ÀÇÇÑ´Ù.

-        column¿¬»ê

¾ÕÀÇ apply¿Í ´Þ¸® Ä÷³°£ÀÇ ¿¬»êÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ¹°·Ð ÀÏÁ¤ÇÑ °ªÀ» ´õÇϰųª »©°Å³ª °öÇÒ ¼öµµ ÀÖ´Ù. °£´ÜÇÑ ¿¬»êÀº column¿¬»êÀ» ÀÌ¿ëÇÏ°í º¹ÀâÇÑ ¿¬»êÀº apply¸¦ ÀÌ¿ëÇÑ´Ù°í º¸¸é µÈ´Ù.

¿¹¸¦ µé¾î ¼ö¸®ÇÐ Á¡¼ö¿¡ ÀÏ°ýÀûÀ¸·Î 5Á¡ÀÇ °¡Á¡À» ÁØ´Ù°í »ý°¢Çغ¸ÀÚ.

¼ö¸®ÇÐ Á¡¼ö°¡ º¯ÇÑ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÁÖÀÇÇÒ Á¡Àº ÇÕ°è¿Í Æò±ÕÀº º¯ÇÏÁö ¾Ê¾Ò´Ù´Â °ÍÀÌ´Ù.

ÀÌ·¸°Ô Ä÷³¿¡ ´ëÇؼ­ add(), sub(), mul(), div(), mod(), pow() µîÀÇ ÇÔ¼ö¸¦ ¾µ ¼ö ÀÖ´Ù. °¢°¢  ´õÇϱâ, »©±â, °öÇϱâ, ³ª´©±â, ³ª¸ÓÁö, Á¦°öÀÇ ±â´ÉÀ» °¡Áö°í ÀÖ´Ù.

½ÇÁ¦·Î ±×·² ÀÏÀº ¾øÁö¸¸ ±¸Á¶¿ªÇÐ Á¡¼ö¿¡¼­ ÅäÁú¿ªÇÐÁ¡¼ö¸¦ »©º¸ÀÚ.

middf1['ÅäÁú¿ªÇÐ'].sub(middf1['¼ö¸®ÇÐ'])

sub()ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¾Ê°í +, -, *, / ¿¬»êÀÚ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

middf1['ÅäÁú¿ªÇÐ']-middf1['¼ö¸®ÇÐ']

 

-        dataframe Á¤·Ä(sort)

dataframeÀ» Á¤·ÄÇÏ´Â ÇÔ¼ö´Â sort_index¿Í sort_values°¡ ÀÖ´Ù. sort_index´Â index³ª columns¸¦ ±âÁØÀ¸·Î Á¤·ÄÇÏ´Â °ÍÀÌ°í sort_values´Â °ªµéÀ» ±âÁØÀ¸·Î Á¤·ÄÇÑ´Ù.

¾ÕÀÇ dataframeÀ» Á¤·ÄÇغ¸ÀÚ. »ç¶÷À̸§À¸·Î Á¤·ÄÇÏ·Á¸é sort_index¸¦ ÀÌ¿ëÇÑ´Ù. ()¾È¿¡ ¾Æ¹«°Íµµ ¾ø´Â °ÍÀº default·Î ¿À¸§Â÷¼øÀ¸·Î Á¤·ÄÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù.

³»¸²Â÷¼øÀ¸·Î Á¤·ÄÇϱâ À§Çؼ­´Â ()¾È¿¡ ascending=False¸¦ ÀÔ·ÂÇØÁØ´Ù.

À̹ø¿¡´Â ¿­À̸§À» ±âÁØÀ¸·Î Á¤·ÄÀ» Çغ¸°Ú´Ù. ()¾È¿¡ axis=1À» ÀÔ·ÂÇØÁÖ¸é µÈ´Ù. ÇàÀÇ ¼ø¼­¸¦ Á¤·ÄÇÏ´Â °Í¿¡´Â default·Î axis=0ÀÌ Àû¿ëµÇ¾ú´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

3. dataframe ÆÄÀÏ ÀÔÃâ·Â

pandas·Î µ¥ÀÌÅ͸¦ ´Ù·ç·Á¸é µ¥ÀÌÅ͸¦ Àоî¿À°í ¾µ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÄÞ¸¶·Î ±¸ºÐµÈ ÆÄÀÏ CSVÆÄÀÏÀ» ¸¹ÀÌ ¾´´Ù. ÀÌ Æ÷¸ËÀº ¿¢¼¿¿¡¼­µµ ¿­¸°´Ù. CSVÆÄÀÏÀº ÅؽºÆ®ÆÄÀÏÀ̱⠶§¹®¿¡ È®Àεµ ½±´Ù. csvÆÄÀÏ·Î ¾²°í Àаí ÇÏ´Â °ÍÀ» Çغ¸ÀÚ.

pandas¿¡¼­´Â to_csv()ÇÔ¼ö¿Í read_csv()ÇÔ¼ö µÎ°³¸¦ Áö¿øÇÑ´Ù.

1)    csv ÆÄÀÏ·Î Ãâ·ÂÇϱâ

À§¿¡¼­ ¸¸µç Áß°£°í»ç Á¡¼ö¸¦ csvÆÄÀÏ·Î ÀúÀåÇغ¸ÀÚ. µ¥ÀÌÅÍÇÁ·¹ÀÓ¿¡ ´ëÇؼ­ to_csvÇÔ¼ö¸¦ ½ÇÇàÇÏ¸é µÈ´Ù. ÀÎÀڷδ ÆÄÀϸíÀ» ÁØ´Ù. .Àº ÇöÀç µð·ºÅ丮¶ó´Â ¶æÀ¸·Î jupyter notebookÀ» ½ÇÇàÇÑ µð·ºÅ丮´Ù. 

middf1.to_csv(¡°./middf1.csv¡±)

 csvÀ» ÅؽºÆ®¿¡µðÅÍ·Î ¿­¾î¼­ È®ÀÎÇغ¸¸é Á¦´ë·Î ¸¸µé¾îÁø °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ùÁÙÀº columns Áï ¿­ À̸§µéÀÌ´Ù. ±× ¾Æ·¡ÁÙºÎÅÍ Ã³À½¿¡ index±×¸®°í °¢ °ú¸ñÀÇ Á¡¼ö¿Í ÇÕ°è,Æò±ÕÀÌ Ãâ·ÂµÇ¾ú´Ù. ùÁÙÀÇ ¸Ç ¾ÕÀÌ ,·Î ½ÃÀÛÇÑ ÀÌÀ¯´Â index¿¡ À̸§À» ÁöÁ¤ÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.

index¿Í column¿¡ À̸§À» ÁöÁ¤ÇÏ·Á¸é ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù.

middf1.index.name="À̸§"

middf1.columns.name="°ú¸ñ¸í"

´Ù½Ã to_csv¸¦ Çغ¸¸é À̸§ÀÌ Ãß°¡µÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

À̸§,±¸Á¶¿ªÇÐ,ÅäÁú¿ªÇÐ,¼ö¸®ÇÐ,Ãø·®ÇÐ,ÇÕ°è,Æò±Õ
È«±æµ¿,
84,80,91,75,325,81.25
Á¤¾à¿ë,
99,95,95,97,381,95.25
À̸ù·æ,
80,85,94,82,336,84.0

 

2)    csv ÆÄÀϷκÎÅÍ Àбâ

À̹ø¿¡´Â csvÆÄÀÏÀ» Àо dataframeÀ» ¸¸µå´Â °ÍÀ» Çغ¸ÀÚ. ¾Õ¿¡¼­ ¸¸µç ÆÄÀÏÀ» ±×´ë·Î Àо middf2¿¡ ÀúÀåÇÏ°Ú´Ù.

middf2 = pd.read_csv(¡°./middf1.csv¡±)

ÀÌÀüÀÇ middf1°ú ´Ù¸¥ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. À妽º°¡ 0,1,2·Î µÇ¾ú°í À̸§Àº Ä÷³À¸·Î ÀÎ½ÄµÈ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. 0,1,2 À妽º ´ë½Å À̸§À» index·Î ÁöÁ¤ÇÏ·Á¸é index_colÀ» ÁöÁ¤ÇØÁÖ¸é µÈ´Ù.

middf2 = pd.read_csv("./middf1.csv",index_col="À̸§")

 

4. ¸¶¹«¸®

À̹ø ½Ã°£¿¡´Â pandasÀÇ dataframeÀ» ´Ù·ç¾îº¸¾Ò´Ù. dataframeÀÇ °³³ä¸¸ ÆľÇÇÏ´Â ¼öÁؾú´Ù. ½ÇÁ¦·Î ´õ ¸¹Àº ±â´ÉÀÌ ÀÖÀ¸´Ï ÀÚ½ÅÀÌ ÇÊ¿äÇÑ ±â´ÉÀº °Ë»öÀ» ÅëÇؼ­ ¾Ë¾Æº»´ÙÀ½¿¡ »ç¿ëÇÏ´Â °ÍÀ» ±ÇÀåÇÑ´Ù.

dataframeÀÌ ¿¢¼¿°ú ´Ù¸¥ Á¡Àº ¸¹´Ù. ¿¢¼¿¿¡¼­´Â ¼ø¼öÇÑ µ¥ÀÌÅ͸¸ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó µ¥ÀÌÅ͵éÀ» ºÐ¼®ÇÑ °á°úµéµµ °°Àº ½ÃÆ®¿¡ ÀúÀåÇÏ´Â °æ¿ì°¡ ¸¹´Ù. ¿¢¼¿¿¡¼­´Â °è»ê°á°ú¸¦ ¼¿¿¡ ³Ö¾î¾ß Çϱ⠶§¹®¿¡ ±×·¸Áö¸¸ python pandas ÄÚµù¿¡¼­´Â °è»ê °á°ú¸¦ º¯¼ö¿¡ ³Ö±â ¶§¹®¿¡ µ¥ÀÌÅÍ µû·Î ºÐ¼®°á°ú µû·Î °ü¸®ÇÒ ¼ö ÀÖ´Ù.

À̹ø ¿¹Á¦´Â ÀÌÇظ¦ µ½±â À§Çؼ­ ¸î¸í ¾ÈµÇ´Â »ç¶÷µéÀÇ °ú¸ñÁ¡¼ö¸¦ ´Ù·ç¾ú´Ù. ¿¹¸¦ µé¾î¼­ ÁöÁø°üÃø°á°ú´Â ¼öõ ¼ö¸¸°³ÀÇ ½Ã°è¿­ µ¥ÀÌÅÍ°¡ µÉ °ÍÀÌ´Ù. ±×·± µ¥ÀÌÅ͸¦ dataframe¿¡ ³Ö¾î ³õ°í ºÐ¼®ÇÒ ¶§ ¿¢¼¿º¸´Ù´Â ÈξÀ ÆíÇÏ°í ¾ÈÁ¤ÀûÀÏ °ÍÀÌ´Ù. 

 

-³¡-



  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

Copyright 1999-2024 Zeroboard / skin by zero
±¸Á¶¼³°èÀÇ ¹Ì·¡¸¦ ÁغñÇÏ´Â ¸ðÀÓ [±¸Á¶¼³°è¹Ì·¡Æ÷·³]