Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9004

GoogleColabでdisplayにより出力されるpandasのデータフレームのデフォルトスタイル(CSS)を変更

$
0
0

概要

GoogleColab のなかで、IPython.display モジュールで経由で出力されるデータフレーム pandas.DataFrameのデフォルトの見た目(スタイル/CSS)を変更するための方法です。
2020-08-12_17h20_05.png

なお、GoogelChrome で動作確認をしています。

データフレームのスタイルを変更

GoogleColab. のコードセルで下記を実行すると、

importpandasaspddf=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=['Osaka','Tokyo','Aichi'])display(df)

次のようにHTMLのテーブル要素を使って整形されたデータフレームが出力されます。
2020-08-12_17h49_15.png

このテーブルのスタイル(CSS)をカスタマイズしたい場合は、次のようなコードを挿入します。以降、IPython.display(...)経由で出力されるデータフレーム(HTMLのテーブル要素)には、コード内で指定したCSSが適用されるようになります。

データフレームの出力に適用されるCSSを変更
importIPythondefset_css_in_cell_output():display(IPython.display.HTML('''<style>
  table.dataframe td, table.dataframe th{
    border:1px solid #dadada;
  }
  table.dataframe th{
    font-family: 'Roboto','Noto',sans-serif;
    background: #eeeeee;
    font-weight: bold;
  }
  table.dataframe td{
    background: #ffffff;
  }
  table.dataframe tbody tr:hover th{
    color: #ffffff;
    background-color:#4169e1;
  }
  table.dataframe tr:hover td{
    background-color: #d7eeff;
  }
  </style>'''))get_ipython().events.register('pre_run_cell',set_css_in_cell_output)

以降、データフレームは次のように出力されます(すべてのテーブル全体に罫線が入って、ヘッダのフォントとマウスオーバーのときの色が変わるようになりました)。
2020-08-12_17h50_00.png

条件付き書式

セル内の数値に応じて色を変えるといった条件付き書式を適用したい場合は DataFrame.styleを使用するようです。

参考資料


Viewing all articles
Browse latest Browse all 9004

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>