๐Ÿ† ์ž๊ฒฉ์ฆ, ์–ดํ•™

[๋น…๋ฐ์ดํ„ฐ ๋ถ„์„๊ธฐ์‚ฌ] ์‹ค๊ธฐ 6ํšŒ - 1์œ ํ˜• for๋ฌธ

๋ฐ์ดํ„ฐํŒ์Šค 2024. 8. 19. 16:45

 

๋ฌธ์ œ

**5๋Œ€ ๋ฒ”์ฃ„(์ ˆ๋„, ์‚ฌ๊ธฐ, ๋ฐฐ์ž„, ๋ฐฉํ™”, ํญํ–‰)์˜ ์›”๋ณ„ ์ด ๋ฐœ์ƒ๊ฑด์ˆ˜๋ฅผ ์ด๋ฒ”์ฃ„์ˆ˜๋ผ๊ณ  ํ‘œํ˜„ํ•˜์ž. 18,19๋…„์˜ ๊ฐ๊ฐ ๋ถ„๊ธฐ๋ณ„ ์ด๋ฒ”์ฃ„์ˆ˜์˜ ์›”ํ‰๊ท  ๊ฐ’์„ ๊ตฌํ–ˆ์„๋•Œ ์ตœ๋Œ€๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋…„๋„์™€ ๋ถ„๊ธฐ๋ฅผ ๊ตฌํ•˜๊ณ  ํ•ด๋‹น ๋ถ„๊ธฐ์˜ ์ตœ๋Œ“๊ฐ’์˜ ์‚ฌ๊ธฐ๊ฐ€ ๋ฐœ์ƒํ•œ ์›”์˜ ์‚ฌ๊ธฐ ๋ฐœ์ƒ๊ฑด์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ผ(1๋ถ„๊ธฐ:1,2,3์›” / 2๋ถ„๊ธฐ : 4,5,6์›” / 3๋ถ„๊ธฐ 7,8,9์›” / 4๋ถ„๊ธฐ 10,11,12์›” , 1๋ถ„๊ธฐ ์›”ํ‰๊ท  : 1,2,3์›”์˜ ์ด๋ฒ”์ฃ„์ˆ˜ ํ‰๊ท ) **

 

 

๊ทธ๋ƒฅ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ง‰ํž˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ๋Š”๋ฐ

๋Œ€ํ‘œ์‚ฌ์ง„ ์‚ญ์ œ

์‚ฌ์ง„ ์„ค๋ช…์„ ์ž…๋ ฅํ•˜์„ธ์š”.

๋ฒ”์ฃ„๋ถ„๋ฅ˜ ์นผ๋Ÿผ์˜ ๊ฐ’์ด 201809๊ฐ€ ์•„๋‹ˆ๊ณ  2018๋…„_09๋กœ ๋˜์–ด ์žˆ์Œ...

๋…„_ ์›”๋งŒ ๋นผ๊ณ  ์–ด๋–ป๊ฒŒ ์ถ”์ถœํ• ์ˆœ ์—†์„๊นŒ... ์‹ถ์–ด์„œ ๊ณ ๋ฏผํ•ด๋ด„

๋ฌผ๋ก  ์‹œํ—˜์žฅ์—์„œ ๋ชจ๋ฅด๋ฉด ๋…ธ๊ฐ€๋‹ค๋กœ 18_1=df[df['๋ฒ”์ฃ„๋ถ„๋ฅ˜']=='2018_1์›”']['์ด๋ฒ”์ฃ„์ˆ˜']+df[df['๋ฒ”์ฃ„๋ถ„๋ฅ˜']=='2018_2์›”']['์ด๋ฒ”์ฃ„์ˆ˜']+df[df['๋ฒ”์ฃ„๋ถ„๋ฅ˜']=='2018_3์›”']['์ด๋ฒ”์ฃ„์ˆ˜'] ์”ฉ ์ฝ”๋“œ ์™•์ฐฝ ์จ์„œ ํ•ด์•ผ๊ฒ ์ง€...

 

์ •๋‹ต์ฝ”๋“œ

df['์ด๋ฒ”์ฃ„์ˆ˜'] = df['์ ˆ๋„'] +df['์‚ฌ๊ธฐ'] +df['๋ฐฐ์ž„'] +df['๋ฐฉํ™”'] +df['ํญํ–‰']
df['๋ถ„๊ธฐ'] = [x+'_'+str(y) for x in ['2018','2019'] for y in range(1,5) for z in range(3)]

max_ = df.groupby(['๋ถ„๊ธฐ'])['์ด๋ฒ”์ฃ„์ˆ˜'].mean().sort_values().index[-1] # '2019_02'
result = df[df.๋ถ„๊ธฐ ==max_].์‚ฌ๊ธฐ.max()
print(result)
 

์ด๊ฑด ๋ฐฐ์šด์ ์ด ์—†๋Š”๋ށ์ˆ‘??? 6ํšŒ ์‹ค๊ธฐ ์™œ ์ด๋ ‡๊ฒŒ ์–ด๋ ต๊ฒŒ ๋‚˜์˜จ๊ฑฐ์ž„..

for range()๋ฅผ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•˜์ž๋ฉด

for ๊ฐ’ range (์‹œ์ž‘, ๋) ์ด๋ฉด '๊ฐ’'์„ '์‹œ์ž‘'๋ถ€ํ„ฐ '๋'์˜ ํ•œ๋‹จ๊ณ„ ์ „๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์„œ ์“ธ๊ฑฐ์•ผ ๋ผ๋Š” ๋œป

range(ํšŸ์ˆ˜) ๋Š” 'ํšŸ์ˆ˜'๋งŒํผ ๋ฐ˜๋ณตํ• ๊ฑฐ์•ผ ๋ผ๋Š” ๋œป

 

df['๋ถ„๊ธฐ'] = [x+'_'+str(y) for x in ['2018','2019'] for y in range(1,5) for z in range(3)]
 

x ๋Š” 2018, 2019 ๋ฅผ ๋ฐ˜๋ณตํ•˜๊ฒ ์Œ

for y in range (1,5)๋Š” y๋Š” 1๋ถ€ํ„ฐ 4๊นŒ์ง€ ์ˆซ์ž๋ฅผ ๋ฐ˜๋ณตํ• ๊ฑฐ์•ผ

for z in range (3)์€ ์•ž์— ๊ฐ’์„ 3ํšŒ์”ฉ ๋ฐ˜๋ณตํ•˜๊ฒ ๋‹ค๋Š” ๋œป

 
์‚ฌ์ง„ ์‚ญ์ œ

์‚ฌ์ง„ ์„ค๋ช…์„ ์ž…๋ ฅํ•˜์„ธ์š”.

 

๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ๋ถ„๊ธฐ ์นผ๋Ÿผ์„ ์ƒˆ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค ์ดํ›„๋Š” ์‰ฝ๋‹ค

 

 

๋‚ ์งœ ๋ฐ์ดํ„ฐ ๊ฒ๋‚˜ ์–ด๋ ต๋‹ค...

 


df['์ด๋ฒ”์ฃ„์ˆ˜'] = df.loc[:,'์ ˆ๋„':'ํญํ–‰'].sum(axis=1)
 

์ด๋ฒ”์ฃ„์ˆ˜ ๋” ์‰ฝ๊ฒŒ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ!