Python

[python] ๊ตฌ๊ธ€ ์ฝ”๋žฉ์„ ํ™œ์šฉํ•œ ์šฐ๋ฆฌ๋™๋„ค ์ธ๊ตฌ ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ ๋ถ„์„ - Matplotlib ํ™œ์šฉ

hyonie 2024. 5. 12. 14:11

 

 

๋ชฉ์ฐจ

     


    ์šฐ๋ฆฌ ๋™๋„ค ์ธ๊ตฌ ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ ๋ถ„์„

    ์ธ๊ตฌ ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ

    1. ๊ฒ€์ƒ‰ "์ฃผ๋ฏผ๋“ฑ๋ก ์ธ๊ตฌํ†ต๊ณ„ ๋ฐ์ดํ„ฐ" https://jumin.mois.go.kr/  
    2. ํ–‰์ •์•ˆ์ „๋ถ€์—์„œ ์ฃผ๋ฏผ๋“ฑ๋ก ์ธ๊ตฌํ†ต๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ์ด ์ธ๊ตฌ์ˆ˜๋ฅผ ํ•œ๋ˆˆ์— ๋ณผ์ˆ˜ ์žˆ๋„๋ก ๋‚ด๊ฐ€ ๋ณด๊ณ  ์‹ถ์€ ๋‚ด์šฉ์„ ์—ฐ๋„๋ณ„ ์›”๋ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ์ˆ˜ ์žˆ๋‹ค. ํŠน์ • ๋ฐ์ดํ„ฐ๋Š” csv ๋˜๋Š” excelํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ๋ฉด ๋œ๋‹ค. 2024๋…„ ๊ธฐ์ค€์œผ๋กœ ์ „๊ตญ ๋™๋ณ„ ์ธ๊ตฌํ˜„ํ™ฉ์ด ๋‚˜์˜จ๋‹ค.

     

     


    ์ธ๊ตฌํ†ต๊ณ„ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ์ค€๋น„๊ณผ์ •

    1. ๊ตฌ๊ธ€ ์ฝ”๋žฉ์‚ฌ์šฉ
      • ๊ตฌ๊ธ€ ์ฝ”๋žฉ์—์„œ ์ƒˆ ๋…ธํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค.
      • ํŒŒ์ผ ์ด๋ฆ„์€ "์ธ๊ตฌํ†ต๊ณ„.ipynb"๋กœ ์„ค์ •
    2. ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์ •
      • ์ตœ์ƒ์œ„ ๋ฃจํŠธ์—์„œ content ํด๋”๋ฅผ ์ฐพ๋Š”๋‹ค.
      • ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ "age.csv"ํŒŒ์ผ์„ ํ•ด๋‹น ๊ฒฝ๋กœ ๋„ฃ๋Š”๋‹ค.
    3. ๊ฐ€์„ค ์„ค์ •๊ณผ ๊ฒ€์ฆ
      • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐ€์„ค์„ ์„ค์ •ํ•œ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒ˜์ถœ์‚ฐ ์˜์œ ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์€ ๋™๋„ค๋Š” ์–ด๋””์ธ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ ๋“ฑ์˜ ๊ฐ€์„ค์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
    4. ๊ฐ€์„ค ๊ฒ€์ฆ์„ ์œ„ํ•œ ๋ถ„์„
      • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์„ค์ •ํ•œ ๊ฐ€์„ค์„ ๊ฒ€์ฆํ•œ๋‹ค.
      • ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ €์ถœ์‚ฐ ์˜์œ ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์€ ๋™๋„ค๋‚˜ ํŠน์ • ์—ฐ๋ น๋Œ€์˜ ์ธ๊ตฌ ๋ถ„ํฌ๋ฅผ ํ™•์ธํ•œ๋‹ค.
    5. ์‹œ๊ฐํ™”๋ฅผ ํ†ตํ•œ ๋ถ„์„ ๊ฒฐ๊ณผ ํ™•์ธ
      • ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์น˜ํ™”๋œ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ํ•œ๋ˆˆ์— ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠน์ • ์—ฐ๋ น๋Œ€์˜ ์ธ๊ตฌ ๋ถ„ํฌ๋ฅผ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋‚˜ ์› ๊ทธ๋ž˜ํ”„ ๋“ฑ์œผ๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ํ™•์ธํ•œ๋‹ค.

     

    ์œ„์— ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

     


     

    ํŒŒ์ผ ๋ฐ์ดํ„ฐ์—์„œ ์ถœ๋ ฅํ•˜๊ธฐ

     

    age.csv ํŒŒ์ผ์—์„œ ๋‚ด๊ฐ€ ์‚ด๊ณ  ์žˆ๋Š” ๋™๋„ค ๊ฒ€์ƒ‰ํ•˜๊ธฐ (ctrl + F)

    age.csv ํŒŒ์ผ์—์„œ ๋™๋„ค ๊ฒ€์ƒ‰

     

    1. ํŒŒ์ผ ์—ด๊ธฐ ๋ฐ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
      • `csv` ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ 'age.csv'ํŒŒ์ผ์„ ์ฝ์–ด์˜จ๋‹ค.
      • ํŒŒ์ผ์„ ์ฝ๊ธฐ๋ชจ๋“œ(`r`)๋กœ ์—ด๊ณ , ์ธ์ฝ”๋”ฉ์€ 'cp949' ๋กœ ์„ค์ •ํ•œ๋‹ค.
      • `csv.reader()` ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ๋‚ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๋Š”๋ฐ, ๊ตฌ๋ถ„์ž๋Š” ์‰ผํ‘œ(',')๋กœ ์ง€์ •ํ•œ๋‹ค.
      • next(data)๋ฅผ ํ†ตํ•ด ์ฒซ ๋ฒˆ์งธ ํ–‰(ํ—ค๋”)์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋กœ ์ด๋™ํ•œ๋‹ค.
    2. ๋ฐ์ดํ„ฐ ์ถœ๋ ฅํ•˜๊ธฐ
      • ํŒŒ์ผ์˜ ๊ฐ ํ–‰์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.
      • `for row in data:`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ํ–‰์„ ํ•˜๋‚˜์”ฉ ์ฝ์–ด ์˜จ๋‹ค.
      • ์ด๋•Œ, ํ—ค๋”๋Š” ์ด๋ฏธ next(data)๋กœ ๊ฑด๋„ˆ๋›ฐ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ ๋ฒˆ์งธ ํ–‰์€ ๋ฐ์ดํ„ฐ๋กœ์จ ์ฒ˜๋ฆฌ๋œ๋‹ค.
      • ์ฆ‰, ์ฒซํ–‰์ธ ํ–‰์ •๊ตฌ์—ญ์„ ์ƒ๋žตํ•˜๊ณ  ์•„๋ž˜ ๋ฐ์ดํ„ฐ ๋ถ€ํ„ฐ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•จ
        row[0]๋ฒˆ์งธ ๋ฐ์ดํ„ฐ
    3. ํŒŒ์ผ ๋‹ซ๊ธฐ
      • ํŒŒ์ผ์„ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๊ผญ ๋‹ซ์•„์ค€๋‹ค.
      • `f.close()`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ๋‹ซ๋Š”๋‹ค.

     

     


     

    row[0] ์—์„œ ์šฐ๋ฆฌ๋™๋„ค ์ฐพ๊ธฐ

     

     

    ํŒŒ์ผ์—์„œ ์ฝ์–ด์˜จ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ ํ–‰๋งˆ๋‹ค ์ง€์—ญ ์ด๋ฆ„, ์ด ์ธ๊ตฌ์ˆ˜, ์—ฐ๋ น๋ณ„ ์ธ๊ตฌ์ˆ˜๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์ด ์ธ๊ตฌ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , 0์„ธ๋ถ€ํ„ฐ 100์„ธ๊นŒ์ง€์˜ ์—ฐ๋ น๋ณ„ ์ธ๊ตฌ์ˆ˜๋งŒ ํ•„์š”ํ•˜๋‹ค. 

     

    ๋”ฐ๋ผ์„œ, ๊ฐ ํ–‰์˜ ๋ฐ์ดํ„ฐ ์ค‘์—์„œ ์„ธ ๋ฒˆ์งธ ์—ด๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์—ด๊นŒ์ง€์˜ ์ •๋ณด๋งŒ ํ•„์š”ํ•˜๋‹ค. ์ด๋•Œ, ์„ธ ๋ฒˆ์งธ ์—ด์€ 0์„ธ์˜ ์ธ๊ตฌ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ๋„ค ๋ฒˆ์งธ ์—ด๋ถ€ํ„ฐ๋Š” ๊ฐ ์—ฐ๋ น๋Œ€์˜ ์ธ๊ตฌ์ˆ˜๊ฐ€ ์ฐจ๋ก€๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค.

     

    ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๊ฐ ํ–‰์˜ ์ธ๋ฑ์Šค 3๋ถ€ํ„ฐ ๋๊นŒ์ง€์˜ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 0์„ธ๋ถ€ํ„ฐ 100์„ธ๊นŒ์ง€์˜ ์—ฐ๋ น๋ณ„ ์ธ๊ตฌ์ˆ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    ์‹ ๊ธธ์ œ 5๋™ ์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ณ , ํ•ด๋‹น ๋™๋„ค์˜ ์—ฐ๋ น๋ณ„ ์ธ๊ตฌ์ˆ˜ ์ถœ๋ ฅ

    1.  ์šฐ๋ฆฌ ๋™๋„ค ๋ฐ์ดํ„ฐ ์ฐพ๊ธฐ
      • ๊ฐ ํ–‰์„ ์ˆœํšŒํ•˜๋ฉด์„œ '์‹ ๊ธธ์ œ5๋™'์„ ํฌํ•จํ•˜๋Š” ํ–‰์„ ์ฐพ๋Š”๋‹ค.
      • ํ•ด๋‹น ํ–‰์„ ์ฐพ์œผ๋ฉด, ํ•ด๋‹น ํ–‰์˜ ์ธ๋ฑ์Šค 3๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜จ๋‹ค.
    2. ์—ฐ๋ น๋ณ„ ์ธ๊ตฌ์ˆ˜ ์ถœ๋ ฅ
      • ์ฐพ์€ ํ–‰์˜ ์ธ๋ฑ์Šค 3๋ถ€ํ„ฐ ๋๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๊ฐ ์—ฐ๋ น๋Œ€๋ณ„ ์ธ๊ตฌ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
      • ์ด๋ฅผ ํ†ตํ•ด 0์„ธ๋ถ€ํ„ฐ 100์„ธ๊นŒ์ง€์˜ ์—ฐ๋ น๋ณ„ ์ธ๊ตฌ์ˆ˜๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. 
    3. ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ
      • 0์„ธ๋ถ€ํ„ฐ 30๋ช… 32๋ช… ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ์ˆ˜์น˜ํ™”๋งŒ๋ด๋„ ์‹ ๊ธธ์ œ5๋™์—” ์• ๋“ค์ด ๋งŽ์ด ์—†๋‹ค.
    4. ์—‘์…€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋น„๊ต

     

     

     


     

    ๋ฆฌ์ŠคํŠธ ๊ตฌ์„ฑ๊ณผ ํƒ€์ž… ์บ์ŠคํŒ…

     

    1. ๋ฆฌ์ŠคํŠธ์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ: ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋นˆ ๋ฆฌ์ŠคํŠธ์ธ result๋ฅผ ๋งŒ๋“ ๋‹ค. ๊ฐ ํ–‰์˜ 0์„ธ๋ถ€ํ„ฐ 100์„ธ๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์—ฐ๋ น๋Œ€์˜ ์ธ๊ตฌ์ˆ˜๋ฅผ result ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
    2. ํƒ€์ž… ์บ์ŠคํŒ…: ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด int() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

    ์œ„ ๋‚ด์šฉ์„ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ๋นˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌธ์ž์—ด์—์„œ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค.

     

    C#๊ณผ C์–ธ์–ด ํƒ€์ž… ์บ์ŠคํŒ…์— ๋Œ€ํ•œ ๋น„๊ต

    C#๊ณผ ํŒŒ์ด์ฌ์€ int๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ํƒ€์ž… ์บ์ŠคํŒ…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด์„œ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜๋ฅผ int๋กœ ๊ฐ์‹ธ๊ฑฐ๋‚˜ ํ˜น์€ int๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด, ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋ฐ”๊ฟ€ ๋•Œ๋Š” int("123")์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜์€ ์ด ๋‘ ์–ธ์–ด์—์„œ ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    1. C#
      • int.Parse() : ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, int.Parse("123")์€ ๋ฌธ์ž์—ด "123"์„ ์ •์ˆ˜ 123์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
      • ๋ช…์‹œ์  ํƒ€์ž… ์บ์ŠคํŒ…: C#์—์„œ๋Š” int, float, double ๋“ฑ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํ˜•์‹ ๊ฐ„์— ๋ช…์‹œ์ ์ธ ํƒ€์ž… ์บ์ŠคํŒ…์„ ์ œ๊ณตํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, int num = (int)3.14์™€ ๊ฐ™์ด ์‚ฌ์šฉ
    2. C์–ธ์–ด
      • atoi(): ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด, atoi("123")์€ ๋ฌธ์ž์—ด "123"์„ ์ •์ˆ˜ 123์œผ๋กœ ๋ณ€ํ™˜
      • itoa(): ์ •์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด, itoa(123, buffer, 10)์€ ์ •์ˆ˜ 123์„ ๋ฌธ์ž์—ด "123"์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ buffer์— ์ €์žฅํ•œ๋‹ค.
      • ๋ช…์‹œ์  ํƒ€์ž… ์บ์ŠคํŒ…: C ์–ธ์–ด์—์„œ๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํ˜•์‹ ๊ฐ„์˜ ๋ช…์‹œ์ ์ธ ํƒ€์ž… ์บ์ŠคํŒ…์„ ์ง€์›ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, int num = (int)3.14์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค. ๋‹ค๋งŒ, ์‹ค์ˆ˜์—์„œ ์ •์ˆ˜๋กœ์˜ ๋ณ€ํ™˜ ์‹œ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ฆฐ๋‹ค.

     

     


     

    plot ๊ทธ๋ž˜ํ”„๋กœ ์‹œ๊ฐํ™” ํ•˜๊ธฐ 

     

    ๊ทธ๋ž˜ํ”„๋ฅผ ํ™•์ธํ•œ ๊ฒฐ๊ณผ, 20๋Œ€๋ถ€ํ„ฐ 60๋Œ€๊นŒ์ง€์˜ ์ธ๊ตฌ๊ฐ€ ๋งŽ๊ณ , ๊ทธ ์ค‘์—์„œ๋„ ํŠนํžˆ 40๋Œ€๋ถ€ํ„ฐ 60๋Œ€๊นŒ์ง€์˜ ์ธ๊ตฌ๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋งŽ์€ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ฐ˜๋ฉด์— ์˜์œ ์•„์˜ ์ธ๊ตฌ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ ์€ ํŽธ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ง€์—ญ์˜ ์ฃผ๊ฑฐ ์ธ๊ตฌ๊ฐ€ ์ฃผ๋กœ ์ Š์€ ์ธต์—์„œ ์ค‘์žฅ๋…„์ธต๊นŒ์ง€๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์˜์œ ์•„์˜ ์ธ๊ตฌ๋Š” ๋น„๊ต์  ์ ์€ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค.

     

     


     

     

    replace๋กœ ๋ฐ์ดํ„ฐ์— ํŠน์ • ๊ตฌ๋ถ„์ž ์‚ญ์ œ

    ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ, 1,000๋ช… ์ด์ƒ์˜ ์ธ๊ตฌ ์ˆ˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ˆซ์ž์— ์ฝค๋งˆ(,)๊ฐ€ ํฌํ•จ๋œ๋‹ค. ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ˆซ์ž์—์„œ ์ฝค๋งˆ๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค. ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฅผ ์ˆซ์ž๋กœ ํƒ€์ž… ์บ์ŠคํŒ…ํ•  ๋•Œ ์ฝค๋งˆ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์ฝค๋งˆ๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•œ๋‹ค.

     

    import csv
    import matplotlib.pyplot as plt
    
    f = open('age.csv', 'r', encoding = 'cp949')
    data = csv.reader(f, delimiter=',')
    header = next(data)
    
    result = []
    
    for row in data:
      if '์†ก๋„3๋™' in row[0]:
        for i in row[3:]:
          i = int(i.replace(',',''))
          result.append(int(i))
    
    plt.plot(result)
    plt.show()
    f.close()

     

     

    ์†ก๋„3๋™ ์ธ๊ตฌ ํŠน์„ฑ ์‹œ๊ฐํ™”๋ถ„์„

    ์†ก๋„3๋™์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•œ ๊ฒฐ๊ณผ, ํ•ด๋‹น ์ง€์—ญ์—๋Š” ์ฃผ๋กœ ์ Š์€ ์ธต๊ณผ ์ค‘์žฅ๋…„์ธต์ด ๋งŽ์ด ๊ฑฐ์ฃผํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค. ํŠนํžˆ 40-50๋Œ€์˜ ์ธ๊ตฌ๊ฐ€ ๋งŽ์€ ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜์—ˆ์œผ๋ฉฐ, ๊ทธ ๋‹ค์Œ์œผ๋กœ๋Š” ์ฒญ์†Œ๋…„๊ณผ 40๋Œ€์˜ ์ธ๊ตฌ๊ฐ€ ๋งŽ์€ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์†ก๋„3๋™์€ ์ฃผ๋กœ ๊ฐ€์กฑ ๋‹จ์œ„์˜ ๊ฑฐ์ฃผ์ง€๋กœ ํŒŒ์•…๋œ๋‹ค.

     

     

     


     

     

    ggplot ์Šคํƒ€์ผ ์ ์šฉ

    plt.style.use('ggplot') #์ฝ”๋“œ ์ถ”๊ฐ€

    ์œ„ ์ฝ”๋“œ์—์„œ plt.style.use('ggplot')์€ ๊ทธ๋ž˜ํ”„์˜ ์Šคํƒ€์ผ์„ 'ggplot'์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

    Matplotlib์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ทธ๋ž˜ํ”„ ์Šคํƒ€์ผ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, 'ggplot'์€ R์˜ ggplot ํŒจํ‚ค์ง€์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„ ๋งŒ๋“ค์–ด์ง„ ์Šคํƒ€์ผ๋กœ, ๊ทธ๋ž˜ํ”„๊ฐ€ ๊น”๋”ํ•˜๊ณ  ์„ ๋ช…ํ•˜๊ฒŒ ํ‘œํ˜„๋˜๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

    ์ด ์Šคํƒ€์ผ์„ ์ง€์ •ํ•จ์œผ๋กœ์จ ๊ทธ๋ž˜ํ”„์˜ ๋””์ž์ธ์ด ์ผ๊ด€๋˜๊ณ  ๋ณด๊ธฐ ์ข‹๊ฒŒ ๋‚˜ํƒ€๋‚œ๋‹ค.