今天我們來介紹格式化時間相關型別的函數,分別是:
GT.fmt_date()
)。GT.fmt_time()
)。GT.fmt_datetime()
)。以下將繼續使用df_demo
為範例說明:
GT.fmt_date()
GT.fmt_date(self, columns=None, rows=None, date_style='iso', pattern='{x}', locale=None)
GT.fmt_date()可以接受下列三種輸入:
date
型別。datetime
型別。date_style
參數則可以讓我們指定格式化的型態,目前共有十七種可以挑選。舉例來說,我們可以設定date_style="wday_month_day_year"
來格式化「"date"」欄位(Python date
型別):
(GT(df_demo).fmt_date("date", date_style="wday_month_day_year"))
又或者先將「"date"」欄位轉換為ISO-8601型式後,再設定date_style="day_month_year"
對其進行格式化:
(
GT(df_demo.with_columns(pl.col("date").dt.strftime("%Y-%m-%d"))).fmt_date(
"date", date_style="day_month_year"
)
)
GT.fmt_time()
GT.fmt_time(self, columns=None, rows=None, time_style='iso', pattern='{x}', locale=None)
GT.fmt_time()可以接受下列兩種輸入:
time
型別。time_style
參數則可以讓我們指定格式化的型態,目前共有五種可以挑選。舉例來說,我們可以設定time_style="h_m_s_p""
來格式化「"time"」欄位(Python time
型別):
(GT(df_demo).fmt_time("time", time_style="h_m_s_p"))
又或者先將「"time"」欄位轉換為ISO-8601型式後,再設定time_style="h_m_p"
對其進行格式化:
(
GT(df_demo.with_columns(pl.col("time").dt.strftime("%H:%M:%S"))).fmt_time(
"time", time_style="h_m_p"
)
)
GT.fmt_datetime()
GT.fmt_datetime(self, columns=None, rows=None, date_style='iso', time_style='iso', sep=' ', pattern='{x}', locale=None)
GT.fmt_datetime()可以接受下列兩種輸入:
datetime
型別。date_style
的設定與GT.fmt_date()
一樣,共有十七種;而time_style
的設定與GT.fmt_time()
一樣,共有五種。舉例來說,我們可以設定date_style="year.mn.day""
及time_style="iso"
來格式化「"datetime"」欄位(Python datetime
型別):
(
GT(df_demo).fmt_datetime(
"datetime",
date_style="year.mn.day",
time_style="iso",
)
)
又或者先將「"datetime"」欄位轉換為ISO-8601型式後,再設定date_style="wd_m_day_year"
及time_style="iso-short"
對其進行格式化:
(
GT(
df_demo.with_columns(
pl.col("datetime").dt.strftime("%Y-%m-%d %H:%M:%S")
)
).fmt_datetime(
"datetime",
date_style="wd_m_day_year",
time_style="iso-short",
)
)
有時候DataFrame內會有著許多與時間有關的欄位,例如股票交易記錄。此時如果想要選到特定的時間型別進行格式化時,請別忘了Polars selector這個超好用的工具。
(GT(df_demo).fmt_date(cs.date(), date_style="m_day_year"))
(GT(df_demo).fmt_time(cs.time(), time_style="h_m_p"))
(GT(df_demo).fmt_datetime(cs.datetime()))