Python

[python] ํŒ๋‹ค์Šค(Pandas)์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ดํ•ด

hyonie 2024. 5. 12. 20:25

 

 

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

     

     

     

     


    ํŒ๋‹ค์Šค(Pandas)๋ž€ ๋ฌด์—‡์ผ๊นŒ?

    ํŒ๋‹ค์Šค(Pandas)๋Š” ํŒŒ์ด์ฌ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์‰ฝ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

    ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ์ •๋ฆฌํ•˜๋ฉฐ, ๋ถ„์„ํ•˜๋Š” ์ž‘์—…์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

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

     

    ์บ๊ธ€ ์‚ฌ์šฉ - ๋ถ„์„ํ•  ๋งŒํ•œ ๋ฐ์ดํ„ฐ

    ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ ์ค‘ ํ•˜๋‚˜๋Š” Kaggle์ด ์žˆ๋‹ค. Kaggle์€ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฒฝ์—ฐ ๋Œ€ํšŒ์™€ ํ•จ๊ป˜ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ์…‹์„ ์ œ๊ณตํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋ฐ์ดํ„ฐ ์…‹ ์ค‘ ํƒ€์ดํƒ€๋‹‰์ด ์žˆ๋‹ค.

     https://www.kaggle.com/datasets 


    Pandas ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

    1. cmd ์ฐฝ ์—ด๊ธฐ
      • ์‹œ์ž‘ ๋ฉ”๋‰ด์—์„œ cmd๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ฐ๋‹ค.
    2. ํŒŒ์ด์ฌ ์‹คํ–‰ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ
      • ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์—์„œ "python"์„ ์ž…๋ ฅํ•˜์—ฌ ํŒŒ์ด์ฌ์ด ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์‹คํ–‰๋˜์ง€ ์•Š์œผ๋ฉด ํŒŒ์ด์ฌ์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ํŒŒ์ด์ฌ์ด ์‹คํ–‰๋˜๋ฉด ์ทจ์†Œ(Ctrl + C)๋ฅผ ๋ˆŒ๋Ÿฌ ์ข…๋ฃŒํ•œ๋‹ค.
    3. Pandas ์„ค์น˜
      • ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์— pip install pandas๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ Pandas๋ฅผ ์„ค์น˜ํ•œ๋‹ค.
        pip install pandas

     

     


     

    ์™œ ํŒ๋‹ค์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?

    1. ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ ์ œ๊ณต: Numpy๋Š” ์ฃผ๋กœ ์ €์ˆ˜์ค€ ์ž‘์—…์— ์‚ฌ์šฉ๋˜์ง€๋งŒ, Pandas๋Š” ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ๋ถ„์„์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.
    2. ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ง€์›: Pandas๋Š” ๋ฆฌ์ŠคํŠธ๋‚˜ Numpy์™€ ๊ฐ™์€ ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, csv์™€ ๊ฐ™์€ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋„ ์‰ฝ๊ฒŒ Pandas ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ ์†Œ์Šค์˜ ๋‹ค์–‘์„ฑ์— ๊ด€๊ณ„์—†์ด ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.
    3. ํŽธ๋ฆฌํ•œ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ: Numpy๋Š” ์ˆ˜ํ•™์ ์ธ ์—ฐ์‚ฐ์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ด์ง€๋งŒ, Pandas๋Š” ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ์„ ๋”์šฑ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ž‘์—…์—์„œ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

    ๋”ฐ๋ผ์„œ Pandas๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ์ž‘์—…์„ ๋”์šฑ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋„๊ตฌ๋กœ์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋œ๋‹ค.

     

     


     

    Pandas์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ - ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ

    Pandas๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์š”ํ•œ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

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

     



     


     

     

     

    ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ : ๊ฐ„ํŽธํ•œ ํŒŒ์ผ ์ฒ˜๋ฆฌ

    ํŒ๋‹ค์Šค๋Š” ๋‹ค์–‘ํ•œ ํŒŒ์ผ ํ˜•์‹์ด๋‚˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค(csv, ์—‘์…€, SQL, JSON ๋“ฑ)๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ๋ฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

    ์ฃผ์š”ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

    read_* -> table -> to_*

    1. ๋‹ค์–‘ํ•œ ํ˜•์‹ ์ง€์›: ํŒ๋‹ค์Šค๋Š” ๋‹ค์–‘ํ•œ ํŒŒ์ผ ํ˜•์‹์ด๋‚˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” csv, ์—‘์…€, SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, JSON ํŒŒ์ผ ๋“ฑ์„ ํฌํ•จํ•œ๋‹ค.
    2. ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ: ํŒ๋‹ค์Šค๋Š” ์ง€์ •๋œ ํŒŒ์ผ ๊ฒฝ๋กœ๋‚˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์™€์„œ ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ ํŒ๋‹ค์Šค ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ฝ์€ ๋ฐ์ดํ„ฐ๋Š” DataFrame์ด๋ผ๋Š” ํŒ๋‹ค์Šค ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค.
    3. ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ: ํŒ๋‹ค์Šค ๊ฐ์ฒด๋กœ ์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ํŒŒ์ผ ํ˜•์‹์ด๋‚˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ๋‹ค์‹œ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

    ํŒ๋‹ค์Šค์˜ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ฝ๊ณ  ์“ฐ๋ฉฐ, ๋‹ค์–‘ํ•œ ํ˜•์‹ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

     

     


     

    ํŒ๋‹ค์Šค 10๋ถ„ ์™„์„ฑ ์ฐธ๊ณ 

    ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์€ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ณ  ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๊ฐ€๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

    ์ถ”๊ฐ€์ ์œผ๋กœ pandas 10๋ถ„ ์™„์„ฑ์—์„œ ํŒ๋‹ค์Šค์—์„œ ๋Œ€ํ•ด ์ž˜ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค.

    https://pandas.pydata.org/ 

    https://dataitgirls2.github.io/10minutes2pandas/

     

    ํŒ๋‹ค์Šค 10๋ถ„ ์™„์„ฑ / 10 Minutes to Pandas

    Pandas 10๋ถ„ ์™„์„ฑ ์—ญ์ž ์ฃผ : ๋ณธ ์ž๋ฃŒ๋Š” 10 Minutes to Pandas (ํ•˜๋‹จ ์›๋ฌธ ๋งํฌ ์ฐธ์กฐ)์˜ ํ•œ๊ธ€ ๋ฒˆ์—ญ ์ž๋ฃŒ๋กœ, ๋ฒˆ์—ญ์€ ๋ฐ์ž‡๊ฑธ์ฆˆ2 ํ”„๋กœ๊ทธ๋žจ ๊ต์œก์ƒ ๋ชจ๋‘๊ฐ€ ํ•จ๊ป˜ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฐ์ž‡๊ฑธ์ฆˆ2๋Š” ๊ณผํ•™๊ธฐ์ˆ ์ •๋ณดํ†ต์‹ 

    dataitgirls2.github.io

     

     

     


     

     

    ํŒ๋‹ค์Šค์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ

    1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ import: ์ฝ”๋“œ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— import pandas as pd๋ฅผ ์„ ์–ธํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ as pd๋Š” ํŒ๋‹ค์Šค์˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค pandas.๋ฅผ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๊ณ  pd๋กœ ๊ฐ„๋žตํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.
      import pandas as pd
    2. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ: ํŒ๋‹ค์Šค๋Š” ์ฃผ๋กœ ๋‘ ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
      • Vector ํ˜•ํƒœ์˜ Series(์‹œ๋ฆฌ์ฆˆ): 1์ฐจ์› ๋ฐฐ์—ด ํ˜•ํƒœ(Vector)๋กœ, ํ•œ ๊ฐ€์ง€ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. ์ธ๋ฑ์Šค์™€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
      • DataFrame(๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„): 2์ฐจ์› ํ…Œ์ด๋ธ” ํ˜•ํƒœ(Matrix)๋กœ, ํ–‰๊ณผ ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋ชจ์•„์„œ ๊ตฌ์„ฑ๋œ๋‹ค.

     

     

     

     

    ์‹œ๋ฆฌ์ฆˆ(Series)์™€ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„(DataFrame)๊ฐœ๋…๊ณผ ์ฐจ์ด์ 

     

    Series ๊ฐ์ฒด ์ƒ์„ฑ

    • pd.Series() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 1์ฐจ์› ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. ์ด ๋ฐฐ์—ด์€ [1, 2, 3, 4, 5]์˜ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋˜๊ณ ,  print() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•œ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
    • ์ด ์‹œ๋ฆฌ์ฆˆ๋Š” ์—ฌ๋Ÿฌ ์ˆซ์ž๋“ค์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋•Œ ๊ฐ ์ˆซ์ž๋“ค์€ ํ•ด๋‹น ์ˆซ์ž์˜ ์ธ๋ฑ์Šค์™€ ์Œ์„ ์ด๋ฃฌ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 1์€ ์ธ๋ฑ์Šค 0์—, 2๋Š” ์ธ๋ฑ์Šค 1์— ์œ„์น˜ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ธ๋ฑ์Šค๋Š” ์‹œ๋ฆฌ์ฆˆ์˜ ์™ผ์ชฝ์— ํ‘œ์‹œ๋˜๋ฉฐ, ์‹œ๋ฆฌ์ฆˆ์˜ ๊ฐ ์š”์†Œ๋“ค๊ณผ ์—ฐ๊ฒฐ๋œ๋‹ค.
    • ๊ทธ๋ฆฌ๊ณ  ์ถœ๋ ฅ ๊ฒฐ๊ณผ์—๋Š” ๊ฐ ์ˆซ์ž ๋’ค์— 'dtype: int64'๋ผ๋Š” ํ‘œ๊ธฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋Š” ์‹œ๋ฆฌ์ฆˆ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์ •์ˆ˜(int)์ž„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ํ•ด๋‹น ๊ฐ’์˜ ํ˜•ํƒœ๋‚˜ ์ข…๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์—ฌ๊ธฐ์„œ๋Š” ์ •์ˆ˜๋กœ ํ‘œํ˜„๋˜์—ˆ๋‹ค.

    DataFrame ๊ฐ์ฒด ์ƒ์„ฑ

    ๊ฒฐ๊ณผ๋กœ ๋ณด๋ฉด Series()ํ•จ์ˆ˜์™€ DataFrame()ํ•จ์ˆ˜์˜ ์ฐจ์ด์  ๋ญ˜๊นŒ?

    1์ฐจ์› ๋ฐฐ์—ด์˜ ๊ตฌ์กฐ์™€ ๋ฉ”ํŠธ๋ฆญ์Šค ํ˜•ํƒœ์˜ ๊ตฌ์กฐ์ด๋‹ค.

     

     

     

     

    ๋ฐ์ดํ„ฐ ์ธ๋ฑ์Šค ์ถ”๊ฐ€ํ•˜๊ธฐ

     

    ํŠน์ • ์ธ๋ฑ์Šค๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด index๋ฅผ ์ธ์œ„์ ์œผ๋กœ ๋„ฃ์–ด์ค„์ˆ˜์žˆ๋‹ค.

    ์‚ฌ๋žŒ ์ด๋ฆ„์œผ๋กœ ๊ฐ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ”๊ฟ€์ˆ˜ ์žˆ๋‹ค. 

     

     

     

    pd.date_range() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ๋‚ ์งœ ์ƒ์„ฑ

    pd.date_range() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ๋‚ ์งœ('20240512')๋ฅผ ์‹œ์ž‘์œผ๋กœ ํ•˜์—ฌ 5์ผ๊ฐ„์˜ ๋‚ ์งœ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋•Œ 'periods' ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•œ๋‹ค.

    ๊ทธ ๋‹ค์Œ์—๋Š” pd.Series() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 1์ฐจ์› ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. ๋ฐฐ์—ด์˜ ๊ฐ’์œผ๋กœ๋Š” [1, 2, 3, 4, 5]๋ฅผ ์ž…๋ ฅํ•˜๊ณ , ์ธ๋ฑ์Šค๋กœ ์•ž์„œ ์ƒ์„ฑํ•œ ๋‚ ์งœ๋“ค์„ ์„ค์ •ํ•œ๋‹ค. ์ด๋•Œ ๊ฐ ๊ฐ’๋“ค์€ ๊ฐ ๋‚ ์งœ์˜ ์ธ๋ฑ์Šค์— ๋งคํ•‘๋œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ print() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•œ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

     

    ์š”์•ฝํ•˜๋ฉด, ์ด ์ฝ”๋“œ๋Š” ํ˜„์žฌ ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ 5์ผ๊ฐ„์˜ ๋‚ ์งœ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ํ•ด๋‹น ๋‚ ์งœ์— ๊ฐ๊ฐ 1๋ถ€ํ„ฐ 5๊นŒ์ง€์˜ ๊ฐ’์„ ๋งคํ•‘ํ•˜์—ฌ ์‹œ๋ฆฌ์ฆˆ๋กœ ๋งŒ๋“ค์–ด ์ถœ๋ ฅํ•œ๋‹ค.

     

     

    ์ผ์ž๋ณ„ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ - 1์ฐจ์›

    import pandas as pd
    import matplotlib.pyplot as plt
    
    dates = pd.date_range('20240512', periods = 5)
    num_series = pd.Series([1,2,3,4,5], index=dates)
    #print(num_series)
    
    #num_series.plot()
    num_series.plot(kind='bar', stacked=True)
    plt.show()

     

     

     

     

    ์ผ์ž๋ณ„ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ - 2์ฐจ์›

    ์ด๋ฒˆ์—๋Š” DateFrame ํ˜•ํƒœ์˜ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. key-value ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ค„์ˆ˜ ์žˆ๋‹ค.

     ์—ฌ๊ธฐ์„œ 'col1'๊ณผ 'col2'๋ผ๋Š” ๋‘ ๊ฐœ์˜ ์—ด์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ์ƒ์„ฑํ•œ๋‹ค.

    import pandas as pd
    import matplotlib.pyplot as plt
    
    num_df = pd.DataFrame({'col1': [1,2,3,4,5], 'col2': [6,7,8,9,10]})
    print(num_df)
    
    #num_df.plot()
    num_df.plot(kind='bar', stacked=True)
    plt.show()

     

    ํŒ๋‹ค์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ์€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๊ตฌ์กฐํ™”ํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์€ ์ด๋Ÿฌํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š”ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.