Pandas (6)

tino-kimยท2022๋…„ 1์›” 4์ผ
0
post-thumbnail

๐Ÿฅด Pandas (6)

๐Ÿ“Œ Pivot Table

๋‚ด๊ฐ€ ๋ฝ‘์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์นผ๋Ÿผ์„ ํ–‰๊ณผ ์—ด๋กœ ์„ค์ •ํ•ด์„œ ์กฐํšŒํ•˜๊ณ  ์‹ถ์€ ๊ฐ’์„ ์ฐพ์•„์„œ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค.

  • index์™€ columns๋Š” ๋ถ„๋ฅ˜์˜ ๊ธฐ์ค€์ด๋‹ค.
  • values๋Š” ์กฐํšŒํ•˜๊ณ  ์‹ถ์€ ๊ฐ’๋“ค์ด๋‹ค.
 pd.pivot_table(df, index='๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์นผ๋Ÿผ', columns='๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์นผ๋Ÿผ', 
 values='๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์นผ๋Ÿผ')

๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฒน์น˜๋Š” ๊ฐ’์ด ์žˆ์œผ๋ฉด ํ‰๊ท ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋‹ค.

pd.pivot_table(df, index='๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์นผ๋Ÿผ', columns='๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์นผ๋Ÿผ', 
values='๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์นผ๋Ÿผ', aggfunc=np.sum)
# aggfunc์„ ์ด์šฉํ•˜์—ฌ ํ‰๊ท ์„ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹ ์— ์ดํ•ฉ์„ ์ถœ๋ ฅํ•˜๋„๋ก ํ•ด์ค€๋‹ค.

๐Ÿ“Œ GroupBy

๊ทธ๋ฃน ๋ณ„๋กœ ๋‚˜๋ˆ ์„œ ํ†ต๊ณ„๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

df.groupby("์›ํ•˜๋Š” ์นผ๋Ÿผ").์•Œ์•„๋‚ด๊ณ  ์‹ถ์€ ํ†ต๊ณ„๊ฐ’ ๋ฉ”์†Œ๋“œ ๋ถ™์—ฌ์ฃผ๊ธฐ
ex. df.groupby("์†Œ์†์‚ฌ").count()
# ํŠน์ • ์—ด๋งŒ ๊บผ๋‚ด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ
df.groupby("์›ํ•˜๋Š” ์นผ๋Ÿผ")["์›ํ•˜๋Š” ์—ด"].์•Œ์•„๋‚ด๊ณ  ์‹ถ์€ ํ†ต๊ณ„๊ฐ’ ๋ฉ”์†Œ๋“œ ๋ถ™์—ฌ์ฃผ๊ธฐ

๐Ÿ“Œ Multi Index

groupbyํ•˜๋Š” ๊ฒฝ์šฐ์— ์ธ๋ฑ์Šค๋ฅผ 2๊ฐœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์— ์ด์šฉํ•œ๋‹ค.
์ˆœ์„œ๋„ ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๋‹ค.

df.groupby(["์›ํ•˜๋Š” ์นผ๋Ÿผ1", "์›ํ•˜๋Š” ์นผ๋Ÿผ2"]).์•Œ์•„๋‚ด๊ณ  ์‹ถ์€ ํ†ต๊ณ„๊ฐ’ ๋ฉ”์†Œ๋“œ ๋ถ™์—ฌ์ฃผ๊ธฐ
# ์ˆœ์„œ๋„ ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๋‹ค
  • multi-index ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์„ pivot table๋กœ๋„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
df.groupby(["์›ํ•˜๋Š” ์นผ๋Ÿผ1", "์›ํ•˜๋Š” ์นผ๋Ÿผ2"]).์•Œ์•„๋‚ด๊ณ  ์‹ถ์€ ํ†ต๊ณ„๊ฐ’ ๋ฉ”์†Œ๋“œ ๋ถ™์—ฌ์ฃผ๊ธฐ
df.unstack("ํ’€์–ด๋ฒ„๋ฆฌ๊ณ  ์‹ถ์€ ์นผ๋Ÿผ")
  • multi-index ๋ฅผ ๋ชจ๋‘ ํ’€์–ด๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค.
    cf. groupby๋กœ ์š”์•ฝ๋œ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์„ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์— ์ด์šฉํ•˜๋ฉด ์œ ์šฉํ•˜๋‹ค.
df.reset_index()

๐Ÿ˜€ ๋งˆ๋ฌด๋ฆฌ...

  • pivot_table
  • groupby
  • multi index
    unstack
    reset_index()

๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ํ•˜๋Š” ๊ฒฝ์šฐ์— ๊ต‰์žฅํžˆ ๋งŽ์ด ์ด์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ž˜ ์•Œ์•„๋‘๊ธฐ~!

profile
์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์›น ๊ฐœ๋ฐœ๊ณผ ๋ฐ์ดํ„ฐ ๊ณผํ•™์„ ๊ณต๋ถ€ํ•˜๋Š” ๋Œ€ํ•™์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€