๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Life/review

[์ŠคํŒŒํŠธํƒ€์ฝ”๋”ฉํด๋Ÿฝ]๐Ÿ’Œ ์ œ 3ํšŒ ์ŠคํŒŒ๋ฅดํ†ค ์ƒ์กด์ผ์ง€

by Finn# 2022. 9. 18.
728x90

๐Ÿ’Œ ์ŠคํŒŒ๋ฅดํ†ค ์‹œ์ž‘ !

  ์ œ 3ํšŒ ์ŠคํŒŒ๋ฅดํ†ค์ด ์‹œ์ž‘๋˜์—ˆ๋‹ค. (์ฒœํ•˜์ œ์ผ ๋ฐค์ƒ˜๋Œ€ํšŒ...)

 

์•„๋ž˜ ๊ฒŒ์‹œ๋ฌผ์€ ์ŠคํŒŒ๋ฅดํ†ค์—์„œ์˜ ๊ธฐ๋ก์„ ๋‹ด์€... ์ƒ์กด์ผ์ง€์ด๋‹ค.

 

๋‹ค์Œ ์ŠคํŒŒ๋ฅดํ†ค ์ฐธ์—ฌํ•  ์‚ฌ๋žŒ๋“ค์€ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค..!

 

(์ŠคํŒŒ๋ฅดํ†ค์— ๋Œ€ํ•ด์„œ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด ๋งํฌ ์ฐธ๊ณ  !)

 

<์ŠคํŒŒ๋ฅดํ†ค ํ–‰์‚ฌ ์ผ์ •>

 

 

๋ณธ๊ฒฉ ์ƒ์กด Start !

๐Ÿ“Œ 23:00 ~ 24:00 ;  '์‚ด๋ ค์กฐ'์˜ ํƒ„์ƒ  HP ๐Ÿƒ‍โ™‚๏ธ(100%) 

 

๋ฐ‘์— ๋…ธ๋ž€ ํ…Œ์ด๋ธ”๊ณผ ์˜์ž๋Š” ์ง„์‹ค์˜ ๋ฐฉ์ด๋‹ค.
์ง„์‹ค์˜ ๋ฐฉ์œผ๋กœ

๐Ÿšจ ํ™œ๋™ ๋‚ด์šฉ  

  • ๊ฐ„๋‹จํ•˜๊ฒŒ OT๋ฅผ ๋“ฃ๊ณ  ๊ฐ•์˜์‹ค๋กœ ํ–ฅํ–ˆ๋‹ค.
  • ๋ญ˜ ํ•ด์•ผํ• ์ง€ ๋ชฐ๋ผ์„œ ๊ฐ€๋งŒํžˆ ์„œ์žˆ๋‹ค๊ฐ€  "์„ ๋ฏธ" ์กฐ๊ต๋‹˜์˜ ๋ถ€๋ฆ„์— C-4 ์กฐ์— ํ•ฉ๋ฅ˜ํ–ˆ๋‹ค.
  • ์กฐ๊ต๋‹˜์€ ์šฐ๋ฆฌ๋“ค์˜ ์ž‘๊ณ  ์†Œ์ค‘ํ•œ ์ง‘์ค‘๋ ฅ์„ 6์‹œ๊นŒ์ง€ ์œ ์ง€์‹œ์ผœ์ฃผ์‹ค ๋ถ„์ด๋‹ค.
  • ์•„์ฃผ์•„์ฃผ ์–ด์ƒ‰ํ•œ ์ž๊ธฐ์†Œ๊ฐœ ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ์กฐ์ด๋ฆ„์„ "์‚ด๋ ค์กฐ"๋กœ ์ •ํ–ˆ๋‹ค.
  • ์ด๋Œ€๋กœ ์šฐ๋ฆฌ ๊ดœ์ฐฎ์„ ๊ฑธ๊นŒ?? ( ์กฐ์ด๋ฆ„์€ ์ƒ์กด์ผ์ง€์— ์ ์ ˆํ•ด ๋ณด์ธ๋‹ค ใ…‹ใ…‹ใ…‹)

 

๐Ÿ“Œ 24:00 : 01:00 ; Pandas(์ •ํ˜• ๋ฐ์ดํ„ฐ ๋ถ„์„)   HP ๐Ÿƒ‍โ™‚๏ธ(100%) 

 

์—‘์…€์ด ์ข‹์„๊นŒ? Pandas๊ฐ€ ์ข‹์„๊นŒ?

 

 

