* ์ด ๊ธ์ 2019๋ 10์ 21์ผ์ ์ฐธ์ฌํ ์ค๋์ฝ๋(https://www.youtube.com/results?search_query=todaycode)๋์
์ธ๋ฏธ๋ ๋ด์ฉ์ ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
1. ์ค๋์ฝ๋ ํธ์ฆ์จ ์ธ๋ฏธ๋ ๊นํ๋ธ ๋งํฌ
https://github.com/corazzon/todaycode-hands-on
2. ๋ฌด๋ฃ๋ก ๊ณต๋ถํ ์ ์๋ ๊ธฐ์ด ํ์ด์ฌ ์จ๋ผ์ธ ์๋ฃ
ํ์ด์ฌ ๋ํ๋จผํธ
https://docs.python.org/3/tutorial/index.html
์ ํํฌ ํ์ด์ฌ ์ํค๋ ์ค
์ฝ๋ฉ๋์ฅ ํ์ด์ฌ
https://dojang.io/course/view.php?id=7
ํ์ด์ฌ ๋ฌธ๋ฒ์ ์ด๋์ ๋ ๊ณต๋ถํ๋ค๋ฉด,
์ดํ์๋ ์ฒ์๋ถํฐ ๋๊น์ง ๋ค ์ค์ตํ๋ ๊ฒ์ด ์๋๋ผ
๊ทธ๋๊ทธ๋ ํ์ํ ๋ด์ฉ์ ์ฐพ์๋ณด๋ ๊ฒ์ ์ถ์ฒ.
3. ํ์ด์ฌ์ผ๋ก ์ปค๋ฆฌ์ด๋ฅผ ์์ํ๋ ค๋ฉด
1) ADSP(๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ)์ ๊ฐ์ ์๊ฒฉ์ฆ ๋ณด๋ค๋ ํฌํธํด๋ฆฌ์ค์ ์ ๊ฒฝ์ ์ฐ์
2) ๊ณต๋ถํ ๋ด์ฉ์ github์ ์ฌ๋ฆฌ์
3) ํฌํธํด๋ฆฌ์ค๋ ์ด๋ค๊ฑธ ํด์ผ? ๊ทธ๋ ๊ทธ๋ ๊ณต๋ถํ ๊ฑธ ํฌํธํด๋ฆฌ์ค๋ก.
์ค๋์ฝ๋๋๋ ๋ณธ์ธ์ด ๊ณต๋ถํ ๊ฒ๋ค์ ์ ๋ฆฌํ์ฌ ์ค๋์ฝ๋ ์ ํฌํธ ๊ณ์ ์ ์ฌ๋ฆฌ์ จ๋๋ฐ,
๊ทธ๊ฑธ ํตํด์ ๋ง์ ์ฌ๋๋ค์ด ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์๊ณ ๋น์ ๋ค๋์๋ ํ์ฌ๋ ์ ํ๋ธ๋ฅผ ๋ณด๊ณ ์ฐ๋ฝ์ฃผ์ ๊ฑฐ๋ผ๊ณ .
ํ์ด์ฌ์ ๋ค์ํ ๊ทธ๋ํ๋ค๊ณผ ๊ทธ ์ฐ์์
https://colab.research.google.com/notebooks/charts.ipynb
๋ผ์ธ์ฐจํธ Line Graph
์ ๊ทธ๋ํ์ ๊ฒฝ์ฐ ์๋ฒ ํธ๋ํฝ ์ ๋ฑ์ ํ์ธํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฐ์
๋ง๋๊ทธ๋ํ Bar Plot
์ซ์ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํด์ ๋ณด๊ณ ์ถ์ ๋
ํ์คํ ๊ทธ๋จ Histogram ๊ณผ ๋์ ํ์คํ ๊ทธ๋จ Cumulative Histogram
๋์๋ถํฌํ๋ฅผ ์๊ฐํํ ๊ฒ์ด ํ์คํ ๊ทธ๋จ, ๋์ ํํ์ฌ ๋ณด๋ ๊ฒ์ด ๋์ ํ์คํ ๊ทธ๋จ
์ฐ์ ๋ถํฌ๋(์ฐ์ ๋) Scattor Plot
x์ถ๊ณผ y์ถ์ด ๋ค ์ซ์์ผ ๋ ์ฌ์ฉํ๋ค.
Area Plot (Area Graph)
๊บพ์ ์ ๊ทธ๋ํ์, ์ ์๋ ์์ญ์ด ์์ด๋ ์ง๊ฐ์ผ๋ก ์ฑ์์ ธ ์๋ ๊ฒ์ Area Graph(๋๋ Area Plot)์ด๋ผ๊ณ ํฉ๋๋ค.
matplotlib์ ๋นํธ์์ค ์ํ๋ก fill_between ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํ์ด์ฐจํธ Pie Chart
ํ์ด๋ชจ์์ ๊ทธ๋ํ.
matplotlib์๋ ํ์ด์ฐจํธ๊ฐ ์์ง๋ง, Seaborn์ด๋ GGplot ์ ์์
3D ๊ทธ๋ํ 3D Bar Chart (3D Plot)
3d plot์ ์๊ฐํ๋ฅผ ํ ๋ ์ฌ์ฉ์ ํ์ง ์๋ ๊ฒ์ ๊ถ์ฅํจ.
๋ณด๋ ๊ฐ๋์ ๋ฐ๋ผ ๋ฐ์ดํฐ๊ฐ ์ผ๊ด๋์ด ๋ณด์ด์ง ์๊ธฐ ๋๋ฌธ์
Matplotlib์ 3D wireframe plot ์ด ์์จ.
https://matplotlib.org/stable/gallery/mplot3d/wire3d.html
๊ทธ์ธ ์ค๋ช
Seaborn ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ matplotlib์ ํ์ฉํ๊ธฐ ์ฝ๊ฒ ๋งตํํด๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ธํฐ๋ํฐ๋ธํ ์๊ฐํ๋ฅผ ํ๊ณ ์ถ๋ค๋ฉด Bokeh๋ Plotly๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒ
Bokeh : https://bokeh.org/
Plotly : https://plotly.com/python/
๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๊ณผ์
๊ฒฐ์ธก์น (NA๊ฐ)
https://m.blog.naver.com/tjdudwo93/220976082118
df_store.info()
#๋ฐ์ดํฐํ๋ ์์ ๋ํ ์์ฝ์ ๋ณด์ฌ์ค
df_store.isnull()
df_store.isnull().sum() #๋ํ๋ฉด ๊ฒฐ์ธก์น๊ฐ ๋ช๊ฐ ์๋์ง ๋ณด์ฌ์ค
.info() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐํ๋ ์์ ๋ํ ์ฉ์ฝ์ ๋ณด์ฌ์ฃผ๋๋ฐ,
๊ฐฏ์๊ฐ ๋ค๋ฅธ ๊ฑด ๊ฒฐ์ธก์น๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ฒฐ์ธก์น๊ฐ ๋๋ฌด ๋ง์ผ๋ฉด ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๊ธฐ ๋๋ฌธ์
์ฌ์ฉํ์ง ์๋ ๊ฒ๋ค์ ์ ๊ฑฐํ๋ค (์ปฌ๋ผ๋ฑ๋ฑ)
df_store[drop_columns].samples()
df_store = df_store.drop(drop_columns,axis=1)
df_store[["์๊ถ์
์ข
๋๋ถ๋ฅ๋ช
","์๊ถ์
์ข
์๋ถ๋ฅ๋ช
"]]
๋๊ฐ์ด์์ ์ปฌ๋ผ์ ๋ฆฌ์คํธํํ๋ก ๊ฐ์ ธ์ด
df_store=df_store[df_columns].copy()
df_store
copy() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์ฌ๋ฅผ ํ์ง์๊ณ
์ด์ฉํ๋ฉด ๋์ค์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ค๊ณ ํ ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋จ๊ธฐ ๋๋ฌธ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๊ฐ์ ๋ณต์ฌํ์ฌ ์ฌ์ฉํ๋ค.
ํธ์ฆ์จ ์ฝ๋
์๊ฐ์ ์ ์ ๋ณด ๊ณต๊ณต๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ์คํ๋ฒ ์ค์ ์ด๋์ผ์ ์๋, ๊ฒฝ๋๋ฅผ ๋ฐ์์ ์ฐ์ ๋ Scattor Plot ์ผ๋ก ๋ํ๋ด๊ธฐ
๊ณต๊ณต ๋ฐ์ดํฐ ๋ฐ ํฌ๋กค๋ง ๊ด๋ จ ๋ด์ฉ
url/robots.txt
robots.txt๋ฅผ ํตํด ํฌ๋กค๋ง์ ํ ์ ์๋์ง ์๋์ง ์ ์ ์์
robots.txt๊ฐ ๋ฌด์์ด๋๋ฉด ๊ฒ์์์ง์ด ๊ฐ์ ธ์ฌ ์ ์๋์ง ์๋์ง๊ฐ ๋ช ์๋์ด ์๋ ๋ฌธ์.
๋ค์ด๋ฒ ์ ์ฑ ์ ๋ค this allow๋ผ์ ํฌ๋กค๋ง์ ํ๋ค๊ณ
๋ค์ด๋ฒ API ์ ๊ณต๋์ด ์์ด์ ๊ทธ๊ฑธ ์จ์ผํจ. ๊ทธ๋ ์ง ์์ผ๋ฉด ํฌ๋กค๋ง์ผ๋ก ์ ์๊ถ ์นจํด๊ฐ ๋ ์ ์๋ค.
์ฐ๋ฆฌ๋๋ผ์ ์ ์๊ถ์ FTA๋ฅผ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์
๋ฏธ๊ตญ์ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅธ๋ค.
๊ณต๊ณต๋ฐ์ดํฐ์ ์ด๋ฅผ ํ์ฉํ ์๋ฃ๋ค
1. ๊ณต๊ณต ๋ฐ์ดํฐ ํฌํธ
https://www.data.go.kr/index.do
2. ์บ๊ธ
๋จธ์ ๋ฌ๋, ๋ฐ์ดํฐ ์ฌ์ด์ธ์ค ์ปค๋ฎค๋ํฐ
๋ค์ํ ๋ฐ์ดํฐ๋ถ์ ์ปดํผํฐ์ ์ด ์ด๋ฆฌ๋ ๊ณณ.
3. ํ๊ฒฝ ๋ด์ค๋๋น
http://newslabit.hankyung.com/
http://newslabit.hankyung.com/article/201702229336G
ํ๊ฒฝ์์ ๊ณต๊ณต๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด์ ๋ง๋ ์๋ฃ๋ค์ด ๋ง๋ค.
์ด๊ฑธ ํตํด์ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์ ํด๋ณด๊ณ ๊ณต๋ถ๊ฐ ๊ฐ๋ฅ
๋๊ธ