๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ก Data Analysis/๐Ÿ“‚ Project - Analysis of KakaoTalk (end)

[DA][Python] ๋Œ€ํ™” ๋ถ„์„ ๊ธฐ๋Šฅ - ์‚ฌ์šฉ์ž๋ณ„ ๋Œ€ํ™” ๋นˆ๋„ ๋ถ„์„ (1)

by Sun A 2024. 7. 11.

์•ž ๊ฒŒ์‹œ๊ธ€์—์„œ ์นด์นด์˜คํ†ก ์›๋ณธ ๋Œ€ํ™” ๋‚ด์šฉ์„ ๋‚ด๋ ค๋ฐ›์•„ ์ „์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ์ž‘์„ฑํ•˜๊ณ  ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค.

โ–ผ ๊ฒŒ์‹œ๋ฌผ ํ™•์ธํ•˜๊ธฐ

 

[DA][Python] (2์ฐจ ์„ค๊ณ„ ๋ฐ ์™„์„ฑ) ์นด์นด์˜คํ†ก ๋Œ€ํ™” ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ˆ˜์ • ์„ค๊ณ„

ํ˜„์žฌ ํ•ด๋‹น ๋‚ด์šฉ์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์™„๋ฃŒํ•˜์˜€์œผ๋ฉฐ ์ตœ์ข… ์™„์„ฑ๋œ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์„ค๋ช…์ด๋‹ค.์ˆ˜์ •์‚ฌํ•ญ1. ํ•จ์ˆ˜๋ช…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ2. ์›๋ณธ ๋ฐ์ดํ„ฐ์— ์กด์žฌํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ˜•์‹์˜ ๋ผ์ธ ๋‘ ๊ฐ€์ง€์—

sundery.tistory.com

 

์ด์ œ๋Š” ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์œผ๋กœ ์ •๋ฆฌ๋œ ์นด์นด์˜คํ†ก ๋Œ€ํ™”๋ฅผ ์›ํ•˜๋Š” ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•ด๋ณผ ๊ฒƒ์ด๋‹ค.

์šฐ์„  ์‰ฌ์šด ํ•จ์ˆ˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด๋ณผ ์˜ˆ์ •์ด๊ณ  ์ด ๊ฒŒ์‹œ๊ธ€์—์„œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉ์ž๋ณ„ ๋Œ€ํ™” ๋นˆ๋„๋ฅผ ๋ถ„์„ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฒ•์„ ์‚ดํŽด๋ณผ ๊ฒƒ์ด๋‹ค.


๋ถ„์„ ๋‚ด์šฉ

์‚ฌ์šฉ์ž๋ณ„ ๋Œ€ํ™” ๋นˆ๋„ ๋ถ„์„

์นด์นด์˜คํ†ก ๋‹จ์ฒด ์ฑ„ํŒ…๋ฐฉ์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋ณ„๋กœ ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€์˜ ์ˆ˜๋ฅผ ์„ธ์„œ ๊ฐ€์žฅ ๋งŽ์€ ๋Œ€ํ™”๋ฅผ ๋ณด๋‚ธ ์‚ฌ๋žŒ์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ํ›„์— ์ฑ„ํŒ…๋ฐฉ์— ์ฐธ์—ฌ์ค‘์ธ ์‚ฌ๋žŒ ์ค‘, ๊ทธ ๋‹จ์ฒด๋ฐฉ์— ๊ฐ€์žฅ ์• ์ •์ด ๋†’์€ ์‚ฌ๋žŒ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•  ๋•Œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

 

์šฐ์„  ์˜ˆ์ƒ ๊ฒฐ๊ณผ๊ฐ’์€ Name๊ณผ Message์˜ ๊ฐœ์ˆ˜์ด๋‹ค.

Columns์˜ ์ด๋ฆ„์„ ์ •ํ•˜์ž๋ฉด ['Name'] ['Message_Count'] ๊ฐ€ ๋˜๊ฒ ๋‹ค.

ํ•จ์ˆ˜๋ช…์€ ๋ฉ”์„ธ์ง€ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•œ๋‹ค๋Š” ์˜๋ฏธ์—์„œ compare_messages_counts๋กœ ์žก๋Š”๋‹ค.

def compare_message_counts(data):

๊ฐœ์ˆ˜๋Š” ์ด๋ฆ„๋ณ„๋กœ ๋ผ์ธ์˜ ๊ฐ’์„ ์„ธ๋ฉด ๊ทธ ์‚ฌ๋žŒ์ด ์ž…๋ ฅํ•œ ๋ฉ”์„ธ์ง€์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Name ์นผ๋Ÿผ์— value_counts()๋ฅผ ์“ฐ๋ฉด ๋œ๋‹ค.

messages_count = df['Name'].value_counts()
  • value_counts() : 'Name' ์—ด์—์„œ ๊ฐ ์ด๋ฆ„์ด ๋“ฑ์žฅํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ฒƒ

์œ„์˜ ๋‚ด์šฉ๊นŒ์ง€๋งŒ ๊ณ„์‚ฐํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐ’์ด ๋‚˜์˜จ๋‹ค.

 

์ด์ œ ์ˆซ์ž์— ์นผ๋Ÿผ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š”๋ฐ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋” ๋ณด๊ธฐ ๊น”๋”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์ค€๋‹ค.

messages_count = df['Name'].value_counts().reset_index()
messages_count.columns = ['Name', 'Message_Count']
  • ์œ„์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ํ™” ํ•˜์—ฌ ์ถœ๋ ฅ๋œ๋‹ค.

 


์œ„์˜ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฑ„ํŒ…๋ฐฉ์˜ ๋Œ€ํ™” ๋นˆ๋„๋ฅผ ์‚ฌ์šฉ์ž๋ณ„๋กœ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ถ”ํ›„์— ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ฒฐ๊ณผ ๊ฐ’์— ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.