#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()
함수를 알아두면 좋겠다.