๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํŒŒ์ด์ฌ (51)

DATA101

PySpark ๊ฐœ๋… ๋ฐ ์ฃผ์š” ๊ธฐ๋Šฅ(+Apache Spark)

๋“ค์–ด๊ฐ€๋ฉฐ PySpark, ๋ฐ์ดํ„ฐ ๋ถ„์„/์—”์ง€๋‹ˆ์–ด๋ง ํ˜น์€ ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ์— ๊ด€์‹ฌ ์žˆ์œผ์‹  ๋ถ„๋“ค์€ ํ•œ ๋ฒˆ์ฏค ๋“ค์–ด๋ณด์…จ์„ ๊ธฐ์ˆ  ์Šคํƒ์ด์ฃ . ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” PySaprk์˜ ๊ฐœ๋…๊ณผ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. 1. PySpark ๊ฐœ๋… PySpark๋Š” Python ํ™˜๊ฒฝ์—์„œ Apache Spark๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์ฆ‰, PySpark๋Š” Spark์šฉ API์ด๊ธฐ ๋•Œ๋ฌธ์— PySpark ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋ ค๋ฉด Spark์— ๋Œ€ํ•ด ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Apache Spark ๊ฐœ๋… Apache Spark๋Š” ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์†์œผ๋กœ, ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋น…๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ(Distributed Computing Platform)์ž…๋‹ˆ๋‹ค. Apache Spark๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋“œ๋””์Šคํฌ๊ฐ€ ์•„๋‹Œ ๋ฉ”๋ชจ๋ฆฌ์— ์บ..

[Python] 'Unnamed: 0" ์—†์ด ์—‘์…€ ํŒŒ์ผ ์ฝ์–ด์˜ค๊ธฐ

๋ณ€๊ฒฝ ์ „ ํŒŒ์ด์ฌ pandas ํŒจํ‚ค์ง€๋กœ ์—‘์…€ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํŒŒ์ผ์—๋Š” ์—†๋˜ ์นผ๋Ÿผ์ด ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ ํ›„์— ํ•ด๋‹น ์นผ๋Ÿผ์„ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ, ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์„ 2๋ฒˆ์— ํ•  ํ•„์š”๋Š” ์—†๊ฒ ์ฃ . ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋ถ€ํ„ฐ ํ•ด๋‹น ์นผ๋Ÿผ์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ํ›„ "Unnamed: 0" ์นผ๋Ÿผ ์—†์ด ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. read ๋ฉ”์†Œ๋“œ ์‹คํ–‰ ์‹œ index_col ์˜ต์…˜ ๊ฐ’์„ 0์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. dataset = pd.read_csv("๋ฐ์ดํ„ฐ์…‹ ๊ฒฝ๋กœ", index_col = 0) dataset.head() ์œ„์™€ ๊ฐ™์ด ์˜ต์…˜์„ ์„ค์ •ํ•˜๋ฉด ์ด์ œ ํ•ด๋‹น ์นผ๋Ÿผ("Unnamed: 0") ์—†์ด ๋ฐ์ดํ„ฐ๊ฐ€..

[Python] ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ ํŠน์ • ์นผ๋Ÿผ ์œ„์น˜ ๋ฐ”๊พธ๊ธฐ

๋ณ€๊ฒฝ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๋Š” ์นผ๋Ÿผ๋“ค์˜ ์ˆœ์„œ๋Œ€๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์—ดํ•˜์—ฌ ์ž‘์„ฑํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ = ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„[['์นผ๋Ÿผ1', '์นผ๋Ÿผ2', ...]] ๋ณ€๊ฒฝ ์ „ ์•„๋ž˜ ์˜ˆ์‹œ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋Š” appName, review_raw, date_full, date_year ์นผ๋Ÿผ ์ˆœ์„œ์ž…๋‹ˆ๋‹ค. dataset.head() ๋งŒ์•ฝ date_full, date_year ์นผ๋Ÿผ์„ review_raw ์•ž์œผ๋กœ ์ด๋™ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋ ๊นŒ์š”? ๋ณ€๊ฒฝ ํ›„ date_full, date_year ์นผ๋Ÿผ์„ review_raw ์นผ๋Ÿผ๋ณด๋‹ค ์•ž์„œ ์ž…๋ ฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. dataset = dataset[['appName', 'date_full', 'date_year', 'review_raw']] dataset.head() ์œ„์™€ ๊ฐ™์ด ์ •์ƒ์ ์œผ๋กœ ์นผ๋Ÿผ ์ˆœ์„œ๊ฐ€..

