Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python Pandas의 datetime 열에서 날짜와 시간을 분리하는 프로그램 작성

<시간/>

데이터 프레임에 datetime 열이 있고 날짜와 시간을 구분하는 결과가 다음과 같다고 가정합니다.

<미리> 날짜시간 날짜 시간0 2020-01-01 07:00:00 2020-01-06 07:00:001 2020-01-02 07:00:00 2020-01-06 07:00:002 2020-02 03 07:00:00 2020-01-06 07:00:003 2020-01-04 07:00:00 2020-01-06 07:00:004 2020-01-020-07:00:00 10 06 07:00:005 2020-01-06 07:00:00 2020-01-06 07:00:00

이 문제를 해결하기 위해 다음 접근 방식을 따릅니다 -

해결책 1

  • pd.date_range()를 사용하여 데이터 프레임 'datetime' 열을 정의합니다. 아래에 정의되어 있습니다.

pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:00',periods=6)})
  • for 루프 d 변수를 설정하여 df['datetime'] 열에 하나씩 액세스합니다.

  • for 루프에서 날짜와 시간을 변환하고 df['date'] 및 df['time']으로 저장합니다. 아래에 정의되어 있습니다.

df['datetime']의 d:df['date'] =d.date() df['time'] =d.time()

예시

더 나은 이해를 위해 다음 코드를 확인합시다 -

판다를 pddf =pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:00',periods=6)})print("DataFrame is:\n", df)로 가져오기 df['datetime']의 d:df['date'] =d.date() df['time'] =d.time()print(df)

출력

DataFrame은 다음과 같습니다. datetime0 2020-01-01 07:10:001 2020-01-02 07:10:002 2020-01-03 07:10:003 2020-01-04 07:10:004 10 -05 07:10:05 2020-01-06 07:10:00날짜-시간-시-분 :날짜/시간 날짜 시간0 2020-01-01 07:10:00 2020-01-06 07:10:001 2020-01 -02 07:10:00 2020-01-06 07:10:002 2020-01-03 07:10:00 2020-01-06 07:10:003 2020-01-020-07:10:00 10 -06 07:10:004 2020-01-05 07:10:00 2020-01-06 07:10:005 2020-01-06 07:10:00 2020-01-06 07:10:00

해결책 2

  • 데이터 프레임 정의

  • df['datetime'] 내부에 pd.to_datetime() 함수를 적용하고 dt.date를 사용하여 날짜를 선택한 다음 df['date']

    로 저장합니다.
  • df['datetime'] 내부에 pd.to_datetime() 함수를 적용하고 dt.time을 사용하여 시간을 선택한 다음 df['time']

    로 저장합니다.

예시

더 나은 이해를 위해 다음 코드를 확인합시다 -

판다를 pddf로 가져오기 =pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:10',periods=6)})print("DataFrame is:\n", df) df['날짜'] =pd.to_datetime(df['날짜시간']).dt.datedf['시간'] =pd.to_datetime(df['날짜시간']).dt.timeprint("날짜-시간-시간 -분 :\n", df)

출력

DataFrame은 다음과 같습니다. datetime0 2020-01-01 07:10:001 2020-01-02 07:10:002 2020-01-03 07:10:003 2020-01-04 07:10:004 10 -05 07:10:05 2020-01-06 07:10:00날짜-시간-시-분 :날짜/시간 날짜 시간0 2020-01-01 07:10:00 2020-01-06 07:10:001 2020-01 -02 07:10:00 2020-01-06 07:10:002 2020-01-03 07:10:00 2020-01-06 07:10:003 2020-01-020-07:10:00 10 -06 07:10:004 2020-01-05 07:10:00 2020-01-06 07:10:005 2020-01-06 07:10:00 2020-01-06 07:10:00