Google ColaboratoryでpandasのDataFrameを表示する際、
「カラムの中の最大値を赤字にする」といったようなスタイルを適用する時に、
既定のスタイルが外れてしまう問題があったので、対応方法をまとめておきます。

そもそもpandasのDataFrameにスタイルを適用する時は、以下のStylerを使います。

pandas.io.formats.style.Styler | pandas API reference
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.io.formats.style.Styler.html

サンプルコードが見たい方は、
以下を見ると、同じカラムの背景色を黄色にする例があります。

pandas.io.formats.style.Styler.apply | pandas API reference
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.io.formats.style.Styler.apply.html

発生した問題

まず、スタイルを適用せずにDataFrameを出力します。

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5, 2))
df

表1

サンプルに習い、最大値の背景色を黄色にすると。
以下のように、既定のスタイルが外れて素朴なテーブル表示になってしまいます。

def highlight_max(x):
  return ['background-color: yellow' if v == x.max() else '' for v in x]
df.style.apply(highlight_max)

表2

対応方法

Google ColaboratoryのHTMLを見てみると、
pandasのDataFrameのtableタグに「dataframe」classが指定されているので。
set_table_attributesで、同じclassを指定してやると既定のスタイルが有効になります。

df.style.set_table_attributes('class="dataframe"').apply(highlight_max)

表3

以上。