๐Ÿ Python/์˜จ๋ผ์ธ ๊ฐ•์˜

[๋ฉ”ํƒ€์ฝ”๋“œ] ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ž…๋ฌธ Python ๋ถ€ํŠธ์บ ํ”„ 3-06 ๋ฌธ์ œํ’€์ด

๋ฐ์ดํ„ฐํŒ์Šค 2024. 8. 14. 23:12

start ์—ด๊ณผ end ์—ด์ด ์žˆ๋Š” DataFrame df๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

  1. for ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DataFrame์˜ 'start' ์—ด๊ณผ 'end' ์—ด์„ datetime ์œ ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜์‹ญ์‹œ์˜ค.
  2. start์—์„œ end๊นŒ์ง€์˜ ์‹œ๊ฐ„ ์ฐจ์ด๋ฅผ ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๊ณ„์‚ฐํ•˜์‹ญ์‹œ์˜ค. ์‹œ๊ฐ„ ์ดํ•˜ ๋‹จ์œ„์˜ ์ฐจ์ด๋Š” ์†Œ์ˆ˜์ ์œผ๋กœ ํ‘œ์‹œํ•˜์‹ญ์‹œ์˜ค.
  3. 'end' ์—ด์˜ ๋‚ ์งœ๋“ค์„ ์ฃผ ๋‹จ์œ„('W')๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์ด๋ฅผ 'yyyy-mm-dd' ํ˜•ํƒœ์˜ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ•˜์‹ญ์‹œ์˜ค.
df['end'].dt.to_period('W').dt.strftime('%Y-%m-%d')
df['duration'] = (df['end'] - df['start']).dt.total_seconds()/3600

cols=['start','end']
for i in cols:
  df[i]=pd.to_datetime(df[i])

 

df['start']=pd.to_datetime(df['start'])์„ ํ™œ์šฉํ•ด์„œ ๋ฐ”๋€Œ๋Š” ๊ณณ์—๋งŒ i๋ฅผ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค