๋ฐ์ํ
๋ฐ์ดํฐ ๊ณผํ๊ณผ python
- ๋ฐ์ดํฐ๋ฅผ ํตํด ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ ๊ทผ๋ฒ
Pandas
- import pandas as pd
Numpy
- import numpy as np
Matplotlib
- import matplotlib.pyplot as plt
- ์ฃผ์ด์ง ์๋ฃ๋ฅผ ํ๋กฏ ๋๋ ์ฐจํธ๋ก ์๊ฐํํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Pandas & DataFrame
์ฌ์ฉ๋ฐฉ๋ฒ
- import (์ธ๋ถ ๊พธ๋ฌ๋ฏธ) (์ธ๋ถ๊พธ๋ฌ๋ฏธ).ํจ์๋ช () ์ ํํ๋ก ๋ง์ด ์ฌ์ฉ๋จ
- ’.’์ ์ญํ ์ ‘~์ ๋๋ ๋์, ์ก์ ’์ ์๋ฏธํฉ๋๋ค
- ์ฝ๊ธฐ : pd.read_excel(’ํ์ผ๋ช .xlsx’) or pd.read_csv(’ํ์ผ๋ช .csv’, engine = ‘python’) ๋ค์ ‘engine’์ ๋ฐ์ดํฐ์ ๊นจ์ง์ ๋ฐฉ์ง
- ์์ฑ : DataFrame ํ์ฑ๋ฐฉ๋ฒ
- ์ด ์ ๋ชฉ์ key, ๊ฐ์ value๋ก ๊ฐ๋ dictionary๋ฅผ ๋ง๋ค ์ ์์
- ๊ฐ ํ์ ๊ฐ๋ณ ์์๋ก ๊ฐ๋ lsit๋ก ๋ง๋ค ์ ์์
’]) ์ ํํ๋ก ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ , df = pd.DataFrame((๋ฆฌ์คํธ๋ช ), columns = [’~~~’])๋ก ์ง์ ํด์ค ํ ์ถ๋ ฅ, - ‘loc’, ‘iloc’๋ฅผ ์ด์ฉํ ๊ฐ ์ ํ
- df.loc[[ํ],[์ด]]๊ณผ ๊ฐ์ ๋ฌธ๋ฒ์ผ๋ก ์ฌ์ฉ
- ํ ๋ช ์นญ๊ณผ ์ด ๋ช ์นญ์ ์ด์ฉํด ๊ฐ ์ถ์ถ ๊ฐ๋ฅ
- ์ฌ๋ผ์ด์ฑ ๊ธฐ์ ๋ ์ฌ์ฉํ ์ ์๋๋ฐ, ๊ทธ๋ด ๊ฒฝ์ฐ์๋ ๊ตณ์ด ๋ฐ๊นฅ์ []๋ฅผ ์ถ๊ฐํ ํ์๊ฐ ์์ด์. ํ ๋ฉ์ด๋ฆฌ ์ทจ๊ธํจ
- ๋ช ์นญ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ด loc, ์ซ์๋ก๋ง ํ๋๊ฒ์ iloc
- ๋ช ์นญ๋ง์ ๊ฐ์ ธ์ค๋ loc ํน์ฑ์, ์ฌ๋ผ์ด์ฑ์ ํ์ ๋ ์ด์ ๋ฏธ๋ง ๊ฐ๋ ์ด ์ ์ฉ๋์ง ์์
- iloc๋ loc ์ฐจ์ด๋ ์ซ์๋ ๋ฌธ์๋ ์ฐจ์ด๋ก, ‘์ฌ๋ผ์ด์ฑ’ํ ๋ ๋ฒ์ ์ค ์ ์กฐ์ฌํด์ผํจ
- ๊ฐ์ ์ง๋ชฉํด์ ์์จ ์ ์์
- Drop
- ํ์ด๋ ์ด์ ์์ ํ ์์ ๋ ๊ฒ
- (๋ช ์นญ).drop(์์จ ํ ๋๋ ์ด, axis = (0 or 1))์ ํํ๋ก, 0์ x, 1์ y๋ฅผ ์๋ฏธํจ
- ๊ฐ์ ์๋ ๋ณ์์ ๋ฃ์ด์ค์ผํจ
- ํ์ ์์จ ๊ฒฝ์ฐ, index ๋ฒํธ๋ก / ์ด์ ์์จ ๊ฒฝ์ฐ ‘์ด๋ฆ’์ผ๋ก
- concat
- ํ, ์ด์ ๋ถ์ด๊ธฐ ์ํ concat
- pd.concat([df1, df2], axis = 1)์ ํํ๋ก ์ด๋ฃจ์ด์ง
- ๋ง์ฝ ํ์ ๋ถ์ผ ๊ฒฝ์ฐ์๋, axis = 0์ผ๋ก, reset_index(drop = True)๋ก ์ธ๋ฑ์ค๋ฅผ ์ฌ์ ์ ํด์ค์ผํจ
- ์ด์ ๊ฒฝ์ฐ์๋ !! df[’’] = [’’]์ ํํ๋ก ์ถ๊ฐํ ์ ์๋๋ฐ, ์ด์ ํ์คํ ์ง์ ํ๋ ๊ฒฝ์ฐ์ ๊ฐ๋ฅ
- ํ์ ๊ฒฝ์ฐ์๋ !! df.loc[3] = [’’]์ ํํ๋ก ์ถ๊ฐํ ์ ์์ด!!!
- merge
- ํค ๊ฐ์ ์ด์ฉํ merge df1.merge(df2, how = ‘left’, on = ‘์ด๋ฆ’) → ‘์ด๋ฆ์ key๋ก ํ์ฌ merge’
- key ๊ฐ๋ค์ ์์๊ฐ ๋ฌ๋ผ๋ ์๋์ผ๋ก ์ ๋ฆฌํด์ ๋ฃ์ด์ค
- ์ฌ๋ฌ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋ ๊ฐ๋ค์ ๋ฝ๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ค
- df[’’]์ ๊ฐ์ ๊ฑธใน ์ง์ ํ ํ, ์กฐ๊ฑด ( > < = ) ๋ฑ์ ์ด์ฉํด์ condition์ ์ ํด์ฃผ๊ณ , &(and) |(or) ๊ณผ ๊ฐ์ ๊ธฐํธ๋ฅผ ์ฌ์ฉํด ๋ฌถ์ด์ ์ ๋ฆฌํฉ๋๋ค.
- ๊ธฐ์ค์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํ๋ ๋ฐฉ๋ฒ
- df.sort_values(by = ‘’, ascending = True(or False) )๋ฅผ ์ด์ฉํจ
๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ
Matplotlib
- ์ฃผ์ด์ง ์๋ฃ๋ฅผ ํ๋กฏ ํน์ ์ฐจํธ๋ก ์๊ฐํํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- import matplotlib.pyplot as plt
seaborn
- ๋ณด๋ค ๊ฐ๋ ฅํ ์๊ฐ์ ํจ๊ณผ๊ณผ ๋์ฑ ๋ค์ํ ์ข ๋ฅ์ ๋์์ ์ ๊ณตํ๋ ์๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- import seaborn as sns
- *** df.plot(kind = ‘bar’)์ ํํ์์, sns.countplot(์์ธ์ ๋ณด)***์ ํํ๋ก ๋ฌธ๋ฒ์ด ๋ฐ๋๋๋ค.
๋ฐ์ํ