๋ชฉํ ์ค์
- 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, ...])
- ์ง์ ํ ํน์ ์ธ๋ฑ์ค ๋ฐ ์ปฌ๋ผ์ ์ ๊ฑฐํ ์ ์์
- ํด๋น ๊ฐ์ ์ดํ์๋ ์ฌ์ฉํ๋ ค๋ฉด, ๋ณ์์ ํ ๋นํด ์ฃผ์ด์ผ ํ๋ค.