Pandas 2
Groupby
โข
SQL groupby ๋ช
๋ น์ด์ ๊ฐ์
โข
split โ apply โ combine
โข
๊ณผ์ ์ ๊ฑฐ์ณ ์ฐ์ฐ
โข
ํ ๊ฐ ์ด์์ column์ ๋ฌถ์ ์ ์์
Hierarchical index
โข
Groupby ๋ช
๋ น์ ๊ฒฐ๊ณผ๋ฌผ๋ ๊ฒฐ๊ตญ์ dataframe
โข
๋ ๊ฐ์ column์ผ๋ก groupbt๋ฅผ ํ ๊ฒฝ์ฐ, index๊ฐ ๋ ๊ฐ ์์ฑ
unstack()
โข
group ์ผ๋ก ๋ฌถ์ฌ์ง ๋ฐ์ดํฐ๋ฅผ matrix ํํ๋ก ์ ํํด์ค
swaplevel
โข
Index lovel์ ๋ณ๊ฒฝํ ์ ์์
operations
โข
Index level์ ๊ธฐ์ค์ผ๋ก ๊ธฐ๋ณธ ์ฐ์ฐ ์ํ ๊ฐ๋ฅ
Groupby
gropued
โข
groupby์ ์ํด split ๋ ์ํ๋ฅผ ์ถ์ถ ๊ฐ๋ฅํจ
โข
ํน์ key๊ฐ์ ๊ฐ์ง ๊ทธ๋ฃน์ ์ ๋ณด๋ง ์ถ์ถ ๊ฐ๋ฅ
โข
์ถ์ถ๋ group ์ ๋ณด์๋ ์ธ๊ฐ์ง ์ ํ์ apply ๊ฐ ๊ฐ๋ฅํจ
โข
Aggregation - ์์ฝ๋ ํต๊ณ์ ๋ณด๋ฅผ ์ถ์ถ
โฆ
ํน์ ์ปฌ๋ผ์ ์ฌ๋ฌ๊ฐ์ function์ Apply ํ ์๋ ์์
โฆ
ํ๋ฒ์ ํต๊ณ์น๋ฅผ ๋ณด์ฌ์ค ๋ ์ ์ฉ
โฆ
ํ๋์ ํ์
์ ๋ํด์๋ ๋ค์ํ ๊ฐ์ ์ถ์ถํ ์ ์๋ค
โข
Transformation - ํด๋น ์ ๋ณด๋ฅผ ๋ณํ
โฆ
Aggregation ๊ณผ ๋ฌ๋ฆฌ key๊ฐ ๋ณ๋ก ์์ฝ๋ ์ ๋ณด๊ฐ ์๋๋ค
โฆ
๊ฐ๋ณ ๋ฐ์ดํฐ์ ๋ณํ์ ์ง์
โฆ
๋จ max๋ min์ฒ๋ผ series ๋ฐ์ดํฐ์ ์ ์ฉ๋๋ key ๊ฐ์ ๊ธฐ์ค์ผ๋ก grouped ๋ ๋ฐ์ดํฐ ๊ธฐ์ค
โข
Filtration - ํน์ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ์ฌ ๋ณด์ฌ์ฃผ๋ ํํฐ๋ง ๊ธฐ๋ฅ
โฆ
filter ์์๋ boolean ์กฐ๊ฑด์ด ์กด์ฌํด์ผํจ
โฆ
len(x) ๋ grouped ๋ dataframe ๊ฐ์
Data
โข
์๊ฐ๊ณผ ๋ฐ์ดํฐ ์ข
๋ฅ๊ฐ ์ ๋ฆฌ๋ ํตํ๋ ๋ฐ์ดํฐ
Pivot table
โข
Index ์ถ์ groupby ์ ๋์ผ
โข
Column์ ์ถ๊ฐ๋ก labelling ๊ฐ์ ์ถ๊ฐํ์ฌ,
โข
Value ์ numeric type ๊ฐ์ aggregation ํ๋ ํํ
Crosstab
โข
ํนํ ๋ ์นผ๋ผ์ ๊ต์ฐจ๋น๋, ๋น์จ, ๋ง์
๋ฑ์ ๊ตฌํ ๋ ์ฌ์ฉ
โข
Pivot table์ ํน์ํ ํํ
โข
User-Item Rating Matrix ๋ฑ์ ๋ง๋ค ๋ ์ฌ์ฉ๊ฐ๋ฅ
Merge & Concat
Merge
โข
SQL ์์ ๋ง์ด ์ฌ์ฉํ๋ Merge ์ ๊ฐ์ ๊ธฐ๋ฅ
โข
๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ํฉ์นจ
โข
pd.merge(df_a, df_b, on=โsubject_idโ)
โข
pd.merge(df_a, df_b, left_on=โsubject_idโ, right_on=โsubject_idโ)
โข
Left join
โฆ
pd.merge(df_a, df_b, on=โsubject_idโ, how=โleftโ)
โข
Right join
โฆ
pd.merge(df_a, df_b, on=โsubject_idโ, how=โrightโ)
โข
Inner join
โฆ
pd.merge(df_a, df_b, on=โsubject_idโ, how=โinnerโ)
Concat
DB Persistence
Database connection
โข
Data loading ์ db connection ๊ธฐ๋ฅ์ ์ ๊ณตํจ
XLS Persistence
โข
Dataframe ์ ์์
์ถ์ถ ์ฝ๋
โข
xls ์์ง์ผ๋ก openpyxls ๋๋ xlsWrite ์ฌ์ฉ
Pickle Persistence
โข
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ python ํ์ผ persistence
โข
to_pickle, read_pickle ํจ์ ์ฌ์ฉ