brunch

Polars #06

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

by 유윤식

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',

])


스크린샷 2024-06-10 18.17.13.png

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")

])

스크린샷 2024-06-10 18.19.11.png

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


이걸 다시 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")

])

스크린샷 2024-06-10 18.21.16.png

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


여기서는

dt.to_string()

str.strptime()

함수를 알아두면 좋겠다.

keyword
작가의 이전글Polars #05