๋ฌธ์
**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)
์ด๋ฒ์ฃ์ ๋ ์ฝ๊ฒ ๊ตฌํ๋ ์ฝ๋!
'๐ ์๊ฒฉ์ฆ, ์ดํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 5ํ - 1์ ํ str (0) | 2024.08.19 |
---|---|
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ - iloc (0) | 2024.08.19 |
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 6ํ - 1์ ํ groupby (0) | 2024.08.19 |
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 6ํ - 1์ ํ datetime, astype('datetime64[ns]') (0) | 2024.08.19 |
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 7ํ - 1์ ํ ์ด์์น (0) | 2024.08.19 |