Microsoft MVP(Python Developer Technologies)
โ๋ชจ๋๊ฐ ๋ฐ์ดํฐ์ ์น์ํด์ง๋ ๋ ์ด ์ค๊ธธโโ ๋ง์ดํฌ๋ก์ํํธ์จ์ด (๋งํฌ)
๋ค์ด๋ฒ ์ปค๋ฅํธ ์ฌ๋จ ๋ถ์คํธ์ฝ์ค ๋ฐ์ดํฐ์ฌ์ด์ธ์ค ๊ฐ์ ์ค๊ณ ๋ฐ ๊ต์์
์์ธ๋ ๋น ๋ฐ์ดํฐํ์ ๊ณต์ ๋ํ, ์์ธ๋ ํ์๊ต์ก์, ์ฐ์ธ๋ DX Academy, ํ์ ๋ ABC Camp, ํ์๋ ๋ํ์, ์ ๋จ๋,
ํ๊ตญ๋ฅ๋ฅ ํํ, ์ผ์ฑSDS ๋ฉํฐ์บ ํผ์ค, ๋ฉ์์ด์ฌ์์ฒ๋ผ, ํจ์คํธ์บ ํผ์ค, ๋ชจ๋์์ฐ๊ตฌ์ ๋ฑ ๋ค์์ ๊ต์ก๊ธฐ๊ด ๋ฐ ๊ธฐ์ ๊ฐ์
๋ค์ํ ๋๋ฉ์ธ(์ ์ฝ, ํต์ , ์๋์ฐจ, ์ปค๋จธ์ค, ๊ต์ก, ์ ๋ถ๊ธฐ๊ด ๋ฑ)์ ๊ธฐ์ ๋ฐ์ดํฐ ๋ถ์
20๋ ์ด์ ๊ฒ์, ๊ด๊ณ , ๊ต์ก ๋ฑ ๋ค์ํ ๋๋ฉ์ธ์์ ์น ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋ฐ ๋ฐ์ดํฐ ๋ถ์๊ฐ ํ์ ๊ฒฝํ
Courses
Reviews
- Finding Signals and Noise with Python Stock Data Collection and Analysis
- Learn Data Science with Kaggle Practice
- Getting started with data analysis with Kaggle surveys
- Getting started with Python data analysis using public data
- Getting started with Python data analysis using public data
Posts
Q&A
ํจํค์ง ์ค์น ์๋ฌ ydata-profiling
์๋ ํ์ธ์. ydata-profiling ์ ์ถ์ํ๋ ๋๊ตฌ๋ก ๋ค์ํ EDA๋ฅผ ํ๋ฒ์ ํด์ค๋ค๋ ์ฅ์ ์ด ์์ง๋ง ํจํค์ง ์์กด์ฑ ๋ฌธ์ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ฐ์ดํธ ๋ฌธ์ ๊ฐ ์์ด ํ์ด์ฌ ๋ฒ์ ๋ฑ์ ๋ง์ถฐ ์ฃผ์ด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.์ธํ๋ฐ AI ์ธํด์ด ๋ต๋ณํด์ค๊ฒ์ฒ๋ผ ํ์ด์ฌ ๋ฒ์ ์ ๋ง์ถฐ์ค ์๋ ์์ผ๋ ๊ฐ์๋ฅผ ์ํด์๋ง ๋ฒ์ ์ ๋ง์ถ๋ค๋ฉด ๋ฒ๊ฑฐ๋ก์ธ๊ฑฐ ๊ฐ์ google colab์ ์ฌ์ฉํด์ ์ค์ต์ ์งํํ์๋ ๊ฒ์ ๊ถ์ฅ ๋๋ฆฝ๋๋ค.
- 0
- 2
- 36
Q&A
adapt() valid ํฌํจ
์๋ ํ์ธ์. ์ข์ ์ง๋ฌธ์ ์ฃผ์ จ๋ค์. ๋ง์ํด ์ฃผ์ ๊ฒ์ฒ๋ผ ์ดํ๋ฅผ ํ์ตํ ๋ valid๊น์ง ํ์ตํ๋ฉด ๋ฐ์ดํฐ ๋์๊ฐ ๋ ์๋ ์์ต๋๋ค. valid์๋ง ์๋ ๋จ์ด๊ฐ ์ฌ์ ์ ํฌํจ๋๊ฒ ๋๊ธฐ ๋๋ฌธ์ ์ ์ธํ๊ธฐ๋ ํ๋, test ๋ฐ์ดํฐ๋ ์ ์ธํ๋๊ฒ ๋ง๊ณ valid์ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ์ ์ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํด์ ์ ์ธํ๊ฑฐ๋ ํฌํจํ๊ฒ ๋ฉ๋๋ค.valid๋ก ํ์ตํ์ง ๋ชปํ๋ ์ดํ๊ฐ ๋๋ฌด ๋ง๊ฒ ๋๋ฉด ๋ชจ๋ธ ์ฑ๋ฅ์ด ํจ๊ป ๋จ์ด์ง ์๋ ์์ต๋๋ค.๋ฐ์ดํฐ์ ์ด ์๊ฑฐ๋, ํ๋ จ/๊ฒ์ฆ ๋ฐ์ดํฐ ๊ฐ์ ๋จ์ด ๋ถํฌ ์ฐจ์ด๊ฐ ํด ๋, ํ๋ จ ๋ฐ์ดํฐ๋ง์ผ๋ก๋ ์ถฉ๋ถํ ์ดํ๋ฅผ ํ์ตํ๊ธฐ ์ด๋ ต์ต๋๋ค. ์ด ๊ฒฝ์ฐ, ๊ฒ์ฆ ๋ฐ์ดํฐ์ ์ดํ๊น์ง ํฌํจ์์ผ ๋ ํ๋ถํ ๋จ์ด ์ฌ์ ์ ๋ง๋ค๋ฉด, 'Unknown' ํ ํฐ์ผ๋ก ์ธํ ์ ๋ณด ์์ค์ ์ค์ฌ ์ ๋ฐ์ ์ธ ๋ชจ๋ธ ์ฑ๋ฅ ํฅ์์ ๊ธฐ๋ํ ์ ์์ต๋๋ค.
- 0
- 1
- 26
Q&A
concat ์ ํตํ ๋ฐ์ดํฐ ํ๋ ์ ํฉ์น๊ธฐ ์๋ฌ ๋ฌธ์
์๋ ํ์ธ์. ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ์ฅ์ ์ด ์ด๋ค ์ปฌ๋ผ์ด ์ฌ์ง ๋ชฐ๋ผ๋ ์ปฌ๋ผ ์คํค๋ง๋ฅผ ์ง์ ํ์ง ์๊ณ ์ฌ์ฉํ ์ ์๋ค๋๊ฒ ๊ฐ์ฅ ํฐ ์ฅ์ ์ธ๋ฐ์. ํ๋ค์ค ๊ธฐ๋ฅ์ด ์ ๋ฐ์ดํธ ๋๋ฉด์ ์ปฌ๋ผ๋ช ํ์ ๋ฑ์ด ๋ถ์ผ์น ๋๋ ๋ฐ์ดํฐ์ ๋ํด ๋ณํฉ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ์์ต๋๋ค. ๊ทธ๋์ ์ ์ฒด๋ฅผ ๋ณํฉํ๊ธฐ ์ ์ ๋ณํฉํ ์ผ๋ถ ์ปฌ๋ผ ์ ๋ณด๋ฅผ ์ง์ ํ๊ณ ๋ณํฉํด ๋ณด์๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค. ์กฐ๋ง๊ฐ ํด๋น ๋ด์ฉ์ ๋ํด ์ฝํ ์ธ ๋ฅผ ์ ๋ฐ์ดํธํ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ด์ฉ์ ๋ถํธ์ ๋๋ ค ์ฃ์กํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
- 0
- 1
- 28
Q&A
๊ตฌ๊ธ ์ฝ๋ฉ์์ ํ๊ธ ํฐํธ ์ค์
์๋ ํ์ธ์. ์ต๊ทผ์๋ koreanize-matplotlib ์ ์ฌ์ฉํ์๋ ๊ฒ์ ๊ฐ์ฅ ์ถ์ฒํฉ๋๋ค.!pip install koreanize-matplotlib ๋ก ์ค์นํด ์ฃผ์๊ณ ์๋ ์ฒ๋ผ ์ํฌํธ๋ง ํด์ค๋ฉด ๊ฐ๋จํ๊ฒ ํด๊ฒฐ๋ฉ๋๋ค. import koreanize_matplotlib
- 1
- 2
- 866
Q&A
์ฝ๋ ์๋ฌ
์๋ ํ์ธ์. ๋จผ์ AI ์ธํด์ด ๋ต๋ณ์ ํด์ค ๊ฒ์ฒ๋ผ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๊ฐ ๋์๋์ง ํ์ธ์ ๋ถํ๋๋ฆฝ๋๋ค.!pip install koreanize-matplotlib์ฃผํผํฐ ๋ด์์ ์ค์นํ๋ค๋ฉด ์ ๋ช ๋ น์ด๋ก ์ค์นํ์๊ณ ์ฌ์ฉํด ๋ณด์ธ์.๊ฐ์ฌํฉ๋๋ค :)
- 0
- 2
- 83
Q&A
๊ฐ์ฑ ๋ถ์์ ํ๋ ค๋ฉด ์ด๋ค ๋ถ๋ถ์ ๊ณต๋ถํด์ผ ํ๋์?
์๋ ํ์ธ์. ๊ฐ์ฑ๋ถ์์ ์ด์ง ๋ถ๋ฅ ๋ฌธ์ ์ ๋๋ค.๊ฐ์ ์น์ 9์์ ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๋๋ฐ ๋ค์ค ๋ถ๋ฅ๊ฐ ์๋ ์ด์ง ๋ถ๋ฅ๋ก ๊ธ์ ๊ณผ ๋ถ์ ์ ๋ถ๋ฅํ๊ฒ ๋๋ฉด ๊ฐ์ฑ ๋ถ์์ด ๋ฉ๋๋ค.๋, ์ต๊ทผ์๋ ์ง์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋ง๋๋ ๋ฐฉ๋ฒ๋ ์์ง๋ง OpenAI API๋ฅผ ํตํด ๊ฐ์ฑ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค.๊ฐ์ ์น์ 9๋ ๋จธ์ ๋ฌ๋์ ํตํ ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๊ฒ ๋ฉ๋๋ค.์ฐธ๊ณ ๋ฅผ ๋ถํ๋๋ ค์. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 138
Q&A
์์ธํ ์ค๋ช ๋ถํ๋๋ ค์ ใ
์๋ ํ์ธ์.ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ช ์นญ์ด ydata-profiling ์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋ค์์ ๊ณต์ ๊นํ ๋งํฌ ์ ๋๋ค.[ydataai/ydata-profiling: 1 Line of code data quality profiling & exploratory data analysis for Pandas and Spark DataFrames.](https://github.com/ydataai/ydata-profiling) ๊ทธ๋์ ์ค์นํ๋ ํด๋น ํจํค์ง ์ค์นํ์ จ์ ๋๋ ydata-profiling ์ผ๋ก ์ค์น๊ฐ ๋์๊ธฐ ๋๋ฌธ์ pandas-profiling ์ผ๋ก ์ฐพ์ผ์๋ฉด ์ ๋์ฌ ์ ์์ด์. ydata-profiling ์ผ๋ก ์ฐพ์๋ณด์๊ฒ ์ด์? ๋, ๋งํฌ๋ ์ด๋ค ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง, conda, pip ๋ฑ์ ๋ฐ๋ผ ๋ค๋ฅธ ์์น์ ์ค์น ๋ฉ๋๋ค.๊ทธ๋์ ํด๋๋ฅผ ์ด์ด ํ๋์ฉ ์ฐพ์๋ณด์ ์ผ ํด์.ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฐํธ ์ค์ ์ด ๊น๋ค๋ก์์ ์ฌ์ฉ์ ๋ถํธํจ์ ๋๋ ค ์ฃ์กํฉ๋๋ค. ์กฐ๋ง๊ฐ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ๋ํด ๊ฐ์ ์ ๋ฐ์ดํธ๋ฅผ ํ ์ ์๋๋ก ํ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 117
Q&A
seaborn ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถํ์์ผ๋ ๊ทธ๋ํ๊ฐ ์ ๊ทธ๋ ค์ ธ์
์๋ ํ์ธ์. ์ฌ๋ ค์ฃผ์ ์ฝ๋๋ฅผ ๋ณด๋ ๋๋ถ๋ถ ์ ์์ฑํด ์ฃผ์ จ์ต๋๋ค.๋ณดํต์ ๊ทธ๋ํ๊ฐ ํ์๋์ง ์์ผ๋ฉด %matplotlib inline ๋ฅผ ํตํด ํ์๋ฅผ ํ๋๋ฐ ์ด ๋ํ ์ ์์ฑ๋ ๊ฒ์ผ๋ก ๋ณด์ฌ์ง๋๋ค. AI์ธํด์ด ๋ต๋ณํด ์ค ๊ฒ์ฒ๋ผ ์๊ฐํ ์ฝ๋ ์๋ซ์ค์ด plt.show()๋ฅผ ์ถ๊ฐํด ๋ณด์๊ณ ๊ทธ๋๋ ์ ๋๋ค๋ฉด ๋ค์ ์ง๋ฌธ ์ฃผ์ธ์.plt.figure(figsize=(10, 3))sns.barplot(data=df_last, x="์ง์ญ๋ช ", y="ํ๋น๋ถ์๊ฐ๊ฒฉ") ์ ํด๊ฒฐ๋๊ธธ ๋ฐ๋ผ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.plt.show()
- 0
- 2
- 149
Q&A
value_counts์ count ์ฐจ์ด
์๋ ํ์ธ์. value_counts() ๋ ๋ฒ์ฃผ๋ผ๋ฆฌ ๊ทธ๋ฃนํ ํ ๋ฐ์ดํฐ์ ๋ํ ๋น๋๋ฅผ ์ธ์ด ์ค๋๋ค.count()๋ groupby() ๋ฑ๊ณผ ํจ๊ป ์ฌ์ฉํด์ผ์ง๋ง ๋ฒ์ฃผํ ๋ฐ์ดํฐ์ ๋ํ ๋น๋์๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค. df['์ปฌ๋ผ๋ช '].value_counts() ๋ก ๊ตฌํ ์ ์๋ ๊ฐ์ด๋ผ๋ฉด df.groupby(['์ปฌ๋ผ๋ช '])['ํน์ ๊ธฐ์ค์ปฌ๋ผ'].count() ์ ๊ฐ์ด ๊ตฌํ ์ ์์ต๋๋ค.value_counts()๊ฐ ๋ ๊ฐ๋จํ๋ฐ ์ฌ๋ฌ ์ปฌ๋ผ์ ํจ๊ป ๊ณ ๋ คํด์ ๋น๋์๋ฅผ ์ธ๊ฑฐ๋ ๋น๋์๋ ๊ตฌํ๊ณ ํ๊ท , ํ์คํธ์ฐจ ๋ฑ ๋ค์ํ ์ฐ์ฐ์ ํ๊ณ ์ ํ ๋๋ ์ง๊ณ ํจ์์ธ agg๋ฅผ ์ฌ์ฉํ์ฌ .agg(['count', 'mean', 'std']) ํํ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.์ํด ๋ณต ๋ง์ด ๋ฐ์ผ์ธ์.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 147
Q&A
์์ ์๋ฃ ๋ค์ด๋ก๋ ๋งํฌ ์๋ฌ
์๋ ํ์ธ์.์ด์ฉ์ ๋ถํธ์ ๋๋ ค ์ฃ์กํฉ๋๋ค. ์ง๊ธ ํ์ธํด ๋ดค์ ๋๋ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํ๋ฐ ํน์๋ ํด์ ํด๋น ๊ฐ์ ์ปค๋ฆฌํ๋ผ ํ์ด์ง๋ฅผ ํตํด ๋ค์ด๋ก๋ ๋ฐ์ผ์ค ์ ์๋๋ก ํ์ผ์ ์ ๋ก๋ ํด๋์์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค!(์ฌ์ง)
- 0
- 2
- 112