๐Ÿšจ  ๊ณต๋ถ€ ๋‚ด์šฉ  

  • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•์€ ์ „์— ๋งŒ๋“ค์–ด ๋‘” ๊ฐ€์ƒํ™˜๊ฒฝ์ด ์žˆ์–ด์„œ ๊ฑฐ๊ธฐ์„œ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
  • ์—‘์…€์„ ์จ์•ผํ•  ์ง€ ? ํŒ๋‹ค์Šค๋ฅผ ์จ์•ผํ•  ์ง€? ์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•ด๋ณด์•˜๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Alias๋ฅผ ์ •๋ฆฌํ–ˆ๋‹ค.

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • ์—‘์…€ : ์†Œ๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋ง์— ์šฉ์ดํ•˜๋‹ค.
  • python-pandas : ๋น…๋ฐ์ดํ„ฐ(์ •ํ˜•) ํ•ธ๋“ค๋ง์— ์šฉ์ดํ•˜๋‹ค.
  • ์ฆ‰, ๋ชฉ์ ์— ๋”ฐ๋ผ์„œ ํ•„์š”ํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • import pandas as pd ;
  • import matplotlib.pyplot as plt

๐Ÿ“Œ 01:00 ~ 02:00 ;  Matplotlib(์‹œ๊ฐํ™” ๋„๊ตฌ) ;  HP ๐Ÿšถ‍โ™‚๏ธ(85%) 

 

์‹ค์ œ๋กœ ๊ฐ•์˜์—์„œ ๋‚˜์˜จ๋Œ€๋กœ ์ •๋ ฌ์„ ์ ์šฉํ•ด๋ณด๋‹ˆ (์˜ค๋ฆ„์ฐจ์ˆœ = ์šฐ์ƒํ–ฅ) ๊ทธ๋ž˜ํ”„๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค !

 

 

๐Ÿšจ ๊ณต๋ถ€ ๋‚ด์šฉ  

  • Pandas์—์„œ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์ •๋„ ์•Œ๋ ค์ฃผ์…จ๋‹ค.
  • matplotlib.pyplot์˜ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ๋‹ค.
  • matplotlib.pyplot์˜ Font๊ฐ€ ๊นจ์งˆ ๋•Œ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. 
  • matplotlib.pyplot์„ ์‚ฌ์šฉํ•ด, Bar chart, sort, reindexํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค.
  • 2์‹œ๊ฐ€ ๊ฐ€๊นŒ์›Œ ์ง€๋‹ˆ ์ ์ .. ์กธ๋ ค์˜จ๋‹ค.. ( ์นดํŽ˜์ธ์ด ํ•„์š”ํ•ด..!)

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • DataFrame.groupby(A).B()  - A : Index(column name), B : aggregate function 

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • matplotlib์„ ์‚ฌ์šฉํ•  ๋•Œ, Font๊ฐ€ ๊นจ์งˆ ๊ฒฝ์šฐ
#์ฐจํŠธ์— ์ ์šฉ๋œ ํฐํŠธ ๋ณ€๊ฒฝ
plt.rcParams['font.size'] # Font size ํ™•์ธํ•˜๋Š” ์ฝ”๋“œ
plt.rcParams['font.family'] # Font๊ฐ€ ์–ด๋–ค ๊ฒƒ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ
plt.rcParams['font.family'] = "Malgun Gothic" # "๋ง‘์€ ๊ณ ๋”•"์œผ๋กœ ์„ค์ •ํ•ด์คŒ

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • matplotlib์„ ์‚ฌ์šฉํ•˜์—ฌ bar chart  ์ƒ์„ฑ(๊ธฐ๋ณธ)
# ํฌ๊ธฐ ์„ค์ •
plt.figure(figsize=(4,6))

#์ฐจํŠธ ์ข…๋ฅ˜(x,y์ถ•)
plt.bar(df_Sex_Avg.index, df_Sex_Avg)

#์ฐจํŠธ ์ด๋ฆ„ ์„ค์ •
plt.title("์„ฑ๋ณ„์— ๋”ฐ๋ฅธ ๋‚˜์ด ํ‰๊ท ")

#์ฐจํŠธ ์ถœ๋ ฅ
plt.show()

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • ๊ทธ๋ž˜ํ”„ ์ •๋ ฌ(Data์˜ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ) - (sort_values ๋ฉ”์„œ๋“œ)
# ์ฐจํŠธ ์ •๋ ฌ
df_Sex_Avg_sorted = df_Sex_Avg.sort_values(ascending = True)

#์ฐจํŠธ ์ข…๋ฅ˜(x,y์ถ•)
plt.bar(df_Sex_Avg_sorted.index, df_Sex_Avg_sorted)

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • Index ์›ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ •๋ ฌํ•˜๊ธฐ - (reindex ๋ฉ”์„œ๋“œ)
#Index๋ฅผ ๋‹ค์‹œ ์ง€์ •ํ•ด์ฃผ๊ณ  ๊ทธ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ธฐ

