pandas データフレームの IPython html 表示をフォーマットするにはどうすればよいですか?
- 数字は右詰めです
- 数字にはカンマが千単位の区切り文字として含まれています
- 大きな浮動小数点数には小数点以下の桁数がありません
numpy
私はそれが私ができる場所の施設を持っていることを理解してset_printoptions
います:
int_frmt:lambda x : '{:,}'.format(x)
np.set_printoptions(formatter={'int_kind':int_frmt})
他のデータ型についても同様です。
ただし、データフレームを html で表示する場合、IPython はこれらの書式設定オプションを選択しません。私はまだ持っている必要があります
pd.set_option('display.notebook_repr_html', True)
ただし、上記のように 1、2、3 を使用します。
編集:以下は2と3の私の解決策です(これが最善の方法かどうかはわかりません)が、数値列を右揃えにする方法を理解する必要があります。
from IPython.display import HTML
int_frmt = lambda x: '{:,}'.format(x)
float_frmt = lambda x: '{:,.0f}'.format(x) if x > 1e3 else '{:,.2f}'.format(x)
frmt_map = {np.dtype('int64'):int_frmt, np.dtype('float64'):float_frmt}
frmt = {col:frmt_map[df.dtypes[col]] for col in df.columns if df.dtypes[col] in frmt_map.keys()}
HTML(df.to_html(formatters=frmt))