inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

단 두 장의 문서로 데이터 분석과 시각화 뽀개기

[5/25] 시계열 데이터 전처리

시계열 처리 질문입니다.

298

Jason Chung

작성한 질문수 11

1

안녕하세요. 강사님

시계열 처리할때 날짜형태 변경은 설명이 있는데, 시간분으로 변경 설명 부탁 합니다. 예를 들면 칼럼 항목에서  0:05 이런 식으로 시간 분으로 Object 구성했는데(초는 필요없습니다.), 이걸 시간 분으로 변경은 어떻게 하는지 궁금합니다. 

pandas python

답변 1

0

박조은

안녕하세요.

질문 주신 내용에서 시간만을 계산하신다면 파이썬의 time 함수를 불러서 사용하는 방법이 있을거 같습니다.

파이썬 표준 라이브러리를 사용하는 방법입니다.

좀 더 자세한 내용은 여기를 보세요 =>  [datetime — Basic date and time types — Python 3.9.0 documentation](https://docs.python.org/3/library/datetime.html#datetime.time)

from datetime import time
time.fromisoformat('04:23:01')

time.fromisoformat('04:23:01.000384')

time.fromisoformat('04:23:01+04:00')

그리고 판다스를 사용하는 방법입니다. 하지만 여기에서도 파이썬 내장 함수인 datetime을 사용하게 됩니다.

pd.Timedelta를 사용하면 Timedelta 라는 형식으로 반환하게 됩니다.

좀 더 자세한 내용은 여기를 보세요 => https://pandas.pydata.org/pandas-docs/stable/user_guide/timedeltas.html

In [1]: import datetime

# strings
In [2]: pd.Timedelta('1 days')
Out[2]: Timedelta('1 days 00:00:00')

In [3]: pd.Timedelta('1 days 00:00:00')
Out[3]: Timedelta('1 days 00:00:00')

In [4]: pd.Timedelta('1 days 2 hours')
Out[4]: Timedelta('1 days 02:00:00')

In [5]: pd.Timedelta('-1 days 2 min 3us')
Out[5]: Timedelta('-2 days +23:57:59.999997')

# like datetime.timedelta
# note: these MUST be specified as keyword arguments
In [6]: pd.Timedelta(days=1, seconds=1)
Out[6]: Timedelta('1 days 00:00:01')

# integers with a unit
In [7]: pd.Timedelta(1, unit='d')
Out[7]: Timedelta('1 days 00:00:00')

# from a datetime.timedelta/np.timedelta64
In [8]: pd.Timedelta(datetime.timedelta(days=1, seconds=1))
Out[8]: Timedelta('1 days 00:00:01')

In [9]: pd.Timedelta(np.timedelta64(1, 'ms'))
Out[9]: Timedelta('0 days 00:00:00.001000')

# negative Timedeltas have this string repr
# to be more consistent with datetime.timedelta conventions
In [10]: pd.Timedelta('-1us')
Out[10]: Timedelta('-1 days +23:59:59.999999')

# a NaT
In [11]: pd.Timedelta('nan')
Out[11]: NaT

In [12]: pd.Timedelta('nat')
Out[12]: NaT

# ISO 8601 Duration strings
In [13]: pd.Timedelta('P0DT0H1M0S')
Out[13]: Timedelta('0 days 00:01:00')

In [14]: pd.Timedelta('P0DT0H0M0.000000123S')
Out[14]: Timedelta('0 days 00:00:00.000000123')

In [17]: pd.to_timedelta('1 days 06:05:01.00003')
Out[17]: Timedelta('1 days 06:05:01.000030')

In [18]: pd.to_timedelta('15.5us')
Out[18]: Timedelta('0 days 00:00:00.000015500')

날짜변환 에러

0

259

0

업로드자료 오류

1

373

1

20강 관련 문의드립니다.

1

299

1

17강 도입부 실습사이트 문의

2

298

1

4강 코드 오류메세지 관련 질의

1

374

2

merge와 그룹바이 관련 질문이 있습니다.

1

494

3

쉬운 도서 추천 좀 부탁드립니다.

2

393

2

1강2강에 있는 csv파일을 다운받으면 한글이 깨져서 나와요

1

251

1

주피터노트북 목록(contents) 만들기

1

632

1

df.loc[df["거주지"].isin(gu), "지역"] = df["거주지"] 질문있습니다

1

207

1

월 주 함꼐 value_counts()

1

223

1

day_count.iloc[i]와 day_count[i]의 차이 질문

1

350

1

df 인덱싱 질문입니다

1

184

1

그래프에 한글제목을 나타내고 싶습니다.

1

535

1

배운 것 기반으로 만들어보고 있는데 질문이 있습니다.

1

404

5

질문이요

1

300

1

set_index()

1

287

1

timeit 관련 질문

1

363

1

그래프 밑에 제목을 넣으려면 어떡해야하나요???

1

421

2

한글폰트 설치 후 나오지 않는 현상 문의

1

1171

3

CSV 파일 불러오기

1

571

1

크롤링으로 csv파일 가져오기

2

317

1

영상에서 소개해주시는 웹사이트

2

258

1

질문

1

228

2