#Index list ์ƒ์„ฑ
man_or_woman1 = ["์—ฌ์ž", "๋‚จ์ž"]
man_or_woman2 = ["male", "female"]

# Series ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
df_Sex_Avg = df.groupby('Sex')['Age'].mean()
print(df_Sex_Avg)


# reindex๋Š” ์ƒˆ๋กœ์šด Index๋กœ ๊ต์ฒดํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,
# ๊ธฐ์กด์˜ Index๋ฅผ ์ •๋ ฌํ•ด์ฃผ๋Š” ๊ฐœ๋…์ด๋‹ค.


# ๊ธฐ์กด Index์˜ ์ˆœ์„œ ์ •๋ ฌ
df_Sex_Avg = df_Sex_Avg.reindex(man_or_woman2)
print(df_Sex_Avg)


#์ฐจํŠธ ์ข…๋ฅ˜(x,y์ถ•)
print(plt.bar(df_Sex_Avg.index, df_Sex_Avg))


# ์ƒˆ๋กœ์šด Index
df_Sex_Avg = df_Sex_Avg.reindex(man_or_woman1)
print(df_Sex_Avg)

#์ฐจํŠธ ์ข…๋ฅ˜(x,y์ถ•)
print(plt.bar(df_Sex_Avg.index, df_Sex_Avg))

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • [Pandas ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฌด๋ฃŒ ๊ฐ•์˜ 1์ฃผ์ฐจ ]  ์ˆ˜๊ฐ• ์™„๋ฃŒ !  
    • ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋ง์˜ ๊ธฐ์ดˆ๊ฐ•์ขŒ๋กœ์„œ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ํ•ธ๋“ค๋ง๋ถ€ํ„ฐ ์‹œ๊ฐํ™”๊นŒ์ง€ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ถ„์„์—์„œ ํ•„์š”ํ•œ ๊ณผ์ •์„ ๊ฒฝํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ์ž˜ ๋…น์•„๋‚ธ ๊ฐ•์ขŒ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ( ์ž…๋ฌธ์šฉ์œผ๋กœ ๊ฐ•์ถ” )
    • ์œผ์•„....์Šฌ์Šฌ ์กธ๋ฆฐ๋‹ค..( ใ… ใ…  ) ๋ฏธ๋‹ˆ ๊ฒŒ์ž„ ์‹œ๊ฐ„ ์ง€๋‚˜๊ณ ๋Š” 2์ฃผ์ฐจ ์ˆ˜๊ฐ•ํ•  ๊ณ„ํš !

 


๐Ÿ“Œ 02:00 ~ 03:00 ;  ๊ฒŒ์ž„(๋ณธ์ธ) = ํŒจ๋ฐฐ ;  HP ๐Ÿง‍โ™‚๏ธ (60%) 

 

2์‹œ๋ถ€ํ„ฐ 3์‹œ๊นŒ์ง€ ์‰ฌ๋Š” ์‹œ๊ฐ„์„ ์ด์šฉํ•˜์—ฌ.. O / X ํ€ด์ฆˆ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. (๊ฒฐ๊ณผ? 1๋ฒˆ๋ฌธ์ œ ํƒˆ๋ฝ)
๊ด‘์žฅ ์œ„์— ์šฐ๋š ์„œ๋ณด๊ณ .. !
๋‚จ์‚ฐ ํƒ€์›Œ๋„ ๊ตฌ๊ฒฝํ•ด๋ณด๊ณ ...
๋ชจ๋“  ๊ฒŒ์ž„์—์„œ ํŒจ๋ฐฐํ•œ ์ดํ›„, ๊ฐ•์˜์‹ค์— ์™€๋ดค๋”๋‹ˆ ์šฐ๋ฆฌ ์กฐ์›๋“ค์€ ๋” ์ผ์ฐ ์™€์„œ ์•‰์•„์žˆ์—ˆ๋‹ค.

