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

๋ชฉ๋ก๐ŸPython/Pandas (9)

ruriruriya

[Python] ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค(Pandas) - ํ•จ์ˆ˜ ๋งŒ๋“ค์–ด ์ ์šฉํ•˜๋Š” apply()๋ฉ”์†Œ๋“œ

apply()๋Š” ํŒ๋‹ค์Šค์—์„œ Series๋‚˜ DataFrame์— ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ํ•จ์ˆ˜๋ฅผ ๊ฐ ํ–‰์ด๋‚˜ ์—ด์— ์ ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๋ฐ์ดํ„ฐ๋กœ apply() ๋ฉ”์†Œ๋“œ๋ฅผ ์ ์šฉํ•ด๋ณด์ž. >> df ์ฒซ๋ฒˆ ์งธ, ํ•จ์ˆ˜๋งŒ๋“ค๊ธฐ #### ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ์ˆœ์„œ ๊ผญ ๊ธฐ์–ตํ•˜์ž! ์ด๋ ‡๊ฒŒ ๊ธฐ์–ตํ•˜๋ฉด ํ•จ์ˆ˜ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข€๋” ์‰ฌ์›Œ์ง„๋‹ค. 1. ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ๋ถ€๋ถ„์„ ๋จผ์ € ์ž‘์„ฑํ•œ๋‹ค. 2. ํ˜ธ์ถœ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ•˜์—ฌ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•œ๋‹ค. # ์‹œ๊ธ‰์ด 30 ์ด์ƒ์ด๋ฉด, 'A' ๊ทธ๋ฃน์ด๋ผ ํ•˜๊ณ ,์‹œ๊ธ‰์ด 30๋ณด๋‹ค ์ž‘์œผ๋ฉด, 'B' ๊ทธ๋ฃน์ด๋ผ๊ณ  ํ•˜๊ฒ ๋‹ค.์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ group์„ ๋งŒ๋“ค์–ด์„œ ์ €์žฅํ•˜์‹œ์˜ค. ๋จผ์ € ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๋ช…๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์จ์„œ ์ถœ๋ ฅ ๋‚ด์šฉ์„ ์˜ˆ์ธกํ•ด๋ณธ๋‹ค. grouping(35) # 'A' ์ถœ๋ ฅ grou..

๐ŸPython/Pandas 2023. 11. 17. 17:49
[Python] ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค(Pandas) - ๋‹ค์ค‘ ์กฐ๊ฑด์˜ ๋ฐ์ดํ„ฐ ๊ฐ’๊ณผ ํ–‰ ๊ฐ€์ ธ์˜ค๊ธฐ

ํŒ๋‹ค์Šค์—์„œ ๋‹ค์ค‘ ์กฐ๊ฑด์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์›ํ•˜๋Š” ํ–‰์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๊ฐ€์žฅ ํ”ํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” loc ๋˜๋Š” iloc๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋Š” ํ–‰์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋ž˜์˜ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์œผ๋กœ ๋‹ค์ค‘์กฐ๊ฑด ํ•„ํ„ฐ๋ง์„ ํ•ด๋ณด์ž. >> df = pd.DataFrame({'Employee ID':[111, 222, 333, 444], 'Employee Name':['Chanel', 'Steve', 'Mitch', 'Bird'], 'Salary [$/h]':[35, 29, 38, 20], 'Years of Experience':[3, 4 ,9, 1]}) >> df ํŒ๋‹ค์Šค์˜ ๋น„๊ต์—ฐ์‚ฐ์ž ์šฐ์„  ํŒ๋‹ค์Šค๋Š” ํŒŒ์ด์ฌ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ๋ฐ ๋น„๊ต์—ฐ์‚ฐ์ž๋Š” ์กฐ๊ธˆ ๋‹ค๋ฅธ ์ ์„ ์ธ์ง€ํ•˜๊ณ  ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค..

๐ŸPython/Pandas 2023. 11. 17. 11:19
[Python] ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค(Pandas) - ๊ณ ์œ ํ•œ ๊ฐ’ ์ฐพ์•„ ์ถœ๋ ฅํ•˜๊ธฐ(unique(), nunique(), value_counts())

unique(), nunique(), value_counts()๋Š” ํŒ๋‹ค์Šค์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ณ ์œ ํ•œ ๊ฐ’๋“ค๊ณผ ๊ทธ ๋นˆ๋„๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์†Œ๋“œ๋‹ค. ์ด ์„ธ ๊ฐ€์ง€ ๋ฉ”์†Œ๋“œ๋Š” ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์ด๋‚˜ ์‹œ๋ฆฌ์ฆˆ์—์„œ ๊ณ ์œ ํ•œ ๊ฐ’๋“ค์„ ๋‹ค๋ฃจ๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค. ์•„๋ž˜ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ํ™œ์šฉํ•˜์—ฌ ์•Œ์•„๋ณด์ž. unique() ๋ฉ”์†Œ๋“œ๋ž€ unique() ๋ฉ”์†Œ๋“œ๋Š” ์‹œ๋ฆฌ์ฆˆ(Series) ๊ฐ์ฒด์— ์ ์šฉํ•˜์—ฌ ๊ทธ ์•ˆ์— ์žˆ๋Š” ๊ณ ์œ ํ•œ ๊ฐ’๋“ค์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ(unique) ๊ฐ’๋“ค์„ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ์— ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ๊ณ ์œ ํ•œ ๊ฐ’๋“ค์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋…„๋„์˜ ์œ ๋‹ˆํฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค. >> df['Year'].unique() array([1990, 1991, 1992]) nunique() ๋ฉ”์†Œ๋“œ๋ž€ nunique() ๋ฉ”์†Œ๋“œ๋Š” ์‹œ๋ฆฌ์ฆˆ(Series)..

๐ŸPython/Pandas 2023. 11. 16. 14:24
[Python] ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค(Pandas) - ๋ฐ์ดํ„ฐํŒŒ์•…ํ•˜๊ธฐ(head, tail, describe, info, shape, columns)

describe()๋ฉ”์†Œ๋“œ๋ž€? describe() ๋ฉ”์†Œ๋“œ๋Š” ํŒ๋‹ค์Šค์—์„œ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ ๊ฐ„๋‹จํ•œ ํ†ต๊ณ„ ์š”์•ฝ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค. ์ด ๋ฉ”์†Œ๋“œ๋Š” ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ ๊ฐ ์—ด์— ๋Œ€ํ•œ ์š”์•ฝ ํ†ต๊ณ„๋Ÿ‰์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ฐœ์ˆ˜(count): ๊ฐ ์—ด์— ์žˆ๋Š” ๋น„๊ฒฐ์ธก์น˜(non-null) ํ•ญ๋ชฉ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํ‰๊ท (mean): ๊ฐ ์—ด์˜ ํ‰๊ท  ๊ฐ’์„ ๋ณด์—ฌ์ค€๋‹ค. ํ‘œ์ค€ํŽธ์ฐจ(std): ๊ฐ ์—ด ๊ฐ’๋“ค์˜ ํ‘œ์ค€ํŽธ์ฐจ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์ตœ์†Ÿ๊ฐ’(min): ๊ฐ ์—ด์˜ ์ตœ์†Ÿ๊ฐ’์„ ๋ณด์—ฌ์ค€๋‹ค. ๋ฐฑ๋ถ„์œ„์ˆ˜(25%, 50%, 75%): ๊ฐ ์—ด์˜ ๋ฐฑ๋ถ„์œ„์ˆ˜(25%, 50%, 75%)๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์ตœ๋Œ“๊ฐ’(max): ๊ฐ ์—ด์˜ ์ตœ๋Œ“๊ฐ’์„ ๋ณด์—ฌ์ค€๋‹ค. ํŒŒ์ผ์—์„œ ๋ถˆ๋Ÿฌ์˜จ ๋ฐ์ดํ„ฐ๋กœ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž :) describe() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ธฐ๋ณธ ํ†ต๊ณ„์ •๋ณด๋“ค์ด ๋‚˜์˜จ๋‹ค. >> ..

๐ŸPython/Pandas 2023. 11. 16. 09:09
[Python] ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค(Pandas) - ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„(DataFrame)์— ๋ฐ์ดํ„ฐ ๋กœ๋“œ

๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์— ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•œ ํŒŒ์ผ ํ˜•์‹์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํŒŒ์ผ ํ˜•์‹์œผ๋กœ๋Š” CSV, Excel, JSON, SQL, HTML ๋“ฑ์ด ์žˆ๋‹ค. ๊ฐ ํ˜•์‹์— ๋งž๊ฒŒ ์ ์ ˆํ•œ ํŒ๋‹ค์Šค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค. CSV(Comma Separated Values)ํŒŒ์ผ ์ฝ๋Š” ๋ฐฉ๋ฒ• CSV ํŒŒ์ผ์€ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ ์š”์†Œ๊ฐ€ ์ฝค๋งˆ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. CSV ํŒŒ์ผ์„ read_csv() ๋ฉ”์†Œ๋“œ๋กœ ๋กœ๋“œํ•˜๋ฉด ์ฝค๋งˆ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์ด ์ถœ๋ ฅ๋œ๋‹ค. ๊ตฌ๊ธ€ ์ฝ”๋žฉ์—์„œ ์‹คํ–‰ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„ ๋• ์•„๋ž˜ ํ–‰๊ณผ ์—ด์ด ํ‘œ์‹œ๋˜๋ฉฐ ์ค‘๊ฐ„์ด ์ƒ๋žต๋œ๋‹ค. >> df = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„‡แ…ฎแ†ซแ„‰แ…ฅแ†จ/data/GOOG.csv') >>..

๐ŸPython/Pandas 2023. 11. 15. 14:11
[Python] ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค(Pandas) - NaN ๋น„์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•

NaN์ด๋ž€? NaN์€ "Not a Number"์˜ ์•ฝ์ž๋กœ, ๊ฒฐ์ธก์น˜(missing value)๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํŠน์ˆ˜ํ•œ ๊ฐ’์ด๋‹ค. ์ฃผ๋กœ ํŒŒ์ด์ฌ์˜ ํŒ๋‹ค์Šค์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋„๊ตฌ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. NaN์€ ๋ฐ์ดํ„ฐ์…‹์—์„œ ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ˆ˜ํ•™์ ์œผ๋กœ ์ •์˜ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด๊ฒƒ์€ ๋ฐ์ดํ„ฐ์˜ ๋ถ€์žฌ, ๋ˆ„๋ฝ, ๋˜๋Š” ํŠน์ • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ์ •์˜๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•œ๋‹ค. ๋จผ์ œ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ํ†ตํ•ด NaN ๋ฐ์ดํ„ฐ๋ฅผ ์•Œ์•„๋ณด์ž. >> items2 = [{'bikes': 20, 'pants': 30, 'watches': 35, 'shirts': 15, 'shoes':8, 'suits':45}, {'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5, 'shirts': 2, 'sh..

๐ŸPython/Pandas 2023. 11. 15. 09:44
[Python] ํŒŒ์ด์ฌ ํŒ๋‹ค์Šค(Pandas) - 2์ฐจ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ, ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„(DataFrame)๊ณผ ๋ฐ์ดํ„ฐ ์•ก์„œ์Šค

ํŒ๋‹ค์Šค ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„(Pandas DataFrame)์ด๋ž€? ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„(DataFrame)์€ ํŒ๋‹ค์Šค์˜ ํ•ต์‹ฌ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์€ ํ–‰๊ณผ ์—ด๋กœ ๊ตฌ์„ฑ๋œ 2์ฐจ์› ํ…Œ์ด๋ธ”๋กœ, ๊ฐ ์—ด์€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์€ CSV, Excel, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒ๋‹ค์Šค์˜ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ์กฐ์ž‘ํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•˜๋ฉฐ, ๋ถ„์„ ๋ฐ ์‹œ๊ฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒ๋‹ค์Šค ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ƒ์„ฑํ•˜๊ธฐ ๋จผ์ € ํŒŒ์ด์ฌ์˜ dict๋ฅผ ํŒ๋‹ค์Šค 1์ฐจ์› ๋ฐ์ดํ„ฐ Series ์‚ฌ์šฉํ•ด 2์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•œ๋‹ค. import pandas as pd it..

๐ŸPython/Pandas 2023. 11. 14. 21:43