/////
Search
Duplicate

Pandas 2

์ƒ์„ฑ์ž
๋ถ„๋ฅ˜
ํŒŒ์ด์ฌ
์ƒ์„ฑ์ผ
2022/06/06 14:06

Pandas 2

ch3_pandas_2.pdf
3143.2KB

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 ํ•จ์ˆ˜ ์‚ฌ์šฉ