๐Ÿšจ  ํ™œ๋™  ๋‚ด์šฉ  

  • ๊ฒŒ์ž„ ์ฐธ์—ฌ : O/X ํ€ด์ฆˆ : ๊ด‘ํƒˆ(1๋ฒˆ๋ฌธ์ œ์—์„œ์š”...)
  • ๊ฒŒ์ž„ ์ฐธ์—ฌ : ๋˜ฅํ”ผํ•˜๊ธฐ : ์ข€ ๋ฒ„ํ…ผ์œผ๋‚˜... ๋˜ฅ์ด ์ด์•Œ๊ฐ™์ด ๋‚ ๋ผ์˜ค๋Š” ๋ฐ”๋žŒ์— ์ „์‚ฌ.. 
  • ๊ฒŒ์ž„ ์ฐธ์—ฌ : ๋‹ฌ๋ฆฌ๊ธฐ ( 12๋“ฑ ๋‚˜๋ฆ„ ์„ ๋ฐฉ ใ…Ž)
  • ๊ฒŒ์ž„ ์ฐธ์—ฌ : ๋•…๋”ฐ๋จน๊ธฐ (์••๋„์ ์œผ๋กœ ์กŒ๋‹ค.)
  • ๊ฒŒ์ž„์€ ์Šน๋ฆฌํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ํŒจ๋ฐฐํ•  ์ˆ˜๋„ ์žˆ๋Š” ๋ฒ•, ํ•˜์ง€๋งŒ ์ „๋ถ€ ํŒจ๋ฐฐํ•  ์ˆ˜๋„ ์žˆ์„๊นŒ์š”?
  • ๊ฒŒ์ž„์„ ํ•˜๊ณ ๋‚˜์„œ ๊ฐ‘์ž๊ธฐ ๋” ํ”ผ๋กœํ•ด์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค...์ด๊ฒผ์œผ๋ฉด ๋œ ํ”ผ๊ณค ํ–ˆ์„ ์ง€๋„..
  • HP๊ฐ€ 60์œผ๋กœ ๊นŽ์—ฌ๋ฒ„๋ ธ๋‹ค..

 


๐Ÿ“Œ 03:00 ~ 04:00 ;  Data Processing ;  HP  ๐ŸงŽ‍โ™‚๏ธ (35%) 

 

"์‚ด๋ ค์กฐ" ๋งด๋ฒ„๋“ค๊ณผ ํ•œ์ปท.. ใ…Ž (๋‹ค๋“ค ๋ฒ„ํ…จ๋ด…์‹œ๋‹ค ~)

 

๋ฉ”๋””์ปฌ ์ฒดํฌ๋ฅผ ํ•ด์ฃผ์‹œ๋Š” ์กฐ๊ต๋‹˜
์ด๊ฒƒ์ €๊ฒƒ ํ•˜๋А๋ผ๊ตฌ.. ๊ณต๋ถ€์‹œ๊ฐ„์ด 30๋ถ„์ •๋„ ๋ฐ–์— ์—†์—ˆ๋Š”๋ฐ ๋ง‰๊ฐ„์„ ์ด์šฉํ•ด์„œ ๋˜ ํ•œ ๊ฐ•์˜ Clear ~ ๐Ÿ˜

 

๐Ÿšจ  ํ™œ๋™ ๋ฐ ๊ต์œก ๋‚ด์šฉ  

  • ๊ฐ‘์ž๊ธฐ "์„ ๋ฏธ" ์กฐ๊ต๋‹˜๊ป˜์„œ ์ง„์‹ค์˜ ๋ฐฉ์œผ๋กœ ์˜ค๋ผ๊ณ  ํ•˜์…จ๋‹ค.
  • ์‚ด์•„๋‚จ์€ "์‚ด๋ ค์กฐ" ์กฐ์›๋ผ๋ฆฌ ์‚ฌ์ง„์„ ํ•œ๋ฐฉ ๋‚จ๊ฒผ๋‹ค.. ํ๋ง‰์‹์— ๋ช‡๋ช…์ด๋‚˜ ์‚ด์•„๊ณ„์‹ค๊นŒ..?

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • DataFrame → List, Dict ๋ณ€ํ™˜ํ•˜๋ฉด ์ทจํ•˜๋Š” ๊ฐ’์€?
# DataFrame → List  = ํ‚ค(์ปฌ๋Ÿผ๋ช…)
list(df)

# DataFrame → Dict  = ํ‚ค(Index(axis=1) = ์‹ค์ œ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ปฌ๋Ÿผ๋ช…) : ๊ฐ’(Data =์ปฌ๋Ÿผ๋ฐ์ดํ„ฐ)
dict(df)

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  •  Series → List, Dict ๋ณ€ํ™˜ํ•˜๋ฉด ์ทจํ•˜๋Š” ๊ฐ’์€? ( ๋ฒˆ์™ธ๋กœ ํ•ด๋ดค์Œ ใ…Žใ…Ž)
# Series → List  = ๊ฐ’(์ปฌ๋Ÿผ๋ช…)
list(df['Survived'])

# Series → Dict  = ํ‚ค(Index(axis=1) = ์ •์ˆ˜ํ˜• ์ธ๋ฑ์Šค) : ๊ฐ’(์‹œ๋ฆฌ์ฆˆ= ์ปฌ๋Ÿผ๋ฐ์ดํ„ฐ)
dict(df['Survived'])

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต ํ™•์ธ(+ unique_values๋ž‘ ์œ ์‚ฌํ•œ ๊ฐœ๋…)
# ์ค‘๋ณต์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ์—ด์„ ํ–‰ ์ธ๋ฑ์Šค๋กœ ์„ค์ •ํ•˜๊ณ ,
# ํ•ด๋‹น ํ–‰ ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธด ์—ด(์ปฌ๋Ÿผ)์„ ์‹œ๋ฆฌ์ฆˆ๋กœ ๋ฝ‘๊ณ ,
# groupby()[].count().sort_values(ascending=False) ํ•ด์„œ ๊ฐœ์ˆ˜๋ฅผ ํ™•์ธํ•œ๋‹ค.

