๐ dataframe๋ด์ data๋ฅผ ์์ ์์ฌ๋ก ๋๋์ด ๊ฐ๋ค ๋ถ์ด๊ณ , ๋ค์ด ์๋ ๊ฒ list๋ฉด ๋ฐ๋ก ๋ฝ์๋ด์ ๊ฐ๋ค ๋ถ์ด๊ณ ์ถ๋ค๋ฉด..?
→ ์ฆ, dataframe ์์ฒด๋ฅผ ์์ ์์ฌ๋ก ์ถ๊ฐ ์ ๋ณด๋ฅผ ๋ถ์ฌ ํ๋ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ! ←
1. EXPANDING(1) - splitting a string into MULTIPLE COLUMNS
Q) column ๋ด์ string ๋ฌธ์์ด์ ์ผ์ ๊ธฐ์ค์ผ๋ก ๋๋์ด ๊ธฐ์กด dataframe์ ๊ฐ๋ค ๋ถ์ด๊ณ ์ถ์ผ๋ฉด?
A) .column_name.str method๋ฅผ ํ์ฉํ์ฌ split ์ ์ฉ → expand = True
df = pd.DataFrame({'name': ['Ryan Murphy Kim', 'Jane Doe Rhondall'],
'location': ['Los Angeles, CA', 'Washington, DC']})
→ df[[]] ์ด์ค์ผ๋ก ์๋ก์ด ์ธ columns๋ฅผ ๋ง๋ค๊ณ ' '์ ์ํด ๋๋์ด ๊ฐ๋ค ๋ถ์ธ๋ค
df[['first', 'middle', 'last']] = df.name.str.split(' ', expand = True)
(๋ค์ [0] [1] ๋ฑ๋ฑ locate ํด์ ์ผ๋ถ๋ง ๋นผ์ ๋ถ์ผ ์๋ ์๋ค)
- ์ธ column ๋ถ์ด๊ธฐ ์์ฑ! -
2. EXPANDING(2) - expanding a Series of lists into a DATAFRAME
Q) column๋ด์ nested๋์ด ์๋ list ์์๋ฅผ ๋นผ์ ๋ถ์ด๋ ๋ฐฉ๋ฒ?
A) ์ฝ๊ฒ pd.Series ํ์ฉํ๊ธฐ (apply ์ ์ฉ)
df = pd.DataFrame({'col_one': ['a', 'b', 'c'],
'col_two': [[10,40], [20,50], [30,60]]})
→ ์ํ๋ column col_two์์ pd.Series๋ฅผ ํ์ฉํ๋ค (list๋ด์ ์์๋ค์ Seriesํํ๋ก ๋ณํํด ๊ฐ๋ณ column๋ค๋ก ๋ง๋ค์ด์ค!)
df_new = df.col_two.apply(pd.Series)
→ concat์ผ๋ก ๊ฐ๋ค ๋ถ์ด๋ฉด ์์ฑ!
(**** concat ๊ด๋ จ ํฌ์คํ ์๋ ์ฐธ์กฐ ↓↓↓↓↓↓ ****)
pd.concat([df, df_new], axis='columns')
- 0๊ณผ 1 column๋ค์ด ์์ฑ๋จ! -
- dataframe ๊ฐ๋ค ๋ถ์ด๊ธฐ ๋ -
* ์ถ์ฒ) https://youtu.be/RlIiVeig3hc
๋๊ธ