ํ์ด์ฌ ํ๋ค์ค๋ ๋ฐ์ดํฐ ๋ถ์์ ํ์ ๋๊ตฌ์ด์ง๋ง ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋๋ ์๋ ์ ํ๋ก ๊ณ ์ํ๊ธฐ ์ผ์ค์์. ์ค๋ ์๊ฐํ 7๊ฐ์ง ์ต์ ํ ๊ธฐ๋ฒ์ ์ ์ฉํ๋ฉด ์ฒ๋ฆฌ ์๋๋ฅผ 30ํผ์ผํธ ์ด์ ๋จ์ถํ๊ณ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ๊ทน๋ํํ ์ ์์ด์. ์ง๊ธ ๋ฐ๋ก ์ฑ๋ฅ ํ์ ์ ์์ํด ๋ณด์ธ์.
๐ก ํ์ด์ฌ ํ๋ค์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋ 30ํผ์ผํธ ๋จ์ถ๋ฒ
๐ ๋ฐ์ดํฐ ํ์
์ต์ ํ๋ก ๋ฉ๋ชจ๋ฆฌ ํ๋ณดํ๊ธฐ
ํ๋ค์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ ์ปฌ๋ผ์ ํ์
์ ์๋์ผ๋ก ์ถ๋ก ํ๋ ๋๋ํ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ด์. ํ์ง๋ง ์ด ๊ณผ์ ์์ ํ์ ์ด์์ผ๋ก ๋์ ๋ฒ์๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ ํ์
์ ํ ๋นํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ๋ฐ์ํ๊ณค ํด์. ์๋ฅผ ๋ค์ด ์์ฃผ ์์ ์ซ์๊ฐ ๋ค์ด์๋ ์ปฌ๋ผ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก int64 ํ์
์ ์ง์ ํด ๋ฒ๋ฆฌ๋๋ฐ, ์ด๋ ์์คํ
์์์ ๋นํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ์์ธ์ด ๋๋ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ astype ๋ฉ์๋๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ ํ์
์ ๋ช
์์ ์ผ๋ก ๋ณ๊ฒฝํด ์ฃผ๋ ์์
์ด ํ์ํด์. ์ ์ํ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ๊ฐ์ ๋ฒ์์ ๋ฐ๋ผ int32๋ int16์ผ๋ก ์ค์ฌ์ฃผ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ ๋ฐ ๊ฐ๊น์ด ์ค์ผ ์ ์์ด์. ๋ํ ์ค์ํ ๋ฐ์ดํฐ ์ญ์ float64 ๋์ float32๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ฐ๋๋ฅผ ํฌ๊ฒ ํด์น์ง ์์ผ๋ฉด์๋ ์ฒ๋ฆฌ ์๋๋ฅผ ๋์ผ ์ ์๋ ์ฅ์ ์ด ์์ด์.
ํนํ ํ
์คํธ ๋ฐ์ดํฐ ์ค์์ ๊ณ ์ ๊ฐ์ด ๋ฐ๋ณต๋๋ ๊ฒฝ์ฐ์๋ category ํ์
์ ์ฌ์ฉํ๋ ๊ฒ์ด ์์ฃผ ํจ๊ณผ์ ์ด์์. ๋ฌธ์์ด์ ๊ทธ๋๋ก ์ ์ฅํ๋ ๋์ ๋ด๋ถ์ ์ผ๋ก ์ ์ ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ฌด๋ ค 90ํผ์ผํธ ์ด์ ์ ์ฝํ ์ ์๋ ๊ฒฝ์ฐ๋ ๋ง์์. ๋ฐ์ดํฐ ๋ก๋ฉ ์์ ๋ถํฐ dtype ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ํ์
์ ์ง์ ํด ์ฃผ๋ฉด ์ด๊ธฐ ๋ฉ๋ชจ๋ฆฌ ์ ์ ์จ์ ๋ฎ์ถ๋ ๋ฐ ํฐ ๋์์ด ๋๋ต๋๋ค.
์ค์ ๋ก ํต๊ณ์ ๋ฐ๋ฅด๋ฉด ๋ฐ์ดํฐ ํ์
์ ์ ์ ํ ์กฐ์ ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ GB์ ๋ฌํ๋ ๋ฐ์ดํฐ์
์ ์๋ฐฑ MB ์์ค์ผ๋ก ์์ถํ ์ ์์ด์. ์ด๋ ๋จ์ํ ์ ์ฅ ๊ณต๊ฐ์ ๋ฌธ์ ๋ฅผ ๋์ด ์ฐ์ฐ ์๋ ์์ฒด๋ฅผ ๋์ด์ฌ๋ฆฌ๋ ํต์ฌ์ ์ธ ๋ฐ๊ฑฐ๋ฆ์ด ๋ผ์. ํ๋ค์ค 3.0 ์๋์๋ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ค์์ฑ์ด ๋์ฑ ๊ฐ์กฐ๋๊ณ ์์ผ๋ ๊ฐ์ฅ ๋จผ์ ์ค์ฒํด ๋ณด์๊ธธ ๊ถ์ฅํด์.
๐ ๋ฐ์ดํฐ ํ์
๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ฐ ํจ๊ณผ
| ๊ธฐ์กด ๋ฐ์ดํฐ ํ์
|
์ต์ ํ ๋ฐ์ดํฐ ํ์
|
๊ธฐ๋ ํจ๊ณผ |
| int64 / float64 |
int32 / float32 |
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ฝ 50% ๊ฐ์ |
| object (๋ฌธ์์ด) |
category |
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ต๋ 90% ์ด์ ์ ๊ฐ |
⚡ ๋ฒกํฐํ ์ฐ์ฐ์ผ๋ก ์ฒ๋ฆฌ ์๋ ๊ทน๋ํ
ํ์ด์ฌ์ for ๋ฃจํ๋ ์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํ์ง๋ง ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋๋ ์น๋ช
์ ์ธ ์๋ ์ ํ๋ฅผ ์ ๋ฐํ๋ ์ฃผ๋ฒ์ด์์. ํ๋ค์ค๋ ๋ด๋ถ์ ์ผ๋ก ๋ํ์ด(NumPy)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋์ด ์์ด์ ๋ฐฐ์ด ์ ์ฒด๋ฅผ ํ ๋ฒ์ ์ฐ์ฐํ๋ ๋ฒกํฐํ๋ ๋ฐฉ์์ ์ง์ํ๋ต๋๋ค. ์ด๋ ํ์ด์ฌ ๋ ๋ฒจ์ด ์๋ C ์ธ์ด ๋ ๋ฒจ์์ ์ฐ์ฐ์ด ์ํ๋๊ธฐ ๋๋ฌธ์ ๋น๊ตํ ์ ์์ ๋งํผ ๋น ๋ฅธ ์๋๋ฅผ ์๋ํด์.
๋ง์ ์ด๋ณด ๋ถ์๊ฐ๋ค์ด iterrows๋ apply ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ ๋จ์๋ก ์ ๊ทผํ๊ณค ํ๋๋ฐ ์ด๋ ๋งค์ฐ ๋นํจ์จ์ ์ธ ๋ฐฉ์์ด์์. ๋์ ์ปฌ๋ผ๊ณผ ์ปฌ๋ผ์ ์ง์ ์ฐ์ฐํ๋ ๋ฐฉ์์ ์ฌ์ฉํด ๋ณด์ธ์. ์๋ฅผ ๋ค์ด ๊ฐ๊ฒฉ๊ณผ ์๋์ ๊ณฑํด ์ด์ก์ ๊ตฌํ ๋ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ ๋ ์ปฌ๋ผ์ ์ง์ ๊ณฑํด์ฃผ๋ ๊ฒ๋ง์ผ๋ก๋ ์๋ฐฑ ๋ฐฐ ์ด์์ ์ฑ๋ฅ ํฅ์์ ์ฒด๊ฐํ ์ ์์ด์.
๋ฒกํฐํ ์ฐ์ฐ์ ๋จ์ํ ์ฌ์น์ฐ์ฐ์๋ง ๊ตญํ๋์ง ์๊ณ ์กฐ๊ฑด๋ฌธ ์ฒ๋ฆฌ๋ ๋ณต์กํ ์ํ ํจ์ ์ ์ฉ ์์๋ ๊ฐ๋ ฅํ ํ์ ๋ฐํํด์. ํ๋ค์ค์์ ์ ๊ณตํ๋ ๋ด์ฅ ํจ์๋ค์ ๋๋ถ๋ถ ๋ฒกํฐํ๊ฐ ์ต์ ํ๋์ด ์์ผ๋ฏ๋ก ๊ฐ๊ธ์ ์ง์ ๊ตฌํํ๊ธฐ๋ณด๋ค๋ ๋ด์ฅ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ๊ฒ์ด ์ข์์. ์ด๋ฌํ ๋ฐฉ์์ ์ฝ๋์ ๊ฐ๋
์ฑ์ ๋์ฌ์ค ๋ฟ๋ง ์๋๋ผ ์ ์ง๋ณด์ ์ธก๋ฉด์์๋ ํจ์ฌ ์ ๋ฆฌํ ๊ณ ์ง๋ฅผ ์ ํ๊ฒ ํด์ค๋ต๋๋ค.
์ค์ ์ฐ๊ตฌ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด ๋ฒกํฐํ๋ ์ฐ์ฐ์ ์ผ๋ฐ์ ์ธ ํ์ด์ฌ ๋ฃจํ์ ๋นํด 100๋ฐฐ์์ ๋ง๊ฒ๋ 1000๋ฐฐ๊น์ง ๋น ๋ฅธ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค๊ณ ํด์. ๋ฐ์ดํฐ ๋ถ์ ์ค๋ฌด์์ ์ฒ๋ฆฌ ์๋ 30ํผ์ผํธ ๋จ์ถ์ ์ด์ฉ๋ฉด ์์ฃผ ๊ฒธ์ํ ์์น์ผ์ง๋ ๋ชฐ๋ผ์. ๋ฃจํ๋ฅผ ์ ๊ฑฐํ๊ณ ๋ฒกํฐ์ ํ์ ๋น๋ฆฌ๋ ์๊ฐ ์ฌ๋ฌ๋ถ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ํฌํ๋ก์ฐ๋ ์์ ํ ์๋ก์ด ์ฐจ์์ผ๋ก ์งํํ๊ฒ ๋ ๊ฑฐ์์.
๐ ์ฐ์ฐ ๋ฐฉ์๋ณ ์ฑ๋ฅ ๋น๊ต
| ์ฐ์ฐ ๋ฐฉ์ |
ํน์ง |
๊ถ์ฅ ์ฌ๋ถ |
| Python for ๋ฃจํ |
ํ ๋จ์ ๊ฐ๋ณ ์ฒ๋ฆฌ, ๋งค์ฐ ๋๋ฆผ |
๋น๊ถ์ฅ |
| Vectorized ์ฐ์ฐ |
๋ฐฐ์ด ์ ์ฒด ์ผ๊ด ์ฒ๋ฆฌ, C ๊ธฐ๋ฐ ์ต์ ํ |
๊ฐ๋ ฅ ๊ถ์ฅ |
๐ ํ์ํ ๋ฐ์ดํฐ๋ง ์ ํ์ ์ผ๋ก ๋ก๋ํ๋ ๊ธฐ์
๋์ฉ๋ ํ์ผ์ ๋ค๋ฃฐ ๋ ๊ฐ์ฅ ํํ ๋ฒํ๋ ์ค์ ์ค ํ๋๊ฐ ํ์ผ์ ๋ชจ๋ ๋ด์ฉ์ ํ๊บผ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ฒ์ด์์. ์์ญ ๊ฐ์ ์ปฌ๋ผ์ด ์๋ CSV ํ์ผ์์ ์ค์ ๋ก ๋ถ์์ ํ์ํ ์ปฌ๋ผ์ ๋จ ๋ช ๊ฐ๋ฟ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์์๋ ๋ถ๊ตฌํ๊ณ ๋ฌด์์ ์ ์ฒด๋ฅผ ๋ก๋ํ๋ฉด ์์คํ
์ ๊ธ์ธ ๋น๋ช
์ ์ง๋ฅด๊ฒ ๋ผ์. ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์๋ฌ๋ฅผ ํผํ๊ธฐ ์ํ ๊ฐ์ฅ ์ฌ์ด ํด๊ฒฐ์ฑ
์ ํ์ํ ๋ถ๋ถ๋ง ๊ณจ๋ผ๋ด๋ ๊ฒ์ด์์.
pd.read_csv ํจ์๋ฅผ ์ฌ์ฉํ ๋ usecols ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฉํ๋ฉด ๋ก๋ฉ ์์ ๋ถํฐ ํน์ ์ปฌ๋ผ๋ง ์ ํํด์ ๊ฐ์ ธ์ฌ ์ ์์ด์. ์ด๋ ๊ฒ ํ๋ฉด ๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ์ง ์์๋ ๋๋ฏ๋ก ๋ก๋ฉ ์๋๊ฐ ํ๊ธฐ์ ์ผ๋ก ๋นจ๋ผ์ง๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๋ ๊ธ๊ฒฉํ ์ค์ด๋ค๊ฒ ๋ผ์. ์ฒ์๋ถํฐ ๊ฐ๋ฒผ์ด ๋ฐ์ดํฐํ๋ ์์ ๋ง๋๋ ๊ฒ์ด ์ต์ ํ์ ์ฒซ๊ฑธ์์ด๋ผ๊ณ ํ ์ ์์ด์.
๋ํ ๋ฐ์ดํฐ์ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ง ํ์
ํ๊ณ ์ถ์ ๋๋ nrows ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํด ์์ ๋ช ๊ฐ์ ํ๋ง ๋ถ๋ฌ์ค๋ ๊ฒ์ด ํ๋ช
ํด์. ์๋ฐฑ๋ง ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ค ์ฝ์ด ๋ค์ด์ง ์๊ณ ๋ ๋ฐ์ดํฐ ํ์
์ ํ์ธํ๊ฑฐ๋ ์ํ๋ง ๋ถ์์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ด์์. ์ด๋ฌํ ์ต๊ด์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์พ์ ํจ์ ์ ์งํ๋ ๋ฐ ํฐ ๋์์ ์ค๋ต๋๋ค.
์ค๋ฌด์์๋ ์์ญ ๊ธฐ๊ฐ๋ฐ์ดํธ์ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ์ผ์ด ๋น๋ฒํ๋ฐ ์ด๋ ํ์ํ ๋ ์ง์ ํต์ฌ ์งํ ์ปฌ๋ผ๋ง ์ถ์ถํด์ ์ฝ์ด ๋ค์ด๋ ๊ฒ๋ง์ผ๋ก๋ ๋ถ์ ํจ์จ์ด ๊ทน๋ํ๋ผ์. ํ๋ค์ค์ ์ ์ฐํ ๋ก๋ฉ ์ต์
๋ค์ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ๋ค๋ฉด ํ๋์จ์ด์ ํ๊ณ๋ฅผ ๋ฐ์ด๋๋ ๊ธฐ๋ฏผํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง ๊ฑฐ์์. ์์ ์ฐจ์ด๊ฐ ๋ชจ์ฌ ์ ์ฒด ํ๋ก์ ํธ์ ์ฑํจ๋ฅผ ๊ฐ๋ฅธ๋ค๋ ์ ์ ์์ง ๋ง์ธ์.
๐ ํจ์จ์ ์ธ ๋ก๋ฉ ๋งค๊ฐ๋ณ์ ํ์ฉ๋ฒ
| ๋งค๊ฐ๋ณ์ |
๊ธฐ๋ฅ ์ค๋ช
|
ํ์ฉ ํ |
| usecols |
ํน์ ์ปฌ๋ผ๋ง ์ ํํ์ฌ ๋ก๋ |
๋ถ์์ ํ์ํ ํ์ ํญ๋ชฉ๋ง ์ง์ |
| nrows |
๋ถ๋ฌ์ฌ ํ์ ๊ฐ์ ์ ํ |
๋ฐ์ดํฐ ๊ตฌ์กฐ ํ์
๋ฐ ํ
์คํธ์ฉ |
๐งฉ ๋์ฉ๋ ํ์ผ์ ์ํ ์ฒญํฌ ๋จ์ ์ฒ๋ฆฌ๋ฒ
๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ์ด๊ณผํ๋ ๊ฑฐ๋ํ ๋ฐ์ดํฐ์
์ ๋ง์ฃผํ์ ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋ฌด๊ธฐ๋ ๋ฐ๋ก ์ฒญํฌ(Chunk) ๋จ์ ์ฒ๋ฆฌ ๊ธฐ๋ฒ์ด์์. ์ด๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ๋ชจ๋ ์ฝ๋ ๋์ ์ฌ์ฉ์๊ฐ ์ง์ ํ ํฌ๊ธฐ๋งํผ ์กฐ๊ธ์ฉ ๋๋์ด ์ฝ์ด ๋ค์ด๋ ๋ฐฉ์์ด์์. ๋ง์น ์ปค๋ค๋ ์ผ์ดํฌ๋ฅผ ํ์
ํฌ๊ธฐ๋ก ์๋ผ ๋จน๋ ๊ฒ๊ณผ ๊ฐ์ ์๋ฆฌ๋ผ๊ณ ์ดํดํ๋ฉด ์ฌ์์.
pd.read_csv ํจ์์์ chunksize ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ๋ฉด ๋ฐ๋ณต ๊ฐ๋ฅํ(iterable) ๊ฐ์ฒด๊ฐ ๋ฐํ๋ผ์. ์ด๋ฅผ ๋ฃจํ๋ฌธ๊ณผ ๊ฒฐํฉํ๋ฉด ๊ฐ ์กฐ๊ฐ์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋์ ํ๋ ๋ฐฉ์์ผ๋ก ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ์ ์ดํ ์ ์์ด์. 10GB ํฌ๊ธฐ์ ํ์ผ์ด๋ผ๋ 10๋ง ํ์ฉ ๋๋์ด ์ฒ๋ฆฌํ๋ค๋ฉด ์ ์ฌ์ PC์์๋ ์ถฉ๋ถํ ๋ถ์ ์์
์ ์ํํ ์ ์๋ต๋๋ค.
์ฒญํฌ ๋จ์ ์ฒ๋ฆฌ๋ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๊ฒ์ ๊ทธ์น์ง ์๊ณ ๊ฐ ์ฒญํฌ๋ณ๋ก ํํฐ๋ง์ด๋ ์ง๊ณ ์ฐ์ฐ์ ์ํํ ๋ค ์ต์ข
๊ฒฐ๊ณผ๋ง ํฉ์น๋ ๋ฐฉ์์ผ๋ก ํ์ฉ๋ผ์. ์ด๋ ๊ฒ ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ ์ ์จ์ ์ผ์ ์์ค ์ดํ๋ก ์ ์งํ๋ฉด์๋ ๋ฐฉ๋ํ ์์ ์ ๋ณด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์์ฝํ ์ ์์ด์. ์์คํ
์์ ์ฑ์ ๋ณด์ฅํ๋ฉด์๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅ์ผ ํ๋ ํ์์ ์ธ ์ ๋ต์ด์์.
์ ๋ฌธ๊ฐ๋ค์ ํ๋ค์ค๊ฐ 2~3GB ์ ๋์ ๋ฐ์ดํฐ๊น์ง๋ ์ํํ๊ฒ ์ฒ๋ฆฌํ์ง๋ง ๊ทธ ์ด์์ ๋์ด์ค ๋๋ ๋ฐ๋์ ์ฒญํฌ ๋จ์ ์ฒ๋ฆฌ๋ ์ธ๋ถ ๋๊ตฌ์ ๋์์ ๋ฐ์ ๊ฒ์ ๊ถ์ฅํ๊ณ ์์ด์. ๋ฐ์ดํฐ๊ฐ ์ปค์ง์๋ก ๋ฐ์ํ ์ ์๋ ์์คํ
๋ค์ด ํ์์ ๋ฐฉ์งํ๊ณ ์์ธก ๊ฐ๋ฅํ ์ฒ๋ฆฌ ์๊ฐ์ ํ๋ณดํ๊ธฐ ์ํด ์ฒญํฌ ๊ธฐ๋ฒ์ ๊ผญ ์ตํ๋์๊ธธ ๋ฐ๋ผ์. ์ด๋ ๋ฐ์ดํฐ ์์ง๋์ด๋ง ์ญ๋์ ํ ๋จ๊ณ ๋์ฌ์ฃผ๋ ํต์ฌ ๊ธฐ์ ์ด์์.
๐ ์ฒญํฌ ๋จ์ ์ฒ๋ฆฌ ํ๋ก์ธ์ค
| ๋จ๊ณ |
์ฃผ์ ์์
|
์ฌ์ฉ ํจ์/๋งค๊ฐ๋ณ์ |
| ๋ฐ์ดํฐ ๋ถํ ๋ก๋ |
์ง์ ๋ ํ ์๋งํผ ๋ฐ์ดํฐ ์ฝ๊ธฐ |
chunksize=100000 |
| ์์ฐจ์ ์ฐ์ฐ |
๊ฐ ์กฐ๊ฐ๋ณ ํํฐ๋ง ๋ฐ ์ง๊ณ |
for chunk in reader: |
์ฐ๋ฆฌ๊ฐ ํํ ์ฌ์ฉํ๋ CSV ํ์ผ ํ์์ ํ
์คํธ ๊ธฐ๋ฐ์ด๋ผ ์ฌ๋์ด ์ฝ๊ธฐ์๋ ์ข์ง๋ง ์ปดํจํฐ ์
์ฅ์์๋ ์ฝ๊ณ ์ฐ๋ ์๋๊ฐ ๋งค์ฐ ๋๋ฆฐ ํธ์ด์์. ๋ฐ์ดํฐ ์ฉ๋์ด ์ปค์ง์๋ก ํ์ผ์ ํ์ฑํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋๊ฒ ๋์ฃ . ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ ๊ฒ์ด ๋ฐ๋ก Parquet(ํ์ผ์ด)๋ Feather(ํ๋)์ ๊ฐ์ ๋ฐ์ด๋๋ฆฌ ๊ธฐ๋ฐ์ ์ปฌ๋ผ ์งํฅ ์ ์ฅ ํ์์ด์์.
Parquet๋ ๋ฐ์ดํฐ๋ฅผ ์ปฌ๋ผ๋ณ๋ก ์์ถํ์ฌ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ๋์คํฌ ๊ณต๊ฐ์ ํ๊ธฐ์ ์ผ๋ก ์ ์ฝํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ํน์ ์ปฌ๋ผ๋ง ์ฝ์ด์ฌ ๋์ I/O ์๋๊ฐ ์๋์ ์ผ๋ก ๋นจ๋ผ์. ํ๋ค์ค์์๋ to_parquet์ read_parquet ํจ์๋ฅผ ํตํด ์์ฃผ ์์ฝ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ์ ์์ด์. ํ ๋ฒ ๋ณํํด ๋๋ ๊ฒ๋ง์ผ๋ก๋ ์ดํ ๋ชจ๋ ๋ก๋ฉ ์๋๋ฅผ ๋น์ฝ์ ์ผ๋ก ํฅ์์ํฌ ์ ์๋ต๋๋ค.
Feather ํ์์ ๋ํ์ด ๋ฐฐ์ด์ ๊ทธ๋๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋งคํํ๋ ๋ฐฉ์์ด๋ผ ์ฝ๊ธฐ ์๋ ๋ฉด์์๋ Parquet๋ณด๋ค๋ ๋น ๋ฅธ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํด์. ๋ฐ์ดํฐ ๋ถ์์ ์ค๊ฐ ๊ณผ์ ์ ์ ์ฅํ๊ฑฐ๋ ํ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ๋ ๋งค์ฐ ์ ์ฉํ๊ฒ ์ฐ์ฌ์. ํ
์คํธ ๊ธฐ๋ฐ์ CSV์์ ๋ฒ์ด๋ ์ด๋ฌํ ํ๋์ ์ธ ํ์ผ ํ์์ ๋์
ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ ์ฒด ์์
์๊ฐ์ ๋ํญ ์ค์ผ ์ ์์ด์.
์ค์ ๋ก ๋์ฉ๋ ๋ฐ์ดํฐ ํ๊ฒฝ์์๋ ํ์ผ ํ์์ ์ ํ์ด ์ ์ฒด ํ์ดํ๋ผ์ธ์ ์ฑ๋ฅ์ ๊ฒฐ์ ์ง๋ ์ค์ํ ์์๊ฐ ๋ผ์. ๋ฐ์ดํฐ ์์ถ๋ฅ ๊ณผ ์ฝ๊ธฐ ์ฑ๋ฅ ์ฌ์ด์ ๊ท ํ์ ๊ณ ๋ คํ์ฌ ํ๋ก์ ํธ ์ฑ๊ฒฉ์ ๋ง๋ ํ์์ ์ ํํด ๋ณด์ธ์. CSV๋ฅผ ๊ณ ์งํ๊ธฐ๋ณด๋ค Parquet์ ๊ฐ์ ์ต์ ๊ท๊ฒฉ์ ํ์ฉํ๋ ๊ฒ์ด ์ ๋ฌธ๊ฐ๋ค์ด ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ์์์ด์์.
๐ ํ์ผ ํ์๋ณ ์ฑ๋ฅ ๋น๊ตํ
| ํ์ผ ํ์ |
์ฝ๊ธฐ/์ฐ๊ธฐ ์๋ |
์์ถ ํจ์จ |
| CSV |
๋งค์ฐ ๋๋ฆผ |
๋ฎ์ (์์ถ ์์) |
| Parquet |
๋งค์ฐ ๋น ๋ฆ |
๋งค์ฐ ๋์ (์ปฌ๋ผ ๊ธฐ๋ฐ) |
๐ Dask์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ํตํ ํ๊ณ ๊ทน๋ณต
ํ๋ค์ค์ ๊ฐ์ฅ ํฐ ์ ์ฝ ์ค ํ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋จ์ผ CPU ์ฝ์ด๋ง์ ์ฌ์ฉํ๋ค๋ ์ ์ด์์. ์ต์ ์ปดํจํฐ๋ค์ด ๋ฉํฐ ์ฝ์ด ํ๋ก์ธ์๋ฅผ ํ์ฌํ๊ณ ์์์๋ ๋ถ๊ตฌํ๊ณ ํ๋ค์ค๋ง์ผ๋ก๋ ๊ทธ ์์์ ์จ์ ํ ํ์ฉํ๊ธฐ ์ด๋ ต์ฃ . ์ด๋ ๊ตฌ์ํฌ์๋ก ๋ฑ์ฅํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ฐ๋ก Dask(๋ค์คํฌ)์์. Dask๋ ํ๋ค์ค์ ๊ฑฐ์ ๋์ผํ API๋ฅผ ์ ๊ณตํ๋ฉด์๋ ๋ณ๋ ฌ ๋ฐ ๋ถ์ฐ ์ปดํจํ
์ ์๋ฒฝํ๊ฒ ์ง์ํ๋ต๋๋ค.
Dask๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฐ ๋ฐ์ดํฐ์
๋ ์ง์ฐ ํ๊ฐ(Lazy Evaluation) ๋ฐฉ์์ ํตํด ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ด์. ์ฐ์ฐ ๊ณผ์ ์ ๋ฏธ๋ฆฌ ์ ์ํด ๋๊ณ ์ค์ ๊ฒฐ๊ณผ๊ฐ ํ์ํ ์์ ์ ์ฌ๋ฌ ์ฝ์ด์ ์์
์ ๋ถ๋ฐฐํ์ฌ ์คํํ๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ ์๋๊ฐ ํ๊ธฐ์ ์ผ๋ก ๋นจ๋ผ์ ธ์. ๊ธฐ์กด ํ๋ค์ค ์ฝ๋๋ฅผ ํฌ๊ฒ ์์ ํ์ง ์๊ณ ๋ ๋ง์ด๊ทธ๋ ์ด์
์ด ๊ฐ๋ฅํ๋ค๋ ์ ์ด ํฐ ๋งค๋ ฅ์ด์์.
๋ํ ์ต๊ทผ์๋ GPU ๊ฐ์์ ํ์ฉํ๋ RAPIDS cuDF์ ๊ฐ์ ๊ธฐ์ ๋ ์ฃผ๋ชฉ๋ฐ๊ณ ์์ด์. CPU ๋์ ๊ทธ๋ํฝ ์นด๋์ ์์ฒ ๊ฐ ์ฝ์ด๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํจ์ผ๋ก์จ ์์ ์ด์์ ์๋ ํฅ์์ ์ด๋ฃจ์ด๋ผ ์ ์์ฃ . ๋ฐ์ดํฐ ๋ถ์์ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์ด๋ฌํ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋๊ตฌ๋ค์ ๋ํ ์ดํด๋ ์ ํ์ด ์๋ ํ์ ์ญ๋์ด ๋์ด๊ฐ๊ณ ์์ด์.
Dask๋ ๋จ์ผ ๋จธ์ ์์์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ๋์ด ํด๋ฌ์คํฐ ํ๊ฒฝ์์์ ๋ถ์ฐ ์ฒ๋ฆฌ๊น์ง ํ์ฅ ๊ฐ๋ฅํ๋ฏ๋ก ๋น
๋ฐ์ดํฐ ๋ถ์ ํ๊ฒฝ์์๋ ๊ฐ๋ ฅํ ํ์ ๋ฐํํด์. ํ๋ค์ค๋ก๋ ๊ฐ๋นํ๊ธฐ ํ๋ ๊ฑฐ๋ํ ๋ฐ์ดํฐ์ ํ๋ ์์์ Dask๋ผ๋ ์ํ๋ณด๋๋ฅผ ํ์ฉํด ๋ณด์ธ์. ํจ์ฌ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ๋ฐ์ดํฐ์ ๋ฐ๋ค๋ฅผ ํญํดํ ์ ์๊ฒ ๋ ๊ฑฐ์์.
๐ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋๊ตฌ ๋น๊ต
| ๋ผ์ด๋ธ๋ฌ๋ฆฌ |
์ฃผ์ ํน์ง |
๊ถ์ฅ ์ํฉ |
| Pandas |
๋จ์ผ ์ฝ์ด, ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ |
2~3GB ์ดํ ๋ฐ์ดํฐ์
|
| Dask |
๋ฉํฐ ์ฝ์ด ๋ณ๋ ฌ ์ฒ๋ฆฌ, ์ง์ฐ ํ๊ฐ |
๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ ๋์ฉ๋ ๋ฐ์ดํฐ |
๐ ์ธ๋ฑ์ค ์ต์ ํ์ ์ต์ Pandas ํธ๋ ๋
๋ง์ง๋ง์ผ๋ก ์ดํด๋ณผ ์ต์ ํ ํฌ์ธํธ๋ ์ธ๋ฑ์ค(Index)์ ํจ์จ์ ์ธ ๊ด๋ฆฌ์์. ๋ฐ์ดํฐํ๋ ์์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ฑฐ๋ ์ฌ๋ฌ ํ
์ด๋ธ์ ๋ณํฉํ ๋ ์ธ๋ฑ์ค๊ฐ ์ ๋๋ก ์ค์ ๋์ด ์์ง ์์ผ๋ฉด ํ๋ค์ค๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ์ผ์ด ํ์ด์ผ ํด์. ํ์ง๋ง ์์ฃผ ์กฐํ๋๋ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๋ก ์ค์ ํด ๋๋ฉด ๊ฒ์ ์ฑ๋ฅ์ด ๋น์ฝ์ ์ผ๋ก ํฅ์๋๋ต๋๋ค.
set_index ๋ฉ์๋๋ฅผ ํ์ฉํด ์ ๋ ฌ๋ ์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ฑํ๋ฉด ์ด์ง ํ์๊ณผ ๊ฐ์ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ ์์ด ๋ฐ์ดํฐ ์ ๊ทผ ์๋๊ฐ ๋นจ๋ผ์ ธ์. ๋ํ loc๋ at ๋ฉ์๋๋ฅผ ํตํด ์ธ๋ฑ์ค ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ์ต๊ด์ ๋ค์ด๋ ๊ฒ์ด ์ฑ๋ฅ ์ต์ ํ์ ๊ธฐ๋ณธ์ด์์. ์ธ๋ฑ์ค๋ ๋จ์ํ ํ์ ์ด๋ฆํ๊ฐ ์๋๋ผ ๋ฐ์ดํฐ๋ก ํฅํ๋ ๋น ๋ฅธ ๊ณ ์๋๋ก์ ๊ฐ๋ค๋ ์ ์ ๋ช
์ฌํ์ธ์.
2024๋
์์ 2026๋
์ฌ์ด์ ์ต์ ํธ๋ ๋๋ฅผ ์ดํด๋ณด๋ฉด ํ๋ค์ค 3.0์ ๋ฑ์ฅ์ด ๊ฐ์ฅ ํฐ ํ๋์์. ์๋ก์ด ๋ฒ์ ์ Arrow ์์ง์ ๊ธฐ๋ณธ์ผ๋ก ์ง์ํ์ฌ ๋ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ฐ๊ฒฐ๊ณผ ํฅ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฃ . ๋ํ Rust ์ธ์ด๋ก ์์ฑ๋์ด ์๋์ ์ธ ์๋๋ฅผ ์๋ํ๋ Polars(ํด๋ผ์ฆ) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ๋ค์ค์ ๊ฐ๋ ฅํ ๋์์ผ๋ก ๋ถ์ํ๊ณ ์๋ ์ ๋ ์ฃผ๋ชฉํด์ผ ํ ๋ณํ์์.
ํ์ด์ฌ 3.13 ์ด์์ ๋ฒ์ ์์๋ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ง๊ณ ์์ด ํ๋ค์ค ์ํ๊ณ๋ ๊ทธ ์ด๋ ๋๋ณด๋ค ์ญ๋์ ์ผ๋ก ๋ฐ์ ํ๊ณ ์์ด์. ์ด๋ฌํ ๊ธฐ์ ์ ํ๋ฆ์ ํ์
ํ๊ณ ์ต์ ๋๊ตฌ๋ค์ ์ ์ฌ์ ์์ ํ์ฉํ๋ ๋ฅ๋ ฅ์ ํ๋ ๋ฐ์ดํฐ ๋ถ์๊ฐ์๊ฒ ์๊ตฌ๋๋ ํต์ฌ ์์ง์ด์์. ๋์์์ด ๋ณํํ๋ ํ๊ฒฝ ์์์ ์ต์ ํ ๊ธฐ๋ฒ์ ์ฐ๋งํ์ฌ ์ต๊ณ ์ ํผํฌ๋จผ์ค๋ฅผ ๋ด๋ณด์๊ธธ ๋ฐ๋ผ์.
๐ ์ต์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ์ ํธ๋ ๋
| ๊ธฐ์ ํญ๋ชฉ |
์ฃผ์ ๋ณํ ๋ฐ ํธ๋ ๋ |
๊ธฐ๋ ํจ๊ณผ |
| Pandas 3.0 |
Arrow ์์ง ํตํฉ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ฐ์ |
๋์ฉ๋ ์ฒ๋ฆฌ ์์ ์ฑ ํ๋ณด |
| Polars |
Rust ๊ธฐ๋ฐ์ ์ด๊ณ ์ ๋ฐ์ดํฐํ๋ ์ |
Pandas ๋๋น 10~50๋ฐฐ ์๋ ํฅ์ |
๐ก ํ์ด์ฌ ํ๋ค์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋ 30ํผ์ผํธ ๋จ์ถ๋ฒ - ์ถ๊ฐ ์ ๋ณด
❓ FAQ
Q1. ํ๋ค์ค๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์ต๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ ์ผ๋ง์ธ๊ฐ์?
A1. ์ผ๋ฐ์ ์ผ๋ก ๋จ์ผ ๋จธ์ ์์ 2~3GB ์ ๋๊น์ง ์ํํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ด์. ๊ทธ ์ด์์ ์ต์ ํ๊ฐ ํ์์ ์ด์์.
Q2. ๋ฐ์ดํฐ ํ์
์ ์ค์ด๋ฉด ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ์ง ์๋์?
A2. ๋ฐ์ดํฐ์ ๊ฐ ๋ฒ์๋ฅผ ํ์ธํ๊ณ ์ ์ ํ ํ์
์ ์ ํํ๋ฉด ์์ค ์์ด ๋ฉ๋ชจ๋ฆฌ๋ง ์ ์ฝํ ์ ์์ด์.
Q3. category ํ์
์ ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋์?
A3. ์ฑ๋ณ, ์ง์ญ๋ช
, ๋ฑ๊ธ์ฒ๋ผ ๊ณ ์ ๊ฐ์ ๊ฐ์๊ฐ ์ ์ฒด ํ ์์ ๋นํด ์ ์ ๋ฌธ์์ด ์ปฌ๋ผ์ ์ฌ์ฉํ๋ฉด ํจ๊ณผ์ ์ด์์.
Q4. ์ for ๋ฃจํ๋ณด๋ค ๋ฒกํฐํ ์ฐ์ฐ์ด ๋น ๋ฅธ๊ฐ์?
A4. ๋ฒกํฐํ ์ฐ์ฐ์ ๋ด๋ถ์ ์ผ๋ก C ์ธ์ด๋ก ๊ตฌํ๋์ด CPU์ SIMD ๊ธฐ๋ฅ์ ํ์ฉํด ์ผ๊ด ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด์์.
Q5. apply ๋ฉ์๋๋ ์ ๋ ์ฐ๋ฉด ์ ๋๋์?
A5. ๋ฒกํฐํ๋ ํจ์๊ฐ ์๋ ๋ณต์กํ ๋ก์ง์๋ ์ฌ์ฉํด์ผ ํ์ง๋ง ๊ฐ๋ฅํ ํ ์ตํ์ ์๋จ์ผ๋ก ๊ณ ๋ คํ๋ ๊ฒ์ด ์ข์์.
Q6. read_csv์์ usecols๋ฅผ ์ฐ๋ฉด ์ด๋ค ์ ์ด ์ข๋์?
A6. ํ์ํ ์ปฌ๋ผ๋ง ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ๋ฏ๋ก ์ด๊ธฐ ๋ฉ๋ชจ๋ฆฌ ์ ์ ์จ์ ํฌ๊ฒ ๋ฎ์ถ๊ณ ๋ก๋ฉ ์๋๋ฅผ ๋์ฌ์ค์.
Q7. ์ฒญํฌ(Chunk) ์ฌ์ด์ฆ๋ ๋ณดํต ์ผ๋ง๋ก ์ค์ ํ๋์?
A7. ๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ๋ณดํต 1๋ง ํ์์ 10๋ง ํ ๋จ์๋ก ์ค์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์.
Q8. Parquet ํ์์ด CSV๋ณด๋ค ์ข์ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
A8. ์ปฌ๋ผ ๊ธฐ๋ฐ ์ ์ฅ ๋ฐฉ์์ผ๋ก ์์ถ๋ฅ ์ด ๋๊ณ ํ์ํ ๋ฐ์ดํฐ๋ง ๊ณจ๋ผ ์ฝ๋ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ด์์.
Q9. Dask๋ ํ๋ค์ค์ ์ฌ์ฉ๋ฒ์ด ๋ง์ด ๋ค๋ฅธ๊ฐ์?
A9. ํ๋ค์ค API๋ฅผ ๊ฑฐ์ ๊ทธ๋๋ก ๋ชจ๋ฐฉํ๊ณ ์์ด์ ๊ธฐ์กด ์ฌ์ฉ์๋ผ๋ฉด ์์ฃผ ์ฝ๊ฒ ๋ฐฐ์ธ ์ ์์ด์.
Q10. ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ฉด ํญ์ ์๋๊ฐ ๋นจ๋ผ์ง๋์?
A10. ์กฐํ๋ ๋ณํฉ ์ฐ์ฐ์์๋ ๋นจ๋ผ์ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ณ ์ ์งํ๋ ๋ฐ ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์๊ฐ์ด ์์๋ ์ ์์ด์.
Q11. inplace=True ์ต์
์ ์ฑ๋ฅ ํฅ์์ ๋์์ด ๋๋์?
A11. ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋์์. ๋ด๋ถ์ ์ผ๋ก ๋ณต์ฌ๋ณธ์ ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ ํจ๊ณผ๊ฐ ๋ฏธ๋นํ ์ ์์ด์.
Q12. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ ํํ ํ์ธํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
A12. df.memory_usage(deep=True) ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ฒด ๋ด๋ถ์ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ ์ ๋์ ์ ์ ์์ด์.
Q13. Polars๊ฐ ํ๋ค์ค๋ณด๋ค ๋น ๋ฅด๋ค๋ฉด ๊ฐ์ํ์ผ ํ ๊น์?
A13. ์๋๊ฐ ์ต์ฐ์ ์ด๋ผ๋ฉด ๊ณ ๋ คํด ๋ณผ ๋งํ์ง๋ง ํ๋ค์ค์ ๋ฐฉ๋ํ ์ํ๊ณ์ ํธํ์ฑ๋ ์ค์ํ ๊ณ ๋ ค ์์์์.
Q14. GPU ๊ฐ์์ ํ๋ค์ค์์ ์ง์ ์ธ ์ ์๋์?
A14. ํ๋ค์ค ์์ฒด๋ ์ง์ํ์ง ์์ง๋ง RAPIDS cuDF ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ํ๋ค์ค ์คํ์ผ๋ก GPU๋ฅผ ํ์ฉํ ์ ์์ด์.
Q15. ์ง์ฐ ํ๊ฐ(Lazy Evaluation)๋ ๋ฌด์์ธ๊ฐ์?
A15. ์ฐ์ฐ ๋ช
๋ น์ ์ฆ์ ์คํํ์ง ์๊ณ ์์๋์๋ค๊ฐ ์ค์ ๊ฒฐ๊ณผ๊ฐ ํ์ํ ๋ ์ต์ ํ๋ ๊ฒฝ๋ก๋ก ํ๊บผ๋ฒ์ ์คํํ๋ ๋ฐฉ์์ด์์.
Q16. ๋ฐ์ดํฐ ๋ก๋ฉ ํ del ๋ช
๋ น์ด๋ก ๋ณ์๋ฅผ ์ง์ฐ๋ ๊ฒ ๋์์ด ๋๋์?
A16. ๋ค, ๋ ์ด์ ์ฐ์ง ์๋ ๋์ฉ๋ ๊ฐ์ฒด๋ฅผ del๋ก ์ญ์ ํ๊ณ gc.collect()๋ฅผ ํธ์ถํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ํ์์ ๋์์ด ๋ผ์.
Q17. ๋ํ์ด๊ฐ ํ๋ค์ค๋ณด๋ค ๋น ๋ฅธ ๊ฒฝ์ฐ๋ ์๋์?
A17. ํน์ ๋จ์ ์์น ์ฐ์ฐ์์๋ ๋ํ์ด๊ฐ ํ๋ค์ค๋ณด๋ค 10๋ฐฐ์์ 1000๋ฐฐ๊น์ง ๋น ๋ฅผ ์ ์์ด์.
Q18. ํ๋ค์ค 3.0์์ ๊ฐ์ฅ ๊ธฐ๋๋๋ ๊ธฐ๋ฅ์ ๋ฌด์์ธ๊ฐ์?
A18. ์ํ์น ์ ๋ก์ฐ(Apache Arrow) ์์ง์ ํตํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ฑ๋ฅ์ ๋น์ฝ์ ์ธ ํฅ์์ด์์.
Q19. ๋ฌธ์์ด ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ๊ฐ์ฅ ์ฃผ์ํ ์ ์ ๋ฌด์์ธ๊ฐ์?
A19. ๊ธฐ๋ณธ object ํ์
์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฐจ์งํ๋ฏ๋ก ๊ฐ๋ฅํ๋ฉด category ํ์
์ผ๋ก ๋ณํํด ์ฃผ๋ ๊ฒ์ด ์ข์์.
Q20. ๋ณํฉ(Merge) ์ฐ์ฐ ์๋๋ฅผ ๋์ด๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
A20. ๋ณํฉ์ ๊ธฐ์ค์ด ๋๋ ์ปฌ๋ผ์ ๋ฏธ๋ฆฌ ์ธ๋ฑ์ค๋ก ์ค์ ํด ๋๋ฉด ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ ธ์.
Q21. ์ ์ฌ์ PC์์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ํ์ด ์๋์?
A21. ๋ฌด์กฐ๊ฑด ์ฒญํฌ ๋จ์ ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ํ์ํ ์ปฌ๋ผ๋ง ๋ก๋ํ๋ ์ต๊ด์ ๋ค์ด์ธ์.
Q22. ๋ฐ์ดํฐ ์ต์ ํ๋ ์ธ์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋์?
A22. ๋ฐ์ดํฐ ๋ก๋ฉ ์งํ ํน์ ๋ก๋ฉํ๋ ์์ ์ ๋ฐ๋ก ํ์
์ ์ง์ ํด ์ฃผ๋ ๊ฒ์ด ๊ฐ์ฅ ํจ์จ์ ์ด์์.
Q23. ํ๋ค์ค์์ ๋ฉํฐ ํ๋ก์ธ์ฑ์ ์ง์ ๊ตฌํํด์ผ ํ๋์?
A23. ํ๋ค์ค ์์ฒด ๊ธฐ๋ฅ๋ณด๋ค๋ Dask๋ Swifter ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ์ฝ๊ณ ์์ ์ ์ด์์.
Q24. Feather ํ์ผ์ ์ด๋ค ์ํฉ์ ์ถ์ฒํ๋์?
A24. ๋ก์ปฌ ํ๊ฒฝ์์ ์์ฃผ ๋น ๋ฅธ ์๋๋ก ์ค๊ฐ ์์
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฝ์ด์ผ ํ ๋ ๊ฐ๋ ฅ ์ถ์ฒํด์.
Q25. query ๋ฉ์๋๋ ์ฑ๋ฅ์ ๋์์ด ๋๋์?
A25. ๋ณต์กํ ํํฐ๋ง ์กฐ๊ฑด์์ ๊ฐ๋
์ฑ์ ๋์ฌ์ค ๋ฟ๋ง ์๋๋ผ ๋ด๋ถ์ ์ผ๋ก ์ต์ ํ๋์ด ์๋ ํฅ์์๋ ๊ธฐ์ฌํ ์ ์์ด์.
Q26. ํ๋ค์ค์ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
A26. ๋ฐ๋ณต๋ฌธ ์์์ ๋ฐ์ดํฐํ๋ ์์ ๊ณ์ ์์ฑํ๊ฑฐ๋ ํฉ์น๋ ์์
์ ํผํ๊ณ ๋ฆฌ์คํธ์ ๋ชจ์๋ค๊ฐ ํ ๋ฒ์ ํฉ์น์ธ์.
Q27. ๋์ฉ๋ ๋ฐ์ดํฐ์์ ์ค๋ณต ์ ๊ฑฐ ์๋๋ฅผ ๋์ด๋ ค๋ฉด์?
A27. ์ค๋ณต ํ์ธ์ด ํ์ํ ์ปฌ๋ผ๋ง ์ถ์ถํด์ ์ฒ๋ฆฌํ๊ฑฐ๋ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ์ข์์.
Q28. ํ์ด์ฌ 3.13์ GIL ํด์ ๊ฐ ํ๋ค์ค์ ์ํฅ์ ์ฃผ๋์?
A28. ๋ค, ๋ฉํฐ ์ค๋ ๋ฉ ํ๊ฒฝ์์ ํ๋ค์ค ์ฐ์ฐ์ ํจ์จ์ฑ์ด ๋์์ง ๊ฒ์ผ๋ก ๊ธฐ๋๋๊ณ ์์ด์.
Q29. ์์
ํ์ผ ๋ก๋ฉ๋ ์ต์ ํ๊ฐ ๊ฐ๋ฅํ๊ฐ์?
A29. ์์
์ CSV๋ณด๋ค ํจ์ฌ ๋๋ฆฌ๋ฏ๋ก ๋ก๋ ์ ํ์ํ ์ํธ์ ๋ฒ์๋ง ์ง์ ํ๊ณ ๊ฐ๊ธ์ Parquet๋ก ๋ณํํด ์ฌ์ฉํ์ธ์.
Q30. ์ต์ ํ ํ ์ฑ๋ฅ ์ธก์ ์ ์ด๋ป๊ฒ ํ๋์?
A30. %%timeit ๋งค์ง ๋ช
๋ น์ด๋ line_profiler ๋๊ตฌ๋ฅผ ์ฌ์ฉํด ์ฝ๋์ ๋ณ๋ชฉ ์ง์ ์ ์ ํํ ํ์
ํ ์ ์์ด์.
๋ฉด์ฑ
๋ฌธ๊ตฌ
๋ณธ ํฌ์คํ
์ ์ ๊ณต๋ ์๋ฃ๋ฅผ ๋ฐํ์ผ๋ก ํ์ด์ฌ ํ๋ค์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฑ๋ฅ ์ต์ ํ ๋ฐฉ๋ฒ์ ์๋ดํ๊ธฐ ์ํด ์์ฑ๋์์ด์. ๊ฐ๋ณ์ ์ธ ์์คํ
ํ๊ฒฝ์ด๋ ๋ฐ์ดํฐ์ ํน์ฑ์ ๋ฐ๋ผ ์ต์ ํ ๊ฒฐ๊ณผ๋ ๋ฌ๋ผ์ง ์ ์์ผ๋ฉฐ ์ ์๋ ์์น๋ ์ผ๋ฐ์ ์ธ ์ฌ๋ก๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด์. ์ค์ ์ด์ ํ๊ฒฝ์ ์ ์ฉํ๊ธฐ ์ ์๋ ๋ฐ๋์ ์ถฉ๋ถํ ํ
์คํธ๋ฅผ ๊ฑฐ์น์๊ธฐ ๋ฐ๋ผ๋ฉฐ ํ์๋ ๋ณธ ๋ด์ฉ์ ์ ์ฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๊ฒฐ๊ณผ์ ๋ํด ๋ฒ์ ์ฑ
์์ ์ง์ง ์์์.
์์ฝ
๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ํต์ฌ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ฐ์ฐ ๋ฐฉ์์ ๋ณํ์ ์์ด์. ๋ฐ์ดํฐ ํ์
์ ์ต์ ํํ๊ณ ๋ฒกํฐํ ์ฐ์ฐ์ ๋์
ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์๋๋ฅผ 30ํผ์ผํธ ์ด์ ๋์ผ ์ ์๋ต๋๋ค. ํ์ํ ๋ฐ์ดํฐ๋ง ๋ก๋ํ๊ณ ์ฒญํฌ ๋จ์๋ก ์ฒ๋ฆฌํ๋ ์ต๊ด์ ์์คํ
์ ์์ ์ฑ์ ๋ณด์ฅํ๋ฉฐ Parquet์ ๊ฐ์ ํจ์จ์ ์ธ ํ์ผ ํ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋ผ์. ๋ ๋์๊ฐ Dask์ ๊ฐ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋๊ตฌ์ ์ต์ ํ๋ค์ค 3.0์ ํธ๋ ๋๋ฅผ ํ์
ํ๋ค๋ฉด ํ๋์จ์ด์ ํ๊ณ๋ฅผ ๋๋ ํ์ํ ๋ถ์ ํผํฌ๋จผ์ค๋ฅผ ๊ตฌํํ ์ ์์ด์.
๋๊ธ
๋๊ธ ์ฐ๊ธฐ