Dates & Times

정민·2024년 3월 1일

데이터분석

목록 보기
7/11

1. to_datetime


  • 시간 관련 데이터를 Python의 datetime 객체로 변환
  • 다양한 형태의 날짜 및 시간 데이터를 처리할 수 있음
pd.to_datetime(df['col'])
# 사전에 df 데이터 불러오기

df.info()


# object형인 pickup 컬럼을 datetime형으로 변경하기

df['pickup'] = pd.to_datetime(df.pickup)
df.info()



2. to_period


  • 날짜/시간 데이터를 주어진 주기('M', 'W', 'Y' 등)로 변환
df['col'].dt.to_period('period').dt.strftime('%Y-%m-%d') #주의! 마지막 날을 출력
df['col'].dt.to_period('period').dt.to_timestamp() # 주의! 첫쨰 날을 출력
# to_period('period') : Daily(D), Weekly(W), Monthly(M), Yearly(Y) 등 주기로 나타냄
# dt.strftime('%Y-%m-%d') : 'YYYY-MM-DD' 형태로 표시함

# df데이터의 pickup 열을 살펴보자
df.pickup

# weekly로 나타냄
df.pickup.dt.to_period('w')

# 주가 시작하는 날로 남기기
df.pickup.dt.to_period('w').dt.to_timestamp()

# 주의 마지막 날을 남기기
df['pickup_w'] = df.pickup.dt.to_period('w').dt.strftime('%Y-%m-%d')

# 새로 만들어진 pickup_w은 object형으로 인식
df.info()



3. parse_dates


read_csv( , parse_dates = ['col1', 'col2', ...])
파일을 불러올 때 datetime으로 불러오고 싶은 컬럼을 지정해주는 방법

# df 데이터를 다시 불러옴
import pandas as pd

df = pd.read_csv(taxis.csv,
		parse_dates = ['pcikup', 'dropoff'])
df.info()



4. timedelta


두 날짜 또는 시간 사이의 차이를 나타내는 데 사용.
df['duration'] = (df['end'] - df['start']).dt.total_seconds()

df.dropoff - df.pickup

# 위를 보기 편하게 total_seconds를 사용

df['minute_pickup_to_dropoff'] = (df.dropoff - df.pickoff).dt.total_seconds()/60 # 분으로

df.head(2)

profile
데이터 공부하는 예비 데이터 분석가, 김정민입니다.

0개의 댓글