PYTHON#7

codataffee·2024년 5월 3일
0

PYTHON

목록 보기
7/40
post-thumbnail

#개요

  • 시계열 데이터 #2

📌 TIMEDELTA

  • 두 시점의 차이!

# 데이터 불러오기 (usecols, parse_dates)
df = pd.read_csv("date.csv", usecols = ['DateTime4'], parse_dates = ['DateTime4'])
df

📌 100일째 되는 날

# 100일째 되는 날
day = pd.Timedelta(days = 99)
df['100일'] = df['DateTime4'] + day
df

📌 100시간 이후

# 100시간 이후
hour = pd.Timedelta(hours = 100)
df['100시간'] = df['DateTime4'] + hour
df

📌 특정 기간 이전과 이후

# 시간 +/- (3주, 3일, 3시간, 3분, 3초 이전과 이후)
diff = pd.Timedelta(weeks = 3, days = 3, hours = 3, minutes = 3, seconds = 3)
df['33333+'] = df['DateTime4'] + diff
df['33333-'] = df['DateTime4'] - diff
df

📌 timedelta 자료형

# timedelta 자료형 (datetime간의 연산 결과)
diff = df['100일'] - df['100시간']
diff

📌 total_seconds()

# 기간을 초로 변환 total_seconds() > timedelta type 에만 적용 가능!
print(diff.dt.total_seconds())  #초
print(diff.dt.total_seconds()/60)  #분
print(diff.dt.total_seconds()/60/60)  #시간
print(diff.dt.total_seconds()/60/60/24)  #일

📌 일(days), 초(seconds)

# 일(days), 초(seconds)
# dt.seconds 는 해당 timedelta 값의 시간 부분만 초로 변경해주기 때문에, 
# 날짜를 포함한 전체 시간을 구하고 싶다면 total_seconds 를 사용해야 한다!
print(diff.dt.days)
print(diff.dt.seconds) 

📌 반올림

# 반올림 (ex: 5.49분) 30초 이상이면 올림, 30초 미만이면 버림
# 0.49 * 60 (0.49분에 대한 초 계산) = 29.4초로 30초 미만이라 버림.
value = 5.49   
round(value)

profile
커피 좋아하는 데이터 꿈나무

0개의 댓글

관련 채용 정보