print(df.groupby('Survived')['Name'].count().sort_values(ascending=False))
print(df.groupby('Name')['Survived'].count().sort_values(ascending=False))

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • ํ˜„์žฌ ์ƒํƒœ... ์‚ด๋ ค์กฐ...( HP : 35%...)

 

 

๐Ÿ“Œ 04:00 ~ 05:00 ;  ์ƒˆ๋ฒฝ๊ฐ์„ฑ ๋‹ฌ๋ฆฌ๊ธฐ + Visualization ;  HP ๐Ÿ‘จ‍๐Ÿฆฏ(20%)  

 

๋‹ฌ๋ฆฌ๊ธฐ๊ฐ€ ์‹œ์ž‘๋˜๊ณ  ์ •์‹ ์—†๋Š” ํ‹ˆ์„ ํƒ€ ์ฝ”๋ผ๋ฆฌ ์ฝ”๋ฅผ ๋Œ์•„์•ผํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค.
์ด๋Ÿฐ ๋…ธ๋ ฅ ๋์— 10๋“ฑ ใ…Žใ…Ž ( ๊ฒฐ๊ตญ...)
์‹ค์ œ Map ์‹œ๊ฐํ™”์˜ ์˜ˆ์‹œ (๋Œ€๋ฐ•..ใ„ทใ„ท)

๐Ÿšจ ํ™œ๋™ ๋ฐ ๊ต์œก ๋‚ด์šฉ

  • ์•„๊นŒ ๊ฒŒ์ž„ ์ง„ํ–‰ ์‹œ์— ๋ ‰์ด ์‹ฌํ•ด์„œ ์ด๋ฒˆ์—๋Š” A, B, C ๊ฐ๊ฐ์˜ Section ๋ณ„๋กœ ๋‹ฌ๋ฆฌ๊ธฐ ์‹œํ•ฉ์ด ์—ด์˜€๋‹ค. 
  • ์Šน๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ธฐ๊บผ์ด ์ถœ๋ฐœ์„ ์— ์„œ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ฝ”๋ผ๋ฆฌ ์ฝ” ๋Œ๊ณ  ๋‹ฌ๋ ค์•ผํ•œ๋‹ค๊ณ  ์ถœ๋ฐœ์„ ์—์„œ ์ด์•ผ๊ธฐํ–ˆ๋Š”๋ฐ...
  • ๊ทธ๋Ÿฐ ๋…ธ๋ ฅ ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  10๋“ฑ๋ฐ–์— ๋ชปํ–ˆ๋‹ค. ( ๋ฌผ๋ก  ์šฐ๋ฆฌ์กฐ์—์„  ๋‚ด๊ฐ€ 1๋“ฑ ใ…Ž)

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  •  ์•ž ์ „ ์‹œ๊ฐ„์— ์ „์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐํ™” ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. 
# Group์˜ ์›์†Œ์— ๋”ฐ๋ฅธ ์ง‘๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•œ๋‹ค.
๋งŒ๋“  ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ์ด๋ฆ„์€ = sorted_chicken_count_gu # Bar Chart ์šฉ
๋งŒ๋“  ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ์ด๋ฆ„์€ = chicken_count_gu # Map Chart ์šฉ
  • ์ฒซ๋ฒˆ์งธ๋Š” Bar Chart ์‹œ๊ฐํ™” !
# ์‹œ๊ฐํ™”๋ฅผ ํ• ๊ฑด๋ฐ ๋จผ์ € Bar Chart์— ํ‘œํ˜„ํ•  ๊ฒƒ์ด๋‹ค.
import matplotlib.pyplot as plt

# ์ผ๋‹จ ์ฐจํŠธ ์ œ๋ชฉ์˜ ๊ธ€๊ผด์ด ๊นจ์ง€๋ฉด ๋ฐ”๊ฟ”์ค€๋‹ค.
# Apple์€ 'AppleGothic', Windows๋Š” 'Malgun Gothic'
plt.rcParams['font.family'] = "Malgun Gothic"

# ๋งŒ๋“ค ์ฐจํŠธ์˜ ๊ทธ๋ž˜ํ”„ ์‚ฌ์ด์ฆˆ๋ฅผ ์ •ํ•ด์ค€๋‹ค.
plt.figure(figsize= (10,5)) 

# ์ฐจํŠธ์˜ x,y ์ถ•์— ๋„ฃ์„ ๋ฐ์ดํ„ฐ ํ• ๋‹นํ•ด์ฃผ๊ณ  ์ฐจํŠธ ์ƒ์„ฑ
plt.bar(sorted_chicken_count_gu.index, sorted_chicken_count_gu)

# ์ฐจํŠธ ์ œ๋ชฉ ์ •ํ•ด์ฃผ๊ธฐ
plt.title('๊ตฌ์— ๋”ฐ๋ฅธ ์น˜ํ‚จ๊ฐ€๊ฒŒ ์ˆ˜์˜ ํ•ฉ๊ณ„') 

# ๊ฐ€๋กœ์ถ• ๋ˆˆ๊ธˆ ๋ ˆ์ด๋ธ” 90๋„ ํšŒ์ „์‹œํ‚ค๊ธฐ
# (x์ถ•์— ์ด์‚ฐ๋ณ€์ˆ˜๊ฐ€ ๋งŽ๊ณ  ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜๊ฐ€ ๊ธธ๋ฉด ๊ฐ€์‹œ์„ฑ์ด ๋–จ์–ด์ ธ์„œ ์„ธ์›Œ์„œ ํ‘œ๊ธฐํ•ด์ค„ ๋ชฉ์ ! )
plt.xticks(rotation=90)

# ์ฐจํŠธ ๊ทธ๋ฆฌ๊ธฐ
plt.show()
  •  ์ƒ์†Œํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ !
# ๋จผ์ € ์ƒ์†Œํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ
import folium # map์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐ™๋‹ค.
import json # json file์„ loadํ•  ๋•Œ ์‚ฌ์šฉํ•  ์šฉ๋„์ธ ๊ฒƒ ๊ฐ™๋‹ค.
  •  ๋‘๋ฒˆ์งธ๋Š” Map ์‹œ๊ฐํ™” !
# Json์œผ๋กœ ์ด๋ค„์ง„ ํŒŒ์ผ์„ utf-8๋กœ encodingํ•ด์„œ folium์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋กœ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
seoul_state_geo = 'ํŒŒ์ผ๋ช….json'
geo_data = json.load(open(seoul_state_geo, encoding='utf-8'))
#์ง‘๊ณ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•  ์ง€๋„์˜ ์œ„์น˜์™€ ์ถ•์ฒ™์„ ์ •ํ•ด์ค€๋‹ค
map = folium.Map(location=[37.5502, 126.982], zoom_start=10)


# Json์œผ๋กœ ์–ป์€ ๊ฐ ๊ตฌ์˜ ์œ„์น˜ ๋ฐ์ดํ„ฐ์™€, ์ง‘๊ณ„ํ•œ ๋ฐ์ดํ„ฐ, ์ถ•๊ฐ’, ์ƒ‰์กฐํ•ฉ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ map์— ํ‘œ๊ธฐํ•ด์ค€๋‹ค.
folium.Choropleth(geo_data=geo_data,
              data=chicken_count_gu,
              columns=[chicken_count_gu.index, chicken_count_gu],
              fill_color='PuRd',
              key_on='feature.properties.name').add_to(map)

# ๋งˆ์ง€๋ง‰์„ map ์‹คํ–‰
map

   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • ์ด๊ฒƒ์„ ๋์œผ๋กœ Data Processing & Visualization Part ๊นŒ์ง€ ์™„๊ฐ•ํ–ˆ๋‹ค.
  • [Pandas ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฌด๋ฃŒ ๊ฐ•์˜ 2์ฃผ์ฐจ ]  ์ˆ˜๊ฐ• ์™„๋ฃŒ !  
    • ๋ฌด๋ฃŒ ์ธ๊ฐ•์œผ๋กœ๋„ ์–ด๋А์ •๋„ ํ•ธ๋“ค๋ง ์—ญ๋Ÿ‰๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ์ถฉ๋ถ„ํžˆ ๋„์›€์ด ๋ ๋งŒํ•œ ๋‚ด์šฉ์ด์—ˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋ฅผ ๋”ฐ๋ผํ•˜๋ฉด์„œ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉํ•ด๋„ ์ข‹์„ ๊ต์œก ๋‚ด์šฉ์ด๋‹ค.
    • ์งง์€ ์‹œ๊ฐ„ ๋‚ด ๋“ฃ๊ธฐ ์œ„ํ•ด ์ดˆ๋ฐ˜์— ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ–ˆ๋‹ค.
    • ๋•Œ๋ฌธ์— ๋ช‡๊ฐ€์ง€ ๊ธฐ๋Šฅ์€ ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜๋Š” ์ˆ˜์ค€์œผ๋กœ ๊ทธ์ณค์ง€๋งŒ ์ˆ˜๊ฐ•๊ฐ€๋Šฅํ•œ ๊ฐ•์˜์‹œ๊ฐ„์ด ์—ฐ์žฅ๋˜์—ˆ๊ณ ,
    • ํ•œ์ˆจ ์ž๊ณ ๋‚˜์„œ.. ๋ง‘์€ ์ •์‹ ์œผ๋กœ ํ•œ๋ฒˆ ๋” ๋”ฐ๋ผํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค ใ…Žใ…Ž (์ € ๊ณง ๋ฐฉ์ „๋ฉ๋‹ˆ๋‹ค ๐Ÿ˜ฃ)

 

