์• ํ”Œ ์ธํ…”๋ฆฌ์ „์Šค AI ๊ธฐ๋Šฅ ํ™œ์„ฑํ™”๋กœ ๋งค์ผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ด๋ฉ”์ผ ์š”์•ฝ ์‹œ๊ฐ„ 30๋ถ„ ์ค„์ด๊ธฐ ๐Ÿค–

๐Ÿ“‹ ๋ชฉ์ฐจ ๐Ÿค– ์• ํ”Œ ์ธํ…”๋ฆฌ์ „์Šค ์ด๋ฉ”์ผ ์š”์•ฝ์˜ ์ •์˜์™€ ๋ฐฐ๊ฒฝ ๐Ÿ“ฉ ํ•ต์‹ฌ ๊ธฐ๋Šฅ: ์ž๋™ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์™€ ์ƒ์‚ฐ์„ฑ ํ˜์‹  ๐Ÿš€ 2024-2026 ์ตœ์‹  ๋™ํ–ฅ ๋ฐ ๋ฏธ๋ž˜ ์ „๋ง ⚙️ ์‹ค์ „ ํ™œ์šฉ๋ฒ•: ๊ธฐ๊ธฐ๋ณ„ ์„ค์ • ๋ฐ ์ฃผ์˜์‚ฌํ•ญ ๐Ÿง ์ „๋ฌธ๊ฐ€ ์˜๊ฒฌ์œผ๋กœ ๋ณธ ์ด๋ฉ”์ผ ์š”์•ฝ์˜ ๊ฐ€์น˜ ❓ ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ (FAQ) ๋งค์ผ ์•„์นจ ์Ÿ์•„์ง€๋Š” ์ˆ˜์‹ญ ํ†ต์˜ ์ด๋ฉ”์ผ ๋•Œ๋ฌธ์— ์—…๋ฌด ์‹œ์ž‘ ์ „๋ถ€ํ„ฐ ํ”ผ๋กœ๊ฐ์„ ๋А๋ผ์‹  ์ ์ด ๋งŽ์œผ์‹œ์ฃ ? ์ด์ œ ์• ํ”Œ ์ธํ…”๋ฆฌ์ „์Šค์˜ ํ˜์‹ ์ ์ธ ์ด๋ฉ”์ผ ์š”์•ฝ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๊ทธ ๊ณ ๋ฏผ์„ ๋ง๋”ํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋ณต์žกํ•œ ๋‚ด์šฉ์„ ๋‹จ ๋ช‡ ์ดˆ ๋งŒ์— ์••์ถ•ํ•˜์—ฌ ํ•ต์‹ฌ๋งŒ ์ „๋‹ฌํ•ด ์ฃผ๋Š” ์ด ๊ธฐ๋Šฅ์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์†Œ์ค‘ํ•œ ์‹œ๊ฐ„์„ ๋งค์ผ 30๋ถ„ ์ด์ƒ ์•„๊ปด์ค„ ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๋‹ต๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ฐ”๋กœ ํ™•์ธํ•ด ๋ณด์„ธ์š”!

๐Ÿ’ก ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„ 30ํผ์„ผํŠธ ๋‹จ์ถ•๋ฒ•

ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ํ•„์ˆ˜ ๋„๊ตฌ์ด์ง€๋งŒ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ๋Š” ์†๋„ ์ €ํ•˜๋กœ ๊ณ ์ƒํ•˜๊ธฐ ์ผ์‘ค์˜ˆ์š”. ์˜ค๋Š˜ ์†Œ๊ฐœํ•  7๊ฐ€์ง€ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜๋ฉด ์ฒ˜๋ฆฌ ์†๋„๋ฅผ 30ํผ์„ผํŠธ ์ด์ƒ ๋‹จ์ถ•ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ ๊ทน๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์ง€๊ธˆ ๋ฐ”๋กœ ์„ฑ๋Šฅ ํ˜์‹ ์„ ์‹œ์ž‘ํ•ด ๋ณด์„ธ์š”.

 

๐Ÿ’ก ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„ 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:

๐Ÿ’พ ํšจ์œจ์ ์ธ ํŒŒ์ผ ํ˜•์‹ Parquet์™€ Feather ํ™œ์šฉ

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” 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 ๋ฉ€ํ‹ฐ ์ฝ”์–ด ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ, ์ง€์—ฐ ํ‰๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ

๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ดํŽด๋ณผ ์ตœ์ ํ™” ํฌ์ธํŠธ๋Š” ์ธ๋ฑ์Šค(Index)์˜ ํšจ์œจ์ ์ธ ๊ด€๋ฆฌ์˜ˆ์š”. ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์—์„œ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ๋ณ‘ํ•ฉํ•  ๋•Œ ์ธ๋ฑ์Šค๊ฐ€ ์ œ๋Œ€๋กœ ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ํŒ๋‹ค์Šค๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ผ์ด ํ›‘์–ด์•ผ ํ•ด์š”. ํ•˜์ง€๋งŒ ์ž์ฃผ ์กฐํšŒ๋˜๋Š” ์ปฌ๋Ÿผ์„ ์ธ๋ฑ์Šค๋กœ ์„ค์ •ํ•ด ๋‘๋ฉด ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์ด ๋น„์•ฝ์ ์œผ๋กœ ํ–ฅ์ƒ๋œ๋‹ต๋‹ˆ๋‹ค.

 

set_index ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ์ •๋ ฌ๋œ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด ์ด์ง„ ํƒ์ƒ‰๊ณผ ๊ฐ™์€ ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์†๋„๊ฐ€ ๋นจ๋ผ์ ธ์š”. ๋˜ํ•œ loc๋‚˜ at ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ธ๋ฑ์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ ์ตœ์ ํ™”์˜ ๊ธฐ๋ณธ์ด์—์š”. ์ธ๋ฑ์Šค๋Š” ๋‹จ์ˆœํžˆ ํ–‰์˜ ์ด๋ฆ„ํ‘œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๋กœ ํ–ฅํ•˜๋Š” ๋น ๋ฅธ ๊ณ ์†๋„๋กœ์™€ ๊ฐ™๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•˜์„ธ์š”.

 

2024๋…„์—์„œ 2026๋…„ ์‚ฌ์ด์˜ ์ตœ์‹  ํŠธ๋ Œ๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ํŒ๋‹ค์Šค 3.0์˜ ๋“ฑ์žฅ์ด ๊ฐ€์žฅ ํฐ ํ™”๋‘์˜ˆ์š”. ์ƒˆ๋กœ์šด ๋ฒ„์ „์€ Arrow ์—”์ง„์„ ๊ธฐ๋ณธ์œผ๋กœ ์ง€์›ํ•˜์—ฌ ๋” ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ๊ณผ ํ–ฅ์ƒ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ฃ . ๋˜ํ•œ Rust ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์–ด ์••๋„์ ์ธ ์†๋„๋ฅผ ์ž๋ž‘ํ•˜๋Š” Polars(ํด๋ผ์ฆˆ) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํŒ๋‹ค์Šค์˜ ๊ฐ•๋ ฅํ•œ ๋Œ€์•ˆ์œผ๋กœ ๋ถ€์ƒํ•˜๊ณ  ์žˆ๋Š” ์ ๋„ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ๋ณ€ํ™”์˜ˆ์š”.

 

ํŒŒ์ด์ฌ 3.13 ์ด์ƒ์˜ ๋ฒ„์ „์—์„œ๋„ ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ ๊ฐœ์„ ์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์–ด ํŒ๋‹ค์Šค ์ƒํƒœ๊ณ„๋Š” ๊ทธ ์–ด๋А ๋•Œ๋ณด๋‹ค ์—ญ๋™์ ์œผ๋กœ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์–ด์š”. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์  ํ๋ฆ„์„ ํŒŒ์•…ํ•˜๊ณ  ์ตœ์‹  ๋„๊ตฌ๋“ค์„ ์ ์žฌ์ ์†Œ์— ํ™œ์šฉํ•˜๋Š” ๋Šฅ๋ ฅ์€ ํ˜„๋Œ€ ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€์—๊ฒŒ ์š”๊ตฌ๋˜๋Š” ํ•ต์‹ฌ ์ž์งˆ์ด์—์š”. ๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•˜๋Š” ํ™˜๊ฒฝ ์†์—์„œ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์—ฐ๋งˆํ•˜์—ฌ ์ตœ๊ณ ์˜ ํผํฌ๋จผ์Šค๋ฅผ ๋‚ด๋ณด์‹œ๊ธธ ๋ฐ”๋ผ์š”.

 

๐Ÿ ์ตœ์‹  ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ

๊ธฐ์ˆ  ํ•ญ๋ชฉ ์ฃผ์š” ๋ณ€ํ™” ๋ฐ ํŠธ๋ Œ๋“œ ๊ธฐ๋Œ€ ํšจ๊ณผ
Pandas 3.0 Arrow ์—”์ง„ ํ†ตํ•ฉ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ฐœ์„  ๋Œ€์šฉ๋Ÿ‰ ์ฒ˜๋ฆฌ ์•ˆ์ •์„ฑ ํ™•๋ณด
Polars Rust ๊ธฐ๋ฐ˜์˜ ์ดˆ๊ณ ์† ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ Pandas ๋Œ€๋น„ 10~50๋ฐฐ ์†๋„ ํ–ฅ์ƒ
๐Ÿ’ก ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„ 30ํผ์„ผํŠธ ๋‹จ์ถ•๋ฒ• ์ถ”๊ฐ€ ์ด๋ฏธ์ง€
๐Ÿ’ก ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„ 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์˜ ํŠธ๋ Œ๋“œ๋ฅผ ํŒŒ์•…ํ•œ๋‹ค๋ฉด ํ•˜๋“œ์›จ์–ด์˜ ํ•œ๊ณ„๋ฅผ ๋„˜๋Š” ํƒ์›”ํ•œ ๋ถ„์„ ํผํฌ๋จผ์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์š”.

๋Œ“๊ธ€