今天我們來介紹如何在表格中:
GT.fmt_number())。GT.fmt_integer())。GT.fmt_scientific())。GT.fmt_percent())。GT.fmt_currency())。這幾個函數有許多共通的參數,相信在經過下面幾個例子的說明之後,大家一定很快就能掌握到如何使用。
以下將繼續使用df_demo為範例說明:
GT.fmt_number()GT.fmt_number(self, columns=None, rows=None, decimals=2, n_sigfig=None, drop_trailing_zeros=False, drop_trailing_dec_mark=True, use_seps=True, scale_by=1, compact=False, pattern='{x}', sep_mark=',', dec_mark='.', force_sign=False, locale=None)
GT.fmt_number()可以將欄位值格式化為數字形式。例如:
(GT(df_demo).fmt_number(cs.numeric()))

這裡我們可以使用Polars的cs.numeric()快速選出所有欄位格式為數字型別的欄位。
GT.fmt_number()有一個好用compact參數,可以將數值格式換成使用像是K或M的數字寫法:
(GT(df_demo).fmt_number(cs.numeric(), compact=True))

大部份的GT_fmt_*()都接受一個pattern參數。使用方法是先將欄位值想作是一個字串"{x}",接下來可以於該字串中添加其它變化,有點像是f-string一樣。舉例來說,如果我們想在欄位值前後都加上兩條底線的話,可以這麼寫:
(GT(df_demo).fmt_number(cs.numeric(), pattern="__{x}__"))

GT.fmt_integer()GT.fmt_integer(self, columns=None, rows=None, use_seps=True, scale_by=1, compact=False, pattern='{x}', sep_mark=',', force_sign=False, locale=None)
GT.fmt_integer()可以將欄位值格式化為整數形式。例如:
(GT(df_demo).fmt_integer("sci"))

假如我們想將「"sci"」欄位顯示為乘上100之後的值,可以使用scale_by參數來調整:
(GT(df_demo).fmt_integer("sci", scale_by=100))

此外,假如我們不喜歡每三個位數就會出現一個,的話,可以使用use_seps參數來控制:
(GT(df_demo).fmt_integer("sci", scale_by=100, use_seps=False))

GT.fmt_scientific()GT.fmt_scientific(self, columns=None, rows=None, decimals=2, n_sigfig=None, drop_trailing_zeros=False, drop_trailing_dec_mark=True, scale_by=1, exp_style='x10n', pattern='{x}', sep_mark=',', dec_mark='.', force_sign_m=False, force_sign_n=False, locale=None)
GT.fmt_scientific()可以將欄位值格式化為科學符號形式。例如:
(GT(df_demo).fmt_scientific("sci"))

我們可以使用n_sigfig參數來指定科學符號前想顯示的位數:
(GT(df_demo).fmt_scientific("sci", n_sigfig=10))

另外,可以使用force_sign_m來控制是否要強制添加正負符號:
(GT(df_demo).fmt_scientific("sci", force_sign_m=True))

GT.fmt_percent()GT.fmt_percent(self, columns=None, rows=None, decimals=2, drop_trailing_zeros=False, drop_trailing_dec_mark=True, scale_values=True, use_seps=True, pattern='{x}', sep_mark=',', dec_mark='.', force_sign=False, placement='right', incl_space=False, locale=None)
GT.fmt_percent()可以將欄位值格式化為百分比形式。例如:
(GT(df_demo).fmt_percent("perc"))

此外,可以使用decimals參數調整顯示的小數位數:
(GT(df_demo).fmt_percent("perc", decimals=1))

也可以使用incl_space參數在數字與百分比符號之間增加空格:
(GT(df_demo).fmt_percent("perc", decimals=1, incl_space=True))

GT.fmt_currency()GT.fmt_currency(self, columns=None, rows=None, currency=None, use_subunits=True, decimals=None, drop_trailing_dec_mark=True, use_seps=True, scale_by=1, pattern='{x}', sep_mark=',', dec_mark='.', force_sign=False, placement='left', incl_space=False, locale=None)
GT.fmt_currency()可以將欄位值格式化為貨幣形式。例如:
(GT(df_demo).fmt_currency("sci"))

此外可以藉由搭配scale_by及currency參數,來轉換顯示倍數及貨幣幣種。例如進行台幣與日幣的轉換:
(GT(df_demo).fmt_currency("sci", decimals=0, currency="JPY", scale_by=4.4))

最後,也可以試著使用locale參數,讓gt自己決定適合的貨幣顯示方式。例如將locale設定為ja(日本):
(GT(df_demo).fmt_currency("sci", locale="ja"))

locale功能目前並沒有很明確的文件說明,其內部是依靠x_locales.csv這個資料集來訂立locale參數及取得各地區或國家所相對應的設定。