์‚ฌ์‹ค ๋จธ๋ฆฌ์— ๋” ๋“ค์–ด๊ฐ€์ง€์ง€๊ฐ€ ์•Š๋„ค??


 

๐Ÿ“Œ 05:00 ~ 06:00 ;  No pain, No gain..  ;  HP ๐Ÿ˜ต(10%) 

๐Ÿšจ  1์ฃผ์ฐจ  ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ดํ•ดํ•˜๊ธฐ (ํ•™์Šต ์ •๋ฆฌ)  

  • ์ด๋ฒˆ ์ˆ˜์—…์„ ํ†ตํ•ด์„œ Pandas์—์„œ ๋‚ด๊ฐ€ ๋†“์น˜๊ณ  ์žˆ๋˜ ํฌ์ธํŠธ์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • ๋Œ€ํ‘œ์ ์œผ๋กœ list(DataFrame)์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ปฌ๋Ÿผ๋ช…์ด ๋‚˜์˜จ๋‹ค๋Š” ์ 
  • Set()์ž๋ฃŒํ˜•๋ณ€ํ™˜์„ ํ™œ์šฉํ•˜์—ฌ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์—†์• ๋ฒ„๋ฆฌ๋Š” ๋ฐฉ๋ฒ•
  • Dict(DataFrame)์„ ํ•˜๋ฉด ํ‚ค= ์ปฌ๋Ÿผ๋ช…, ๊ฐ’= data๋กœ ๋‚˜๋‰œ๋‹ค๋Š” ์ 
  • ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹ค์ œ ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋ง์—์„œ ์‚ฌ์šฉํ•ด๋ณผ ๋ฒ•ํ•œ ์ˆ˜์ค€์˜ ๋‚ด์šฉ๋“ค์ด ๋‚˜์™”๊ณ 
  • ๋ฌด๋ฃŒ์ด์ƒ์˜ ๊ฐ’์–ด์น˜๋ฅผ ํ•˜๋Š” ๊ฐ•์˜๋“ค๋กœ ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค. ( ์ •๋ง ์ž…๋ฌธ์ˆ˜์ค€ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„๋“ค ์ถ”์ฒœ~)

1์ฐจ ์ฝ”๋”ฉ ๋ฒ„๋‹ ํƒ€์ž„์— ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ

 

๐Ÿšจ  2์ฃผ์ฐจ  ๋ฐ์ดํ„ฐ  ์ „์ฒ˜๋ฆฌ ๋ฐ ์‹œ๊ฐํ™”  (ํ•™์Šต ์ •๋ฆฌ)  

  • matplotlib.pyplot ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ž…๋ฌธ์ˆ˜์ค€์œผ๋กœ ์ ‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ์˜€๋‹ค.
  • ๊ธฐ๋ณธ์ ์ธ Graph ์ƒ์„ฑ ์ฝ”๋“œ๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ์งœ์—ฌ์ง€๋Š” ์ง€ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • figsize, xticks(rotation=๊ฐ๋„) ๋“ฑ
  • folium, json์„ ํ™œ์šฉํ•œ Map visualization์„ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ• 
  • Bar Chart๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ–ˆ๋‹ค.

2์ฐจ ์ฝ”๋”ฉ ๋ฒ„๋‹ ํƒ€์ž„์— ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ

 


 

