ABOUT ME

IT와 컴퓨터 관련 팁, 파이썬 등과 아파트 정보, 일상적인 경험 등의 생활 정보를 정리해서 올리는 개인 블로그

  • 판다스 날짜 추출 - 연,월,일 분리
    코딩 연습 2024. 3. 28. 16:51

    판다스 날짜 추출 - 연,월,일 분리

     

    날짜 데이(2023-01-01)에서 연,월,일을 각각 분리하여 다른 열(컬럼)에 저장하는 판다스 날짜 추출 연습 코드. 월, 일의 경우 2자리를 유지하도록 추출하기 위해 문자열 포맷팅을 사용함

     

    판다스로 날짜에서 연,월일, 추출해보기

     

    ▶ 날짜 컬럼이 있는 엑셀 파일 : test.xlsx

     

     

    판다스로 엑셀 파일을 불러오기

     

    'test.xlsx' 파일을 읽어와 데이터프레임으로 저장한 후, 그 데이터프레임을 출력하는 작업을 수행함

     

     

    엑셀 파일이 아닌 dict 타입 날짜를 사용하여 연, 월, 일 분리하기

     

    dict를 DataFrame으로 만든 후 날짜 컬럼 'startDt' 열에 대해 to_datetime()와 dt 접근자를 사용하여 연도, 월, 일을 추출하고 각각 'year', 'month', 'day' 열에 저장함

     

     

    연, 월, 일을 2자리 형식으로 추출하는 방법 

     

    연도는 마지막 두 자리, 월과 일은 각각 2자리로 만들어서 DataFrame에 추가하는 작업을 수행함

     

    1차 추출한 연, 월, 일에 값에 대해

    연도는  데이터 타입을 astype()으로 문자열로 만들고 str[-2:] 슬라이싱 처리

    월과 일은 문자열 포맷팅 람다 함수를 받는 apply() 함수를 사용함

     

    IT, 전자제품 선물

     

    문자열 포맷팅을 f-스트링으로 처리

     

    월과 일의 문자열 포맷팅을 f-스트링과 zfill() 메서드를 사용하여 월, 일을 두 자리로 맞춤

     

     

    pandas의 Series 객체에서 제공되는 datetime 속성 및 메서드 목록

     

    datetime 속성 및 메서드
    pandas.Series.dt.date
    pandas.Series.dt.time
    pandas.Series.dt.timetz
    pandas.Series.dt.year
    pandas.Series.dt.month
    pandas.Series.dt.day
    pandas.Series.dt.hour
    pandas.Series.dt.minute
    pandas.Series.dt.second
    pandas.Series.dt.is_leap_year
    pandas.Series.dt.daysinmonth
    pandas.Series.dt.days_in_month
    pandas.Series.dt.tz
    pandas.Series.dt.freq
    pandas.Series.dt.unit
    pandas.Series.dt.normalize
    pandas.Series.dt.isocalendar
    pandas.Series.dt.to_period
    pandas.Series.dt.to_pydatetime
    pandas.Series.dt.microsecond
    pandas.Series.dt.tz_localize
    pandas.Series.dt.nanosecond
    pandas.Series.dt.tz_convert
    pandas.Series.dt.dayofweek
    pandas.Series.dt.normalize
    pandas.Series.dt.strftime
    pandas.Series.dt.day_of_week
    pandas.Series.dt.round
    pandas.Series.dt.weekday
    pandas.Series.dt.floor
    pandas.Series.dt.dayofyear
    pandas.Series.dt.ceil
    pandas.Series.dt.day_of_year
    pandas.Series.dt.month_name
    pandas.Series.dt.days_in_month
    pandas.Series.dt.day_name
    pandas.Series.dt.quarter
    pandas.Series.dt.as_unit
    pandas.Series.dt.is_month_start
    pandas.Series.dt.qyear
    pandas.Series.dt.is_month_end
    pandas.Series.dt.start_time
    pandas.Series.dt.end_time
    pandas.Series.dt.is_quarter_start
    pandas.Series.dt.days
    pandas.Series.dt.is_quarter_end
    pandas.Series.dt.seconds
    pandas.Series.dt.is_year_start
    pandas.Series.dt.microseconds
    pandas.Series.dt.is_year_end
    pandas.Series.dt.nanoseconds
    pandas.Series.dt.components
    pandas.Series.dt.unit

     

     

     

    주요  시간 범위 지정 부호

     

     

    지정자 설명
    H 시간단위
    T 분단위
    S 초단위
    L 밀리초 단위
    U 마이크로초 단위
    N 나노초 단위
    B 평일
    C 사용자가 정의한 평일
    D 일자 단위
    W 주단위
    MS 월시작일
    M 월마지막날
    QS 분기의 시작일
    Q 분기의 마지막 날
    AS 연시작일
    A 연마지막 날
    SMS 월 시작일과 15일
    SM 15일과 월 마지막 날
    BM 휴일을 제외한 M
    BQ 일을 제외한 Q
    BQS 휴일을 제외한 QS
    BA 휴일을 제외한 A
    BAS 유일을 제외한 AS
    BH 업무시간 단위(9~16시)
    CBM BM에 사용자정의
    BMS 휴일을 제외한 MS
    CBMS BMS에 사용자 정의

     

     

Designed by goodthings4me.