
Pandas ๋ Numpy ๊ธฐ๋ฐ์์ ๊ฐ๋ฐ๋์ด ๋ค์ฐจ์์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ค.
ํ๋ง๋๋ก ์ฝ๋ฉํด์ ์ฐ๋ ์์
ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ํํํ ์ ์๋ค.
๋น ๋ฅด๊ณ ํจ์จ์ ์ด๋ฉฐ ๋ค์ํ ํํ๋ ฅ์ ๊ฐ์ถ ์๋ฃ๊ตฌ์กฐ.
์ค์ธ๊ณ ๋ฐ์ดํฐ ๋ถ์์ ์ํด ๋ง๋ค์ด์ง ํ์ด์ฌ ํจํค์ง
๋ค์ํ ํํ์ ๋ฐ์ดํฐ์ ์ ํฉ
์ด์ข
์๋ฃํ์ ์ด์ ๊ฐ์ง ํ
์ด๋ธ ๋ฐ์ดํฐ
์๊ณ์ด ๋ฐ์ดํฐ
๋ ์ด๋ธ์ ๊ฐ์ง ๋ค์ํ ํ๋ ฌ ๋ฐ์ดํฐ
๋ค์ํ ๊ด์ธก ํต๊ณ ๋ฐ์ดํฐ
ํต์ฌ๊ตฌ์กฐ
์๋ฆฌ์ฆ: 1์ฐจ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ํ๋์ ์ด
๋ฐ์ดํฐํ๋ ์ : ๋ณต์์ ์ด์ ๊ฐ์ง 2์ฐจ์ ๋ฐ์ดํฐ
ํ๋ค์ค๊ฐ ์ ํ๋ ์ผ
๊ฒฐ์ธก ๋ฐ์ดํฐ ์ฒ๋ฆฌ
๋ฐ์ดํฐ ์ถ๊ฐ ์ญ์ (์๋ก์ด ์ด์ ์ถ๊ฐ, ํน์ ์ด์ ์ญ์ ๋ฑ)
๋ฐ์ดํฐ ์ ๋ ฌ๊ณผ ๋ค์ํ ๋ฐ์ดํฐ ์กฐ์
import pandas as pd
import numpy as np
# ํ๋์ ์ด์ ๊ตฌ์กฐ, ์๋์ผ๋ก ์์ธ ์์ฑ
pd.Series(data)
# index ์ ๋ณด
data.index
dic = {'์ด๋ฆ':['๊น์์','๊น์์ ','๋ฐ๋์ค'], '๋์ด':[19,23,22]}
data = pd.DataFrame(dic)
data1 = [['๊น์์',19],['๊น์ง์',20]]
data = pd.DataFrame(data1,columns=['์ด๋ฆ','๋์ด'])
data = pd.DataFrame(data1, index=['์','ํฌ'],columns=['์ด๋ฆ','๋์ด'])
# ์ปฌ๋ผ ์ถ๋ ฅ
data.columns
# ์ ๋ณด ์ถ๋ ฅ
data.info()
# ํ,์ด์ ๊ฐ์ ์ด์ฉํ์ฌ ์ถ๋ ฅ
data.loc[[์ธ๋ฑ์ค,์ธ๋ฑ์ค],['์ปฌ๋ผ','์ปฌ๋ผ']]
# ํ,์ด ์์น ๊ฐ์ ์ด์ฉํ์ฌ ์ถ๋ ฅ
data.iloc[:,0:1]
# unique ๊ฐ ์ถ๋ ฅ
data['์ปฌ๋ผ'].unique()
np.unique(data['์ปฌ๋ผ'],return_counts=True)
data.drop([์ธ๋ฑ์ค,์ธ๋ฑ์ค])
data.drop(['์ปฌ๋ผ','์ปฌ๋ผ'])
data.drop(['์ปฌ๋ผ','์ปฌ๋ผ'],axis=1)
data.drop(['์ปฌ๋ผ','์ปฌ๋ผ'],axis=1,inplace=True) # ๋ฐ์ดํฐ์ ์ค์ ์ ์ฉ
# ๊ฒฐ์ธก ๊ฐ ์ถ๋ ฅ
data.isna()
data.isnull()
# ํ๋๋ผ๋ NaN ๊ฐ์ด ์๋ค๋ฉด True
data.isna().any()
# NaN ๊ฐ ์ ๊ฑฐ
data.dropna(axis=0)
data.dropna(axis=1)
data.dropna(axis=1,how = 'any')
data.dropna(axis=1,how = 'all')
# NaN ๊ฐ ์ฑ์ฐ๊ธฐ
data.fillna(value=0,method='backfill') # ffill
# data ํฉ
data.sum()
#cov/corr
# ํต๊ณ
data.describe()
# ์ ๋ ฌ
data.sort_values(by=[],axis=1,ascending=False,ignore_index=True)
# ๋น๊ต์ฐ์ฐ
data['์ปฌ๋ผ'] >= 100
data[data1&data2]
pd.read_table(path,sep='\t')
pd.read_csv(path,sep=',')
data.to_csv(path)
# ์กฐ์ธ
pd.merge(a,b,on='์ปฌ๋ผ',how='inner')
a.merge(b,on='์ปฌ๋ผ',how='inner')
# key ์ง์
pd.merge(a,b,left_on='lkey',right_on='rkey',how='inner',suffixes=['_left','_right'])
pd.merge(a,b,on='key',how='inner') # left,right,outer
pd.merge(a,b,left_index=True,right_index=True,how='outer')
# Numpy ๋ณํฉ
np.concatenate((a,b),axis=1)
# Pandas ๋ถ์ด๊ธฐ
pd.concat([a,b],axis=0)
pd.concat([a,b],axis=1,'inner',ignore_index=False)
# ์ค๋ณต ์ฐพ๊ธฐ
data.duplicated(keep='last') # ๋ง์ง๋ง ๋จ๊ฒจ๋
data.duplicated(keep=False)
# ์ปฌ๋ผ ์ง์ ์ค๋ณต ์ฐพ๊ธฐ
data.duplicated(subset=['์ปฌ๋ผ'])
# ์ค๋ณต ์ ๊ฑฐ
data.drop_duplicates(keep='first')
# ์ค๋ณต ์ ๋ถ ์ ๊ฑฐ
data.drop_duplicates(keep=False)
# ๊ฐ๋ณ์
pd.get_dummies(data)
pd.get_dummies(df['์ปฌ๋ผ1'],prefix='์ปฌ๋ผ2)
# ๊ทธ๋ฃน์ง๊ธฐ
data.groupby('์ปฌ๋ผ')
data.groupby(['์ปฌ๋ผ','์ปฌ๋ผ'])
# ๋ฉํฐ ์ธ๋ฑ์ค
data.xs(key=100,level='์ปฌ๋ผ')