๐Ÿ“ข ์ŠคํŒŒ๋ฅดํ†ค  ์ฐธ๊ฐ€ ํ›„๊ธฐ  

  • ์‚ฌ์‹ค ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์ž˜ ๊ด€๋ฆฌ๋˜๊ณ  ์šด์˜๋˜์–ด์ง€๋Š” ํ–‰์‚ฌ์˜€๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค.
  • ๋งค๋‹ˆ์ € ๋‹˜๋“ค๋„ ์ฐธ๊ฐ€์ž๋“ค์ด ์ค‘๊ฐ„์— ๋‚™์˜คํ•˜์ง€ ์•Š๋„๋ก ์ƒํƒœ๋ฅผ ๊ณ„์† ์ฒดํฌํ•ด์ฃผ์…จ๊ณ ..(๋ฉ”๋””์ปฌ ์ฒดํฌ)
  • ๋ชจ๋‘๊ฐ€ ํž˜๋“  ์ƒํ™ฉ์—์„œ ๋๊นŒ์ง€ ์šฐ๋ฆฌ ์˜†์„ ์ง€์ผœ์ฃผ์…จ๋‹ค. 
  • ์ด๋Ÿฐ ์—ฐ๋Œ€๊ฐ ์†์—์„œ ์˜ค๋Š˜ ํ•˜๋ฃจ ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•œ ๋‚˜ ์Šค์Šค๋กœ์—๊ฒŒ๋„ ์นญ์ฐฌ๊ณผ ๋ฐ•์ˆ˜๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค. 
  • ํ•จ๊ป˜ ๊ณต๋ถ€ํ•œ "์‚ด๋ ค์กฐ" ํŒ€์›๋“ค์—๊ฒŒ ๋ฐ•์ˆ˜๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค. ๋‹ค๋“ค ์„ฑ์‹คํ•˜๊ฒŒ ๋„ˆ๋ฌด ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•˜์˜€๋‹ค.
  • ๋‹ค์Œ์œผ๋กœ ์ŠคํŒŒ๋ฅดํ†ค์—์„œ ์ œ๊ณตํ•ด์ค€ ๊ฐ•์˜์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. 
  • ์ฒ˜์Œ์—๋Š” ๋ฌด๋ฃŒ์ธ๊ฐ•์ด๋ผ ๊ธˆ๋ฐฉ ๋๋‚  ์ค„ ์•Œ์•˜๊ณ  ํ€„๋ฆฌํ‹ฐ์— ๋Œ€ํ•ด์„œ๋„ ํฐ ๊ธฐ๋Œ€๋ฅผ ํ•˜์ง€ ์•Š์•˜๋‹ค.
  • ํ•˜์ง€๋งŒ ๋งˆ์นจ ๊ด€์‹ฌ๋ถ„์•ผ์˜ ๊ฐ•์˜๋ฅผ ์ œ๊ณตํ•ด์ฃผ์…จ๊ณ  Pandas์™€ matplotlib ์ž…๋ฌธ ๊ณผ์ •์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•ด๋ณด์•˜๋‹ค.
  • ์›๋ž˜ ํ•ด๋‹น ๊ฐ•์˜๊ฐ€ 1์ฃผ, 2์ฃผ ๊ณผ์ •์ด๊ธฐ์— ๊ด€๋ จ Library๋ฅผ ์ฒ˜์Œ ์ ‘ํ•œ ํ•™์Šต์ž ๊ธฐ์ค€์œผ๋กœ
  • ๋‹จ ํ•˜๋ฃป๋ฐค ๋งŒ์— ๋“ฃ๊ธฐ๋Š” ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. (๋ฌผ๋ก  ๋„“์œผ์‹  ์•„๋Ÿ‰์œผ๋กœ 18์ผ ์ž์ •๊นŒ์ง€๋กœ ์—ฐ์žฅํ•ด์ฃผ์‹ฌ ใ…Ž)
  • ํ•˜์ง€๋งŒ ์–ด๋А์ •๋„ ์ต์ˆ™ํ•œ Library ๋“ค์ด๋ผ๋ฉด ์œ„ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด  ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„์ •๋„๋Š” ์ถฉ๋ถ„ํžˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”
  • ์ •๋„์˜ ๊ฐ•์˜๋ฅผ ์ œ๊ณตํ•ด์ฃผ์…จ๋‹ค. ์•„์ฃผ ๋งŒ์กฑ์Šค๋Ÿฌ์šด ์‹œ๊ฐ„์ด์—ˆ๊ณ  ๊ณ ์ƒ์„ ํ•œ ๋ณด๋žŒ์ด ์žˆ๋˜ ์‹œ๊ฐ„๋“ค์ด์—ˆ๋‹ค.
  • ๋‹ค์Œ์—๋„ ์ŠคํŒŒ๋ฅดํ†ค์ด ์—ด๋ฆฐ๋‹ค๋ฉด ์ฐธ๊ฐ€๋ฅผ ๊นŠ๊ฒŒ ๊ณ ๋ฏผํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. ( ์ŠคํŒŒ๋ฅดํ†ค ๋ !!!)

 

 

  • ์•„๋ž˜ ์‚ฌ์ง„์€ ์˜ค๋Š˜์˜ ๋…ธ๋ ฅ์ด ๋ฌป์€ ๋‚˜์˜ ๊ฐ’์ง„ ๋ฉ”๋‹ฌ์ด๋‹ค (Get ๐Ÿฅ‡)

 

 

 

 

 

์ธ์Šคํƒ€ ์ฃผ์†Œ โญ

https://www.instagram.com/f.inn_sharp/

๋ฐ˜์‘ํ˜•