์ผ๋จ ๋ฐ์ดํฐ ํ์ ํํ๋ถํฐ ์ดํด๋ฅผ ํด์ผํจ

์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.

์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
๋ฌธ์
๊ฐ ๊ตฌ๊ธ ๋ณด๊ณ ์ ๋ณ ์ถ๋์๊ฐ๊ณผ ์ ๊ณ ์๊ฐ์ ์ฐจ์ด๋ฅผ '์์์๊ฐ' ์ปฌ๋ผ์ ๋ง๋ค๊ณ ์ด(sec)๋จ์๋ก ๊ตฌํ๊ณ
์๋ฐฉ์๋ช ๋ณ ์์์๊ฐ์ ํ๊ท ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ์๋ 3๋ฒ์งธ๋ก ์์ ์์์๊ฐ์ ๊ฐ๊ณผ ์๋ฐฉ์๋ช ์ ์ถ๋ ฅํ๋ผ

์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
์ฒ์์ ๊ทธ๋ฅ ๋ฌด์ํ๊ฒ df['์ถ๋์๊ฐ']-df['์ ๊ณ ์๊ฐ']์ผ๋ก ๊ณ์ฐํ๋๋ฐ ๋ง์ด๋์ค๊ฐ ๋์ด..
๋ฐ์ดํฐ๋ฅผ ๋ค์ ๋ณด๋๊น ๋งํฌ์๋ฐฉ์ ๊ธฐ์ค ์ถ๋์ผ์๋ ์ ๊ณ ์ผ์๋ ๋ค๋ฆ.. ์๊ฐ๋ ๊ฐ์ ํฌ๊ธฐ ๋จ์๊ฐ ์๋์์
์ด๊ฑธ ์ด๋ป๊ฒ pd.to_datetime์ผ๋ก ํ๋ ๊ณ ๋ฏผ์ ๋น ์ ธ์ ์ ๋ต์ ๋ด
์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
df['์ถ๋์ผ์'].astype('str')๋ก int(์ซ์ํ) > str(๋ฌธ์ํ)์ผ๋ก ๋ฐ๊ฟ๋์ ๊ฑด ์๊ฒ๋จ
๊ทผ๋ฐ ๋ค์ str.zfill์ ๋์ฒด ๋ญ๊ฐ ์ถ์ด์ ์ฐพ์๋ด
str.zfill() : ๋ฌธ์์ด์ ์ผ์ชฝ์ 0์ ์ฑ์์ ์ง์ ํ ๊ธธ์ด๋ฅผ ๋ง์กฑ์ํค๋ ๋ฉ์๋
ํด๋น ๋ฌธ์์ด์ด ์ง์ ํ ๊ธธ์ด๋ณด๋ค ์งง์ ๊ฒฝ์ฐ, ์ผ์ชฝ์ 0์ ์ถ๊ฐํ์ฌ ๊ธธ์ด๋ฅผ ๋ง์ถฅ๋๋ค.
๋ง์ฝ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ์ด๋ฏธ ์ง์ ํ ๊ธธ์ด๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ, ๋ฌธ์์ด์ ๊ทธ๋๋ก ๋ฐํํฉ๋๋ค.
์ ๊ณ ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ์ ๊ธ์ ์๋ฆฌ์๊ฐ ๋ค๋ฅด๋๊น ๊ทธ๊ฑธ ๋ง์ถฐ์ฃผ๋ ค๊ณ ํ ๊ฒ ๊ฐ์
str.zfill(6) ํ๋ ๋ชจ๋ 6์๋ฆฌ๋ก ๋ง์ถฐ์ง
์ด๋ ๊ฒ ๋๊ฐ๋ฅผ ํฉ์น๊ณ ๋์์ผ ๋ ์ง+์๊ฐ ์ผ๋ก pd.to_datetime์ด ๋๋๋ผ
๊ทผ๋ฐ ๋ dt.total_seconds()๋ ๋ญ๋??
total_seconds() >> ์ด ๋จ์๋ก ๋ฐํํด์ค
result = df.groupby(['์๋ฐฉ์๋ช
'])['์์์๊ฐ'].mean().sort_values().reset_index().iloc[2].values
print(result)
์๋ฐฉ์๋ณ > groupby
์์์๊ฐ์ ํ๊ท ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ > ['์์์๊ฐ'].mean().sort_values()
3๋ฒ์งธ๋ก ์์ ์์์๊ฐ์ ๊ฐ๊ณผ ์๋ฐฉ์๋ช > reset_index() ์ธ๋ฑ์ค ์ด๊ธฐํํด์ ์นผ๋ผ์ผ๋ก ๊ฐ์ ธ์จ๋ค์์ 0,1,2 ๋๊น 3๋ฒ์งธ๊บผ ๊ฐ์ ธ์ค๊ธฐ
์ฌ๊ธฐ์ ๊ถ๊ธ์ฆ
์๊ฐ๋ง์ datetime์ผ๋ก ๋ชป ๋ง๋๋???? ๋ผ๋ ์๊ฐ์ด
ํด๊ฒฐ๋ฐฉ๋ฒ์ ์๋
์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
์๊ฐ ๋ฌธ์ ๊ฐ 1์ ํ์์ ์ ์ผ ์ด๋ ค์ด๊ฑฐ ๊ฐ๋ค...
๊ทผ๋ฐ ๋ค๋ฅธ ํ์ด๋ฅผ ๋ ๋ฐ๊ฒฌํจ
df['์ถ๋์๊ฐ'] = df['์ถ๋์๊ฐ'].astype('datetime64[ns]')
df['์ ๊ณ ์๊ฐ'] = df['์ ๊ณ ์๊ฐ'].astype('datetime64[ns]')
df['์ฐจ์ด'] = df['์ถ๋์๊ฐ'] - df['์ ๊ณ ์๊ฐ']
value = df.groupby('์๋ฐฉ์๋ช
')['์ฐจ์ด'].mean().max() #00:02:34.285714285
result1 = round(value.seconds/60) #value.days, value.seconds
print(result1)
astype('datetime64[ns]') ์ด๊ฑด ๋ญ์๋ ๋ ์ฒ์ ๋ณด๋ ํจ์๋ผ์ ์ฐพ์๋ดค๋ค
df['์ถ๋์๊ฐ'] = pd.to_datetime(df['์ถ๋์๊ฐ'], format = '%H-%M-%S')
df['์ถ๋์๊ฐ'] = df['์ถ๋์๊ฐ'].astype('datetime64[ns]')
์ด๋ ๊ฒ ๋๊ฐ์ง ๋ฐฉ์์ผ๋ก ๊ฐ๋ฅํ ๋ฏ
๊ทผ๋ฐ ๋ ์ค๋ฅ๊ฐ ์๊น
์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
๋ ์ฉ?? ์ค๋ฅ๋ฅผ ์ฝ์ด๋ดค๋๋ ๊ฐ์ ํฌ๋งท์ด ์๋๋ผ๊ณ ๋์ค๋ ๊ฒ ๊ฐ๋ค
๊ทธ๋ฌ๋๊น ์ถ๋์๊ฐ์ด ์ด๋๊ฑด 120324๊ณ ์ด๋๊ฑด 324 ๋ผ๋ฉด
120324=์คํ 12์ 03๋ถ 24์ด , 324=์ค์ 0์ 3๋ถ 24์ด ์ด๋ ๊ฒ ์ฝ๋ ๊ฑด๋ฐ ํํ๊ฐ ๋ฌ๋ผ์ ์ค๋ฅ๊ฐ ๋๋ ๋ฏ
๊ฒฐ๊ตญ pd.to_datetime ํ๋ ค๋ฉด ์์์ str.zfill(6) ์จ์ ์ถ๋์๊ฐ ์์ 0์ ์ฑ์์ค์ผ ํ๋ค...
์ํ์์๋ astype('datetime64[ns]') ๋ฅผ ์ธ์๊ฐ์ ์ฐ๊ณ ์๋๋ฉด ์ถ๊ฐํ์
'๐ ์๊ฒฉ์ฆ, ์ดํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ - iloc (0) | 2024.08.19 |
---|---|
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 6ํ - 1์ ํ for๋ฌธ (0) | 2024.08.19 |
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 6ํ - 1์ ํ groupby (0) | 2024.08.19 |
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 7ํ - 1์ ํ ์ด์์น (0) | 2024.08.19 |
[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 7ํ - 1์ ํ ์๊ด๊ณ์ (0) | 2024.08.19 |