[Python] map, lambda ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋ง ๋ฐฉ๋ฒ• ๋ฐ ์ด์ 

๐Ÿ”ฅ ๋ชฉํ‘œ ์˜ค๋Š˜์€ ํŒŒ์ด์ฌ map ํ•จ์ˆ˜์™€ lambda ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ธ๋“ค๋งํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๐Ÿ‘จ‍๐Ÿ’ป ๋ฌธ์ œ ์ƒํ™ฉ ์˜ˆ์‹œ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ๋‚ด ํŠน์ • ์นผ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์–ด๋– ํ•œ ์—ฐ์‚ฐ์„ ๊ฑฐ์ณ ์ƒˆ๋กœ์šด ๊ฐ’๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์นผ๋Ÿผ์„ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ๊ตฌ์ฒด์ ์ธ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด dataset์ด๋ผ๋Š” ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์— yyyymmdd ํ˜•์‹์˜ date ์ •๋ณด๊ฐ€ ๋‹ด๊ธด date_full ์นผ๋Ÿผ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ์•„๋ž˜์™€ ๊ฐ™์ด ์—ฐ๋„ ์ •๋ณด๋งŒ ์ถ”์ถœํ•˜์—ฌ date_year๋ผ๋Š” ์นผ๋Ÿผ์— ์ƒˆ๋กญ๊ฒŒ ์ €์žฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ• ๊นŒ์š”? ๐Ÿ’ก ํ•ด๊ฒฐ๋ฐฉ๋ฒ• 1: ๋ฐ˜๋ณต๋ฌธ ํ™œ์šฉ(Bad Case โŒ) ๋ฐ˜๋ณต๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ date_full ์นผ๋Ÿผ ๋‚ด ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๊ฐœ์”ฉ ์ ‘๊ทผํ•˜์—ฌ ..

[Python] ๊ฐ€์ƒํ™˜๊ฒฝ ๋‚ด ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•(venv ํ™œ์šฉ)

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” venv๋ฅผ ํ™œ์šฉํ•˜์—ฌ Python ๊ฐ€์ƒํ™˜๊ฒฝ ๋‚ด ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.๐Ÿ“š ๋ชฉ์ฐจ1. ๊ฐ€์ƒํ™˜๊ฒฝ ํ•„์š”์„ฑ 2. venv ํ™œ์„ฑํ™” 3. ํŒจํ‚ค์ง€ ์„ค์น˜ 4. ์„ค์น˜๋œ ํŒจํ‚ค์ง€ ๋ฆฌ์ŠคํŠธ ์ €์žฅ 5. ํŒจํ‚ค์ง€ ์ผ๊ด„ ์„ค์น˜1. ๊ฐ€์ƒํ™˜๊ฒฝ ํ•„์š”์„ฑ๊ฐ€์ƒ ํ™˜๊ฒฝ์€ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ(์ฆ‰, ๊ฐ€์ƒ ํ™˜๊ฒฝ)์„ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ํŒจํ‚ค์ง€๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์„ ์ž…๋ฌธํ•˜๊ธฐ๋กœ ๋งˆ์Œ ๋จน์œผ์…จ๋‹ค๋ฉด ์ง€๊ธˆ๋ถ€ํ„ฐ๋ผ๋„ ๊ฐ€์ƒ ํ™˜๊ฒฝ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ํ•„์š”์„ฑ์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ์„ค๋ช…์€ ์ด ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.2. venv ํ™œ์„ฑํ™”๋จผ์ € ์ƒ์„ฑํ•ด ๋‘์—ˆ๋˜ venv๋ฅผ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. venv ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™” ๋ฐฉ๋ฒ•์€ ์ด๊ณณ์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”. ์ฐธ๊ณ ๋กœ, Python 3.5 ์ดํ›„๋ถ€ํ„ฐ๋Š” venv๊ฐ€ ํŒŒ์ด์ฌ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ..

SW ๊ฐœ๋ฐœ/Python 2022. 2. 3. 07:53
[Python] ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ, ํ™œ์„ฑํ™”, ๋น„ํ™œ์„ฑํ™”, ์‚ญ์ œ ๋ฐฉ๋ฒ•(venv ํ™œ์šฉ)

๐Ÿ“Œ Text ๋น…๋ฐ์ดํ„ฐ๋ถ„์„ ํ”Œ๋žซํผ ๋ฒ ํƒ€ํ…Œ์ŠคํŠธ ์ฐธ๊ฐ€์ž ๋ชจ์ง‘ ์ค‘!(๋„ค์ด๋ฒ„ํŽ˜์ด 4๋งŒ ์› ์ „์› ์ง€๊ธ‰) ๐Ÿ‘‹ ์•ˆ๋…•ํ•˜์„ธ์š”, ์ฝ”๋”ฉ์ด ํ•„์š” ์—†๋Š” AI/๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ All in One ํ”Œ๋žซํผ  ๊ฐœ๋ฐœํŒ€์ž…๋‹ˆ๋‹ค.๐Ÿ˜Š ์ €ํฌ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์‹œ๊ณ  ๊ฒฝํ—˜๋‹ด์„ ๋“ค๋ ค์ฃผ์„ธ์š” :)๐Ÿ’ธ ์ฐธ์—ฌํ•ด ์ฃผ์‹  "๋ชจ๋“ " ๋ถ„๋“ค๊ป˜ ๋„ค์ด๋ฒ„ํŽ˜์ด 4๋งŒ ์› ์ฟ ํฐ์„ ์ง€๊ธ‰ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.๐Ÿ‘จ‍๐Ÿ’ป ์ฐธ์—ฌ ํฌ๋ง ์‹œ ์นดํ†กํ”Œ๋Ÿฌ์Šค์นœ๊ตฌ 1:1 ์ฑ„ํŒ… or ์ธ์Šคํƒ€๊ทธ๋žจ DM ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค :)๐Ÿ“† ์ฐธ์—ฌ๊ธฐ๊ฐ„ : 11/25(์›”)~11/29(๊ธˆ) 11:00~21:00 ์ค‘ ํƒ1 (1์‹œ๊ฐ„ 1ํƒ€์ž„)๐Ÿ‘‰ ์ฐธ์—ฌ์žฅ์†Œ : ๊ฐ•๋‚จ์—ญ ์ธ๊ทผ ์Šคํ„ฐ๋””์นดํŽ˜ ๋ฏธํŒ…Room๐Ÿ“ ์†Œ์š”์‹œ๊ฐ„ : ์ด 40๋ถ„ ๋‚ด์™ธ(์„œ๋น„์Šค ์ฒดํ—˜ ๋ฐ ์ธํ„ฐ๋ทฐ ํฌํ•จ)โœ… ์ฐธ๊ฐ€์กฐ๊ฑด : Text ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ์—…๋ฌด ๊ฒฝํ—˜์ž๐Ÿ‘‰ ์ฐธ๊ฐ€ ๊ฐ€๋Šฅ์ผ์ • ์กฐํšŒํ•˜๊ธฐ : ht..

SW ๊ฐœ๋ฐœ/Python 2022. 2. 2. 18:53
[์ž๋ฃŒ๊ตฌ์กฐ] ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!(+Python ๊ตฌํ˜„)

๐Ÿ“š ๋ชฉ์ฐจ 1. ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue)๋ž€? 2. ํž™(Heap) ์ž๋ฃŒ๊ตฌ์กฐ 2.1. ํž™ ์ž๋ฃŒ๊ตฌ์กฐ๋ž€? 2.2. ์šฐ์„ ์ˆœ์œ„ ํ ๊ตฌํ˜„ ๋ฐฉ์‹: ๋ฆฌ์ŠคํŠธ vs ํž™ 3. ํž™ ๊ธฐ๋ฐ˜์˜ ์šฐ์„ ์ˆœ์œ„ ํ ๊ตฌํ˜„(Python) 3.1. heapq ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ 3.1.1. ํž™ ์›์†Œ ์ถ”๊ฐ€(heappush) 3.1.2. ํž™ ์›์†Œ ์‚ญ์ œ(heappop) 3.1.3. ๋ฆฌ์ŠคํŠธ๋ฅผ ํž™์œผ๋กœ ๋ณ€๊ฒฝ(heapify) 3.2. ํž™ ๊ธฐ๋ฐ˜์˜ ์šฐ์„ ์ˆœ์œ„ ํ ๊ตฌํ˜„ ์˜ˆ์‹œ 1. ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue)๋ž€? ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์ถ”์ถœํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ(Queue) ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์„ ์ž…์„ ์ถœ ๋ฐฉ์‹์œผ๋กœ์„œ ๊ฐ€์žฅ ๋จผ์ € ์‚ฝ์ž…๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ํŠน์ง•์ด ์œ ์‚ฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋“ค์˜ ..