brunch

You can make anything
by writing

C.S.Lewis

by 유윤식 Jun 10. 2024

Polars #06

#pl.Datetime #날짜변환 #기억력저하

Polars 에서 Datetime을 String 으로 변경하거나,

String 을 Datetime 으로 변경하는 경우


늘 API 를 찾아보면서 할 수 있지만

작은 라이브러리(?) 처럼 기록해보자.


간단한 NYC 데이터를 예제로 사용해서

tpep_pickup_datetime, tpep_dropoff_datetime

두 컬럼에 대한 타입 변경을 간단한게 해본다.


먼저,

필요한 데이터만 먼저 뽑아내고


data = data.select([

    'vendorid', 

    'tpep_pickup_datetime', 

    'tpep_dropoff_datetime',

    'passenger_count',

    'trip_distance',

    'fare_amount',

])


Polars 로 데이터를 읽어왔을 때

두 컬럼의 데이터타입이 datetime 으로 지정되어 있는데

여기서 두 컬럼을 String 으로 변경해보자.


data = data.with_columns([

    pl.col("tpep_pickup_datetime").dt.to_string(format="%Y-%m-%d %H:%M:%S").alias("pickup_datetime"),

    pl.col("tpep_dropoff_datetime").dt.to_string(format="%Y-%m-%d %H:%M:%S").alias("dropoff_datetime")

])

타입이 우선 손쉽게 바뀌었다.


이걸 다시 datetime 으로 변경하면


data = data.with_columns([

    pl.col("pickup_datetime").str.strptime(pl.Datetime, format="%Y-%m-%d %H:%M:%S"),

    pl.col("dropoff_datetime").str.strptime(pl.Datetime, format="%Y-%m-%d %H:%M:%S")

])

다시 str 이었던 타입이 datetime 으로 변경되었다.


여기서는

dt.to_string()

str.strptime()

함수를 알아두면 좋겠다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari