[Pandas] sorting, reindexing, renaming - Cheat Sheet๐Ÿ”ฅ

Jaeyoungยท2022๋…„ 10์›” 25์ผ
0
post-thumbnail

๋ชฉํ‘œ ์„ค์ •

  • Pandas Cheat Sheet ์—์„œ ๋ฐ์ดํ„ฐ ์žฌ๊ตฌ์กฐํ™” ๋ถ€๋ถ„ ํ•™์Šตํ•˜๊ธฐ
  • ํ•™์Šต ๋ถ€๋ถ„
    • Reshaping Data - Change layout, sorting, reindexing, renaming
      • sort_values
      • rename
      • sort_index
      • reset_index
      • drop

๋ฐ์ดํ„ฐ ์ •๋ ฌ

df.sort_values(by=์ปฌ๋Ÿผ๋ช…, ascending=False)

  • ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ๊ฐ’์„ ์ •๋ ฌ (ํ–‰์„ ๊ธฐ์ค€)
  • ascending=False ๋ฅผ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์œผ๋ฉด, ๊ธฐ๋ณธ๊ฐ’์ธ ์ž‘์€ ๊ฐ’ -> ํฐ ๊ฐ’ (์˜ค๋ฆ„์ฐจ์ˆœ) ์ •๋ ฌ
  • ascending=True ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด, ํฐ ๊ฐ’ -> ์ž‘์€ ๊ฐ’ (๋‚ด๋ฆผ์ฐจ์ˆœ) ์ •๋ ฌ
  • ํ•ด๋‹น ๊ฐ’์„ ์ดํ›„์—๋„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • ๋งŒ์•ฝ ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ๊ฐ’์ด A, b, C, d ์ฒ˜๋Ÿผ ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋ฉด?
    • key ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด ๋จ!
    • ์˜ˆ : df.sort_value(by="์ปฌ๋Ÿผ๋ช…", key=lambda x: x.str.lower())



์ธ๋ฑ์Šค ๋ฐ ์ปฌ๋Ÿผ๋ช… ๋ณ€๊ฒฝ

df.rename(index={์ด์ „์ธ๋ฑ์Šค๋ช…: ๋ฐ”๊ฟ€์ธ๋ฑ์Šค๋ช…, ...}, columns={์ด์ „์ปฌ๋Ÿผ๋ช…: ๋ฐ”๊ฟ€์ปฌ๋Ÿผ๋ช…, ...})

  • index ์ด๋ฆ„ ๋ฐ”๊ฟ€ ๋•, index ๋งŒ ์‚ฌ์šฉ!
  • columns ์ด๋ฆ„ ๋ฐ”๊ฟ€ ๋•, columns ๋งŒ ์‚ฌ์šฉ!
  • ๋ณ€๊ฒฝ ํ›„ ๋‹ค์‹œ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ด ์ฃผ์–ด์•ผ ์ €์žฅ๋œ๋‹ค.
    • ์˜ˆ : df = df.rename(columns={"์—ฐ๋„์ •๋ณด": "์—ฐ๋„"})
    • ์—ฐ๋„์ •๋ณด ๋ผ๋Š” ์ปฌ๋Ÿผ๋ช…์„ ์—ฐ๋„๋กœ ๋ฐ”๊ฟ€ ๋•Œ, ๋‹ค์‹œ df์— ์ €์žฅํ•ด ์ฃผ์–ด์•ผ ํ•จ


์ธ๋ฑ์Šค ์ •๋ ฌ

df.sort_index()

  • ์œ„ ์ฝ”๋“œ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด, ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ (์ธ๋ฑ์Šค๊ฐ’ ๊ธฐ์ค€)
  • ascending=False ์ถ”๊ฐ€ ์‹œ, ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
  • ํ•ด๋‹น ๊ฐ’์„ ์ดํ›„์—๋„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • ๋งŒ์•ฝ ์ธ๋ฑ์Šค ๊ฐ’์ด A, b, C, d ์ฒ˜๋Ÿผ ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋ฉด?
    • key ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด ๋จ!
    • ์˜ˆ : df.sort_index(key=lambda x: x.str.lower())


์ธ๋ฑ์Šค ์ •๋ ฌ ์ดˆ๊ธฐํ™”

df.reset_index()

  • ์œ„ ์ฝ”๋“œ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด, ๊ธฐ์กด์— ์ธ๋ฑ์Šค๋กœ ์ €์žฅ๋˜์–ด์žˆ๋˜ ๊ฐ’๋“ค์ด index๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ์ปฌ๋Ÿผ์œผ๋กœ ์ƒ์„ฑ๋˜๊ณ , ์ธ๋ฑ์Šค๊ฐ’์€ 0 ~ ์ •์ˆ˜๋กœ ๋ณ€ํ•œ๋‹ค.
  • ๊ธฐ์กด ์ธ๋ฑ์Šค ๊ฐ’์„ 0 ~ ์ •์ˆ˜๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๋ ค๋ฉด, drop=True ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.
  • ํ•ด๋‹น ๊ฐ’์„ ์ดํ›„์—๋„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.


ํŠน์ • ์ธ๋ฑ์Šค ๋ฐ ์ปฌ๋Ÿผ ์ œ๊ฑฐ

df.drop(index=[์ธ๋ฑ์Šค๋ช…1, ์ธ๋ฑ์Šค๋ช…2, ...], columns=[์ปฌ๋Ÿผ๋ช…1, ์ปฌ๋Ÿผ๋ช…2, ...])

  • ์ง€์ •ํ•œ ํŠน์ • ์ธ๋ฑ์Šค ๋ฐ ์ปฌ๋Ÿผ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Œ
  • ํ•ด๋‹น ๊ฐ’์„ ์ดํ›„์—๋„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
profile
๋ฐ์ดํ„ฐ ๋ถ„๋ฆฐ์ด:)

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