From a15248ae7fd3f39497f9812105d1bc9eb5e181ef Mon Sep 17 00:00:00 2001 From: Tom Augspurger Date: Sat, 5 Dec 2015 11:41:17 -0600 Subject: [PATCH 1/2] ENH: display_format for style Closes https://github.com/pydata/pandas/issues/11692 Closes https://github.com/pydata/pandas/issues/12134 Closes https://github.com/pydata/pandas/issues/12125 This adds a `.format` method to Styler for formatting the display value (the actual text) of each scalar value. In the processes of cleaning up the template, I close #12134 (spurious 0) and #12125 (KeyError from using iloc improperly) cherry pick test from #12126 only allow str formatting for now fix tests for new spec formatter callable update notebook --- doc/source/html-styling.ipynb | 22013 ++++++++++++++------------------ pandas/core/style.py | 24 +- 2 files changed, 9891 insertions(+), 12146 deletions(-) diff --git a/doc/source/html-styling.ipynb b/doc/source/html-styling.ipynb index 1881727001546..77813a03c704a 100644 --- a/doc/source/html-styling.ipynb +++ b/doc/source/html-styling.ipynb @@ -54,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": { "collapsed": false }, @@ -79,7 +79,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "metadata": { "collapsed": false }, @@ -93,7 +93,7 @@ " \n", " \n", "\n", - " \n", + "
\n", " \n", "\n", " \n", @@ -114,346 +114,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -462,10 +358,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 4, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -485,7 +381,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "metadata": { "collapsed": false }, @@ -497,7 +393,7 @@ " ' \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -893,346 +789,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -1241,10 +1033,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 7, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -1274,7 +1066,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": { "collapsed": true }, @@ -1290,7 +1082,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": { "collapsed": false }, @@ -1302,31 +1094,31 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -1355,346 +1147,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -1703,10 +1391,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -1724,7 +1412,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": { "collapsed": false }, @@ -1736,7 +1424,7 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -2159,346 +1847,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -2507,10 +2091,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 10, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -2537,7 +2121,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": { "collapsed": true }, @@ -2559,7 +2143,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": { "collapsed": false }, @@ -2571,7 +2155,7 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -2600,346 +2184,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -2948,10 +2428,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 12, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -2999,7 +2479,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": { "collapsed": false }, @@ -3011,19 +2491,19 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -3052,346 +2532,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -3400,10 +2776,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 13, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -3421,7 +2797,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "metadata": { "collapsed": false }, @@ -3433,49 +2809,49 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -3504,346 +2880,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -3852,10 +3124,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 14, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -3882,19 +3154,15 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Builtin Styles" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we expect certain styling functions to be common enough that we've included a few \"built-in\" to the `Styler`, so you don't have to write them yourself." + "## Finer Control: Display Values\n", + "\n", + "We distinguish the *display* value from the *actual* value in `Styler`.\n", + "To control the display value, the text is printed in each cell, use `Styler.format`. Cells can be formatted according to a [format spec string](https://docs.python.org/3/library/string.html#format-specification-mini-language) or a callable that takes a single value and returns a string." ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "metadata": { "collapsed": false }, @@ -3906,15 +3174,9 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -3935,346 +3197,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -4283,28 +3441,28 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 15, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df.style.highlight_null(null_color='red')" + "df.style.format(\"{:.2%}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "You can create \"heatmaps\" with the `background_gradient` method. These require matplotlib, and we'll use [Seaborn](http://stanford.edu/~mwaskom/software/seaborn/) to get a nice colormap." + "Use a dictionary to format specific columns." ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 14, "metadata": { "collapsed": false }, @@ -4316,669 +3474,265 @@ " \n", + "\n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 100.00%\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 132.92%\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan%\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -31.63%\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -99.08%\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 200.00%\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -107.08%\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -143.87%\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 56.44%\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 29.57%\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 300.00%\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -162.64%\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 21.96%\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 67.88%\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 188.93%\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 400.00%\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 96.15%\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 10.40%\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -48.12%\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 85.02%\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 500.00%\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 145.34%\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 105.77%\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 16.56%\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 51.50%\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 600.00%\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -133.69%\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 56.29%\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 139.29%\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -6.33%\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 700.00%\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 12.17%\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 120.76%\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.20%\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 162.78%\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 800.00%\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 35.45%\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 103.75%\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -38.57%\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 51.98%\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 900.00%\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 168.66%\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -132.60%\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 142.90%\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -208.94%\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 1000.00%\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -12.98%\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 63.15%\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -58.65%\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 29.07%\n", " \n", "
\n", " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow0_col2 {\n", - " \n", - " background-color: #e5ffe5;\n", + "\n", + " \n", " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow0_col3 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #c7eec7;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow0_col4 {\n", + " \n", + " \n", " \n", - " background-color: #a6dca6;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow1_col0 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #ccf1cc;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow1_col1 {\n", - " \n", - " background-color: #c0eac0;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow1_col2 {\n", - " \n", - " background-color: #e5ffe5;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow1_col3 {\n", - " \n", - " background-color: #62b662;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow1_col4 {\n", - " \n", - " background-color: #5cb35c;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow2_col0 {\n", - " \n", - " background-color: #b3e3b3;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow2_col1 {\n", - " \n", - " background-color: #e5ffe5;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow2_col2 {\n", - " \n", - " background-color: #56af56;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow2_col3 {\n", - " \n", - " background-color: #56af56;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow2_col4 {\n", - " \n", - " background-color: #008000;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow3_col0 {\n", - " \n", - " background-color: #99d599;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow3_col1 {\n", - " \n", - " background-color: #329c32;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow3_col2 {\n", - " \n", - " background-color: #5fb55f;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow3_col3 {\n", - " \n", - " background-color: #daf9da;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow3_col4 {\n", - " \n", - " background-color: #3ba13b;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow4_col0 {\n", - " \n", - " background-color: #80c780;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow4_col1 {\n", - " \n", - " background-color: #108910;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow4_col2 {\n", - " \n", - " background-color: #0d870d;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow4_col3 {\n", - " \n", - " background-color: #90d090;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow4_col4 {\n", - " \n", - " background-color: #4fac4f;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow5_col0 {\n", - " \n", - " background-color: #66b866;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow5_col1 {\n", - " \n", - " background-color: #d2f4d2;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow5_col2 {\n", - " \n", - " background-color: #389f38;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow5_col3 {\n", - " \n", - " background-color: #048204;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow5_col4 {\n", - " \n", - " background-color: #70be70;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow6_col0 {\n", - " \n", - " background-color: #4daa4d;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow6_col1 {\n", - " \n", - " background-color: #6cbc6c;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow6_col2 {\n", - " \n", - " background-color: #008000;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow6_col3 {\n", - " \n", - " background-color: #a3daa3;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow6_col4 {\n", - " \n", - " background-color: #0e880e;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow7_col0 {\n", - " \n", - " background-color: #329c32;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow7_col1 {\n", - " \n", - " background-color: #5cb35c;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow7_col2 {\n", - " \n", - " background-color: #0e880e;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow7_col3 {\n", - " \n", - " background-color: #cff3cf;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow7_col4 {\n", - " \n", - " background-color: #4fac4f;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow8_col0 {\n", - " \n", - " background-color: #198e19;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow8_col1 {\n", - " \n", - " background-color: #008000;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow8_col2 {\n", - " \n", - " background-color: #dcfadc;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow8_col3 {\n", - " \n", - " background-color: #008000;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow8_col4 {\n", - " \n", - " background-color: #e5ffe5;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow9_col0 {\n", - " \n", - " background-color: #008000;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow9_col1 {\n", - " \n", - " background-color: #7ec67e;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow9_col2 {\n", - " \n", - " background-color: #319b31;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow9_col3 {\n", - " \n", - " background-color: #e5ffe5;\n", - " \n", - " }\n", - " \n", - " #T_355202f4_8d9b_11e5_88b7_a45e60bd97fbrow9_col4 {\n", - " \n", - " background-color: #5cb35c;\n", - " \n", - " }\n", - " \n", - " \n", - "\n", - "
\n", + " \n", + " A\n", + " \n", + " B\n", + " \n", + " C\n", + " \n", + " D\n", + " \n", + " E\n", + " \n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 1000\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.32\n", + " \n", + " \n", + " -0.99081\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -100\n", + " \n", + " \n", + " -1.43871\n", + " \n", + " \n", + " +0.56\n", + " \n", + " \n", + " 0.295722\n", + " \n", + "
\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", @@ -4987,33 +3741,28 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 16, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "import seaborn as sns\n", - "\n", - "cm = sns.light_palette(\"green\", as_cmap=True)\n", - "\n", - "s = df.style.background_gradient(cmap=cm)\n", - "s" + "df.style.format({'B': \"{:0<4.0f}\", 'D': '{:+.2f}'})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "`Styler.background_gradient` takes the keyword arguments `low` and `high`. Roughly speaking these extend the range of your data by `low` and `high` percent so that when we convert the colors, the colormap's entire range isn't used. This is useful so that you can actually read the text still." + "Or pass in a callable (or dictionary of callables) for more flexible handling." ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 15, "metadata": { "collapsed": false }, @@ -5025,159 +3774,9 @@ " \n", "\n", - "
\n", - " \n", - " A\n", - " \n", - " B\n", - " \n", - " C\n", - " \n", - " D\n", - " \n", - " E\n", - " \n", - "
\n", + " 2\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " -200\n", + " \n", + " \n", + " 0.219565\n", + " \n", + " \n", + " +0.68\n", + " \n", + " \n", + " 1.88927\n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1000\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.48\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " 1000\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " +0.17\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -100\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " +1.39\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0000\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.00\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 0000\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " -0.39\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " 2000\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " +1.43\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " -000\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.59\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", - " \n", - "
\n", - " \n", - " 7\n", - " \n", - " \n", - " \n", - " \n", - " 8.0\n", - " \n", - " \n", - " \n", - " \n", - " 0.354493\n", - " \n", - " \n", - " \n", - " \n", - " 1.037528\n", - " \n", - " \n", - " \n", - " \n", - " -0.385684\n", - " \n", - " \n", - " \n", - " \n", - " 0.519818\n", - " \n", - " \n", - "
\n", - " \n", - " 8\n", - " \n", - " \n", - " \n", - " \n", - " 9.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.686583\n", - " \n", - " \n", - " \n", - " \n", - " -1.325963\n", - " \n", - " \n", - " \n", - " \n", - " 1.428984\n", - " \n", - " \n", - " \n", - " \n", - " -2.089354\n", - " \n", - " \n", - "
\n", - " \n", - " 9\n", - " \n", - " \n", - " \n", - " \n", - " 10.0\n", - " \n", - " \n", - " \n", - " \n", - " -0.12982\n", - " \n", - " \n", - " \n", - " \n", - " 0.631523\n", - " \n", - " \n", - " \n", - " \n", - " -0.586538\n", - " \n", - " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -5198,176 +3797,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", @@ -5376,22 +4041,35 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 17, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Uses the full color range\n", - "df.loc[:4].style.background_gradient(cmap='viridis')" + "df.style.format({\"B\": lambda x: \"±{:.2f}\".format(abs(x))})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Builtin Styles" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we expect certain styling functions to be common enough that we've included a few \"built-in\" to the `Styler`, so you don't have to write them yourself." ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 16, "metadata": { "collapsed": false }, @@ -5403,212 +4081,18 @@ " \n", + "\n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " ±1.33\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.31628\n", + " \n", + " \n", + " -0.99081\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " ±1.07\n", + " \n", + " \n", + " -1.43871\n", + " \n", + " \n", + " 0.564417\n", + " \n", + " \n", + " 0.295722\n", + " \n", + "
\n", + " 2\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " ±1.63\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " ±0.96\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " ±1.45\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " ±1.34\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " ±0.12\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 1.6278\n", + " \n", + "
\n", + " 7\n", + " \n", + " \n", + " 8\n", + " \n", + " \n", + " ±0.35\n", + " \n", + " \n", + " 1.03753\n", + " \n", + " \n", + " -0.385684\n", + " \n", + " \n", + " 0.519818\n", + " \n", + "
\n", + " 8\n", + " \n", + " \n", + " 9\n", + " \n", + " \n", + " ±1.69\n", + " \n", + " \n", + " -1.32596\n", + " \n", + " \n", + " 1.42898\n", + " \n", + " \n", + " -2.08935\n", + " \n", + "
\n", + " 9\n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " ±0.13\n", + " \n", + " \n", + " 0.631523\n", + " \n", + " \n", + " -0.586538\n", + " \n", + " \n", + " 0.29072\n", " \n", "
\n", " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow0_col2 {\n", - " \n", - " background-color: #440154;\n", - " \n", - " background-color: red;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow0_col3 {\n", - " \n", - " background-color: #277f8e;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow0_col4 {\n", - " \n", - " background-color: #31688e;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow1_col0 {\n", - " \n", - " background-color: #21918c;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow1_col1 {\n", - " \n", - " background-color: #25858e;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow1_col2 {\n", - " \n", - " background-color: #31688e;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow1_col3 {\n", - " \n", - " background-color: #d5e21a;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow1_col4 {\n", - " \n", - " background-color: #29af7f;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow2_col0 {\n", - " \n", - " background-color: #35b779;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow2_col1 {\n", - " \n", - " background-color: #31688e;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow2_col2 {\n", - " \n", - " background-color: #6ccd5a;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow2_col3 {\n", - " \n", - " background-color: #fde725;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow2_col4 {\n", - " \n", - " background-color: #fde725;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow3_col0 {\n", - " \n", - " background-color: #90d743;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow3_col1 {\n", - " \n", - " background-color: #b8de29;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow3_col2 {\n", - " \n", - " background-color: #5ac864;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow3_col3 {\n", - " \n", - " background-color: #31688e;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow3_col4 {\n", - " \n", - " background-color: #63cb5f;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow4_col0 {\n", - " \n", - " background-color: #fde725;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow4_col1 {\n", - " \n", - " background-color: #fde725;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow4_col2 {\n", - " \n", - " background-color: #fde725;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow4_col3 {\n", - " \n", - " background-color: #46c06f;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " #T_355acf74_8d9b_11e5_8c18_a45e60bd97fbrow4_col4 {\n", - " \n", - " background-color: #3bbb75;\n", - " \n", - " : ;\n", - " \n", - " }\n", - " \n", - " \n", - "\n", - "
\n", - " \n", - "\n", - " \n", + "\n", + " \n", " \n", " \n", " \n", @@ -5626,176 +4110,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -5804,32 +4354,28 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 18, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Compreess the color range\n", - "(df.loc[:4]\n", - " .style\n", - " .background_gradient(cmap='viridis', low=.5, high=0)\n", - " .highlight_null('red'))" + "df.style.highlight_null(null_color='red')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "You can include \"bar charts\" in your DataFrame." + "You can create \"heatmaps\" with the `background_gradient` method. These require matplotlib, and we'll use [Seaborn](http://stanford.edu/~mwaskom/software/seaborn/) to get a nice colormap." ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 17, "metadata": { "collapsed": false }, @@ -5841,209 +4387,309 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 1.32921\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.31628\n", + " \n", + " \n", + " -0.99081\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -1.07082\n", + " \n", + " \n", + " -1.43871\n", + " \n", + " \n", + " 0.564417\n", + " \n", + " \n", + " 0.295722\n", + " \n", + "
\n", + " 2\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " -1.6264\n", + " \n", + " \n", + " 0.219565\n", + " \n", + " \n", + " 0.678805\n", + " \n", + " \n", + " 1.88927\n", + " \n", + "
\n", + " 3\n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " 0.961538\n", + " \n", + " \n", + " 0.104011\n", + " \n", + " \n", + " -0.481165\n", + " \n", + " \n", + " 0.850229\n", + " \n", + "
\n", + " 4\n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " 1.45342\n", + " \n", + " \n", + " 1.05774\n", + " \n", + " \n", + " 0.165562\n", + " \n", + " \n", + " 0.515018\n", + " \n", + "
\n", + " 5\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -6064,346 +4710,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -6412,28 +4954,33 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 19, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df.style.bar(subset=['A', 'B'], color='#d65f5f')" + "import seaborn as sns\n", + "\n", + "cm = sns.light_palette(\"green\", as_cmap=True)\n", + "\n", + "s = df.style.background_gradient(cmap=cm)\n", + "s" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "There's also `.highlight_min` and `.highlight_max`." + "`Styler.background_gradient` takes the keyword arguments `low` and `high`. Roughly speaking these extend the range of your data by `low` and `high` percent so that when we convert the colors, the colormap's entire range isn't used. This is useful so that you can actually read the text still." ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 18, "metadata": { "collapsed": false }, @@ -6445,466 +4992,159 @@ " \n", - "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + " #T_a4a280a4_c56b_11e5_9421_a45e60bd97fbrow1_col0 {\n", + " \n", + " background-color: #3b528b;\n", + " \n", + " }\n", " \n", - "\n", - " \n", + " #T_a4a280a4_c56b_11e5_9421_a45e60bd97fbrow1_col1 {\n", " \n", - " \n", - " \n", - " \n", + " background-color: #433e85;\n", " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4a280a4_c56b_11e5_9421_a45e60bd97fbrow1_col2 {\n", " \n", - " \n", - " \n", - " \n", + " background-color: #440154;\n", " \n", - " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4a280a4_c56b_11e5_9421_a45e60bd97fbrow1_col3 {\n", " \n", - " \n", - " \n", - " \n", + " background-color: #bddf26;\n", " \n", - " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4a280a4_c56b_11e5_9421_a45e60bd97fbrow1_col4 {\n", " \n", - " \n", - " \n", - " \n", + " background-color: #25838e;\n", " \n", - " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4a280a4_c56b_11e5_9421_a45e60bd97fbrow2_col0 {\n", " \n", - " \n", - " \n", - " \n", + " background-color: #21918c;\n", " \n", - " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4a280a4_c56b_11e5_9421_a45e60bd97fbrow2_col1 {\n", " \n", - " \n", - " \n", - " \n", + " background-color: #440154;\n", " \n", - " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4a280a4_c56b_11e5_9421_a45e60bd97fbrow2_col2 {\n", " \n", - " \n", - "
\n", - " \n", - " A\n", - " \n", - " B\n", - " \n", - " C\n", - " \n", - " D\n", - " \n", - " E\n", - " \n", - "
\n", - " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " 1.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.329212\n", - " \n", - " \n", - " \n", - " \n", - " nan\n", - " \n", - " \n", - " \n", - " \n", - " -0.31628\n", - " \n", - " \n", - " \n", - " \n", - " -0.99081\n", - " \n", - " \n", - "
\n", - " \n", - " 1\n", - " \n", - " \n", - " \n", - " \n", - " 2.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.070816\n", - " \n", - " \n", - " \n", - " \n", - " -1.438713\n", - " \n", - " \n", - " \n", - " \n", - " 0.564417\n", - " \n", - " \n", - " \n", - " \n", - " 0.295722\n", - " \n", - " \n", - "
\n", - " \n", - " 2\n", - " \n", - " \n", - " \n", - " \n", - " 3.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.626404\n", - " \n", - " \n", - " \n", - " \n", - " 0.219565\n", - " \n", - " \n", - " \n", - " \n", - " 0.678805\n", - " \n", - " \n", - " \n", - " \n", - " 1.889273\n", - " \n", - " \n", - "
\n", - " \n", - " 3\n", - " \n", - " \n", - " \n", - " \n", - " 4.0\n", - " \n", - " \n", - " \n", - " \n", - " 0.961538\n", - " \n", - " \n", - " \n", - " \n", - " 0.104011\n", - " \n", - " \n", - " \n", - " \n", - " -0.481165\n", - " \n", - " \n", - " \n", - " \n", - " 0.850229\n", - " \n", - " \n", - "
\n", - " \n", - " 4\n", - " \n", - " \n", - " \n", - " \n", - " 5.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.453425\n", - " \n", - " \n", - " \n", - " \n", - " 1.057737\n", - " \n", - " \n", - " \n", - " \n", - " 0.165562\n", - " \n", - " \n", - " \n", - " \n", - " 0.515018\n", - " \n", - " \n", - "
\n", - " \n", - " 5\n", - " \n", - " \n", - " \n", - " \n", - " 6.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.336936\n", - " \n", - " \n", - " \n", - " \n", - " 0.562861\n", - " \n", - " \n", - " \n", - " \n", - " 1.392855\n", - " \n", - " \n", - " \n", - " \n", - " -0.063328\n", - " \n", - " \n", - "
\n", - " \n", - " 6\n", - " \n", - " \n", - " \n", - " \n", - " 7.0\n", - " \n", - " \n", - " \n", - " \n", - " 0.121668\n", - " \n", - " \n", - " \n", - " \n", - " 1.207603\n", - " \n", - " \n", - " \n", - " \n", - " -0.00204\n", - " \n", - " \n", - " \n", - " \n", - " 1.627796\n", - " \n", - " \n", - "
\n", - " \n", - " 7\n", - " \n", - " \n", - " \n", - " \n", - " 8.0\n", - " \n", - " \n", - " \n", - " \n", - " 0.354493\n", - " \n", - " \n", - " \n", - " \n", - " 1.037528\n", - " \n", - " \n", - " \n", - " \n", - " -0.385684\n", - " \n", - " \n", - " \n", - " \n", - " 0.519818\n", - " \n", - " \n", - "
\n", - " \n", - " 8\n", - " \n", - " \n", - " \n", - " \n", - " 9.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.686583\n", - " \n", - " \n", - " \n", - " \n", - " -1.325963\n", - " \n", - " \n", - " \n", - " \n", - " 1.428984\n", - " \n", - " \n", - " \n", - " \n", - " -2.089354\n", - " \n", - " \n", - "
\n", - " \n", - " 9\n", - " \n", - " \n", - " \n", - " \n", - " 10.0\n", - " \n", - " \n", - " \n", - " \n", - " -0.12982\n", - " \n", - " \n", - " \n", - " \n", - " 0.631523\n", - " \n", - " \n", - " \n", - " \n", - " -0.586538\n", - " \n", - " \n", - " \n", - " \n", - " 0.29072\n", - " \n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df.style.highlight_max(axis=0)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", "\n", - " \n", + "
\n", " \n", "\n", " \n", @@ -6925,346 +5165,132 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -7273,28 +5299,22 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 21, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df.style.highlight_min(axis=0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Use `Styler.set_properties` when the style doesn't actually depend on the values." + "# Uses the full color range\n", + "df.loc[:4].style.background_gradient(cmap='viridis')" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 19, "metadata": { "collapsed": false }, @@ -7306,509 +5326,599 @@ " \n", + "\n", + "
\n", - " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " 1.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.329212\n", - " \n", - " \n", - " \n", - " \n", - " nan\n", - " \n", - " \n", - " \n", - " \n", - " -0.31628\n", - " \n", - " \n", - " \n", - " \n", - " -0.99081\n", - " \n", - " \n", - "
\n", - " \n", - " 1\n", - " \n", - " \n", - " \n", - " \n", - " 2.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.070816\n", - " \n", - " \n", - " \n", - " \n", - " -1.438713\n", - " \n", - " \n", - " \n", - " \n", - " 0.564417\n", - " \n", - " \n", - " \n", - " \n", - " 0.295722\n", - " \n", - " \n", - "
\n", - " \n", - " 2\n", - " \n", - " \n", - " \n", - " \n", - " 3.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.626404\n", - " \n", - " \n", - " \n", - " \n", - " 0.219565\n", - " \n", - " \n", - " \n", - " \n", - " 0.678805\n", - " \n", - " \n", - " \n", - " \n", - " 1.889273\n", - " \n", - " \n", - "
\n", - " \n", - " 3\n", - " \n", + " None\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", " \n", "
\n", - " \n", - " 4\n", - " \n", - " \n", - " \n", - " \n", - " 5.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.453425\n", - " \n", - " \n", - " \n", - " \n", - " 1.057737\n", - " \n", - " \n", - " \n", - " \n", - " 0.165562\n", - " \n", - " \n", - " \n", - " \n", - " 0.515018\n", - " \n", - " \n", - "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", + " \n", + "\n", + " \n", " \n", - " color: lawngreen;\n", + " \n", + " \n", + " \n", " \n", - " background-color: black;\n", + " \n", + " \n", + " \n", " \n", - " border-color: white;\n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_356a46dc_8d9b_11e5_ac9a_a45e60bd97fbrow5_col1 {\n", + " \n", + " \n", + " \n", " \n", - " color: lawngreen;\n", + " \n", + " \n", + " \n", " \n", - " background-color: black;\n", + " \n", + " \n", + " \n", " \n", - " border-color: white;\n", + " \n", + " \n", + " \n", " \n", - " }\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " A\n", + " \n", + " B\n", + " \n", + " C\n", + " \n", + " D\n", + " \n", + " E\n", + " \n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 1.32921\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.31628\n", + " \n", + " \n", + " -0.99081\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -1.07082\n", + " \n", + " \n", + " -1.43871\n", + " \n", + " \n", + " 0.564417\n", + " \n", + " \n", + " 0.295722\n", + " \n", + "
\n", + " 2\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " -1.6264\n", + " \n", + " \n", + " 0.219565\n", + " \n", + " \n", + " 0.678805\n", + " \n", + " \n", + " 1.88927\n", + " \n", + "
\n", + " 3\n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " 0.961538\n", + " \n", + " \n", + " 0.104011\n", + " \n", + " \n", + " -0.481165\n", + " \n", + " \n", + " 0.850229\n", + " \n", + "
\n", + " 4\n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " 1.45342\n", + " \n", + " \n", + " 1.05774\n", + " \n", + " \n", + " 0.165562\n", + " \n", + " \n", + " 0.515018\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Compreess the color range\n", + "(df.loc[:4]\n", + " .style\n", + " .background_gradient(cmap='viridis', low=.5, high=0)\n", + " .highlight_null('red'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can include \"bar charts\" in your DataFrame." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", "\n", - " \n", + "
\n", " \n", "\n", " \n", @@ -7829,346 +5939,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -8177,37 +6183,28 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 22, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df.style.set_properties(**{'background-color': 'black',\n", - " 'color': 'lawngreen',\n", - " 'border-color': 'white'})" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Sharing Styles" + "df.style.bar(subset=['A', 'B'], color='#d65f5f')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Say you have a lovely style built up for a DataFrame, and now you want to apply the same style to a second DataFrame. Export the style with `df1.style.export`, and import it on the second DataFrame with `df1.style.set`" + "There's also `.highlight_min` and `.highlight_max`." ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "metadata": { "collapsed": false }, @@ -8219,669 +6216,295 @@ " \n", + "\n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow1_col2 {\n", + "\n", + " \n", " \n", - " color: red;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow1_col3 {\n", + " \n", + " \n", + " \n", " \n", - " color: black;\n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow1_col4 {\n", + " \n", + " \n", + " \n", " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow2_col0 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow2_col1 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow2_col2 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow2_col3 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow2_col4 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow3_col0 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow3_col1 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow3_col2 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow3_col3 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow3_col4 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow4_col0 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow4_col1 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow4_col2 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow4_col3 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow4_col4 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow5_col0 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow5_col1 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow5_col2 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow5_col3 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow5_col4 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow6_col0 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow6_col1 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow6_col2 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow6_col3 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow6_col4 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow7_col0 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow7_col1 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow7_col2 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow7_col3 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow7_col4 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow8_col0 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow8_col1 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow8_col2 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow8_col3 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow8_col4 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow9_col0 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow9_col1 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow9_col2 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow9_col3 {\n", - " \n", - " color: red;\n", - " \n", - " }\n", - " \n", - " #T_356e3ac6_8d9b_11e5_a29c_a45e60bd97fbrow9_col4 {\n", - " \n", - " color: black;\n", - " \n", - " }\n", - " \n", - " \n", - "\n", - "
\n", + " \n", + " A\n", + " \n", + " B\n", + " \n", + " C\n", + " \n", + " D\n", + " \n", + " E\n", + " \n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 1.32921\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.31628\n", + " \n", + " \n", + " -0.99081\n", + " \n", + "
\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -8890,23 +6513,21 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 23, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df2 = -df\n", - "style1 = df.style.applymap(color_negative_red)\n", - "style1" + "df.style.highlight_max(axis=0)" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 22, "metadata": { "collapsed": false }, @@ -8918,309 +6539,39 @@ " \n", "\n", - "
\n", - " \n", - " A\n", - " \n", - " B\n", - " \n", - " C\n", - " \n", - " D\n", - " \n", - " E\n", - " \n", - "
\n", - " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " 1.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.329212\n", - " \n", - " \n", - " \n", - " \n", - " nan\n", - " \n", - " \n", - " \n", - " \n", - " -0.31628\n", - " \n", - " \n", - " \n", - " \n", - " -0.99081\n", - " \n", - " \n", - "
\n", - " \n", - " 1\n", - " \n", - " \n", - " \n", - " \n", - " 2.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.070816\n", - " \n", - " \n", - " \n", - " \n", - " -1.438713\n", - " \n", - " \n", - " \n", - " \n", - " 0.564417\n", - " \n", - " \n", - " \n", - " \n", - " 0.295722\n", - " \n", - " \n", - "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -1.07082\n", + " \n", + " \n", + " -1.43871\n", + " \n", + " \n", + " 0.564417\n", + " \n", + " \n", + " 0.295722\n", + " \n", + "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -9241,346 +6592,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -9589,65 +6836,28 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 24, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "style2 = df2.style\n", - "style2.use(style1.export())\n", - "style2" + "df.style.highlight_min(axis=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Notice that you're able share the styles even though they're data aware. The styles are re-evaluated on the new DataFrame they've been `use`d upon." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Other options\n", - "\n", - "You've seen a few methods for data-driven styling.\n", - "`Styler` also provides a few other options for styles that don't depend on the data.\n", - "\n", - "- precision\n", - "- captions\n", - "- table-wide styles\n", - "\n", - "Each of these can be specified in two ways:\n", - "\n", - "- A keyword argument to `pandas.core.Styler`\n", - "- A call to one of the `.set_` methods, e.g. `.set_caption`\n", - "\n", - "The best method to use depends on the context. Use the `Styler` constructor when building many styled DataFrames that should all share the same properties. For interactive use, the`.set_` methods are more convenient." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Precision" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can control the precision of floats using pandas' regular `display.precision` option." + "Use `Styler.set_properties` when the style doesn't actually depend on the values." ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 23, "metadata": { "collapsed": false }, @@ -9659,409 +6869,509 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " -1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " -1.329212\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " 0.31628\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " 0.99081\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " -2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 1.070816\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " 1.438713\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " -0.564417\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " -0.295722\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 1.626404\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " -0.219565\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " -0.678805\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " -1.889273\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " -0.961538\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " -0.104011\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " 0.481165\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " -0.850229\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " -5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " -1.453425\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " -1.057737\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " -0.165562\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " -0.515018\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " -6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 1.336936\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " -0.562861\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " -1.392855\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " 0.063328\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " -0.121668\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " -1.207603\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " 0.00204\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " -1.627796\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " -8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " -0.354493\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " -1.037528\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " 0.385684\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " -0.519818\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " -9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " -1.686583\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " 1.325963\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " -1.428984\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " 2.089354\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " -10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " 0.12982\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " -0.631523\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " 0.586538\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " -0.29072\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -10082,346 +7392,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -10430,32 +7636,37 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 25, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "with pd.option_context('display.precision', 2):\n", - " html = (df.style\n", - " .applymap(color_negative_red)\n", - " .apply(highlight_max))\n", - "html" + "df.style.set_properties(**{'background-color': 'black',\n", + " 'color': 'lawngreen',\n", + " 'border-color': 'white'})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Or through a `set_precision` method." + "## Sharing Styles" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Say you have a lovely style built up for a DataFrame, and now you want to apply the same style to a second DataFrame. Export the style with `df1.style.export`, and import it on the second DataFrame with `df1.style.set`" ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 24, "metadata": { "collapsed": false }, @@ -10467,409 +7678,309 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.33\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.32\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.07\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.44\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.56\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.3\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.63\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.22\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.68\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.89\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.96\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.1\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.48\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.85\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.45\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.06\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.17\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.52\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.34\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.56\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.39\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.06\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.12\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.21\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.0\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.63\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.35\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.04\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.39\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.52\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.69\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.33\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.43\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.09\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.13\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.63\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.59\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", + "
\n", " \n", "\n", " \n", @@ -10890,346 +8001,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -11238,45 +8245,23 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 26, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df.style\\\n", - " .applymap(color_negative_red)\\\n", - " .apply(highlight_max)\\\n", - " .set_precision(2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Setting the precision only affects the printed number; the full-precision values are always passed to your style functions. You can always use `df.round(2).style` if you'd prefer to round from the start." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Captions" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Regular table captions can be added in a few ways." + "df2 = -df\n", + "style1 = df.style.applymap(color_negative_red)\n", + "style1" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 25, "metadata": { "collapsed": false }, @@ -11288,311 +8273,309 @@ " \n", "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.33\n", - " \n", + " \n", + " 1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.32\n", - " \n", + " \n", + " -0.31628\n", " \n", - " \n", - " \n", - " -0.99\n", - " \n", + " \n", + " -0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.07\n", - " \n", + " \n", + " -1.07082\n", " \n", - " \n", - " \n", - " -1.44\n", - " \n", + " \n", + " -1.43871\n", " \n", - " \n", - " \n", - " 0.56\n", - " \n", + " \n", + " 0.564417\n", " \n", - " \n", - " \n", - " 0.3\n", - " \n", + " \n", + " 0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.63\n", - " \n", + " \n", + " -1.6264\n", " \n", - " \n", - " \n", - " 0.22\n", - " \n", + " \n", + " 0.219565\n", " \n", - " \n", - " \n", - " 0.68\n", - " \n", + " \n", + " 0.678805\n", " \n", - " \n", - " \n", - " 1.89\n", - " \n", + " \n", + " 1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.96\n", - " \n", + " \n", + " 0.961538\n", " \n", - " \n", - " \n", - " 0.1\n", - " \n", + " \n", + " 0.104011\n", " \n", - " \n", - " \n", - " -0.48\n", - " \n", + " \n", + " -0.481165\n", " \n", - " \n", - " \n", - " 0.85\n", - " \n", + " \n", + " 0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.45\n", - " \n", + " \n", + " 1.45342\n", " \n", - " \n", - " \n", - " 1.06\n", - " \n", + " \n", + " 1.05774\n", " \n", - " \n", - " \n", - " 0.17\n", - " \n", + " \n", + " 0.165562\n", " \n", - " \n", - " \n", - " 0.52\n", - " \n", + " \n", + " 0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.34\n", - " \n", + " \n", + " -1.33694\n", " \n", - " \n", - " \n", - " 0.56\n", - " \n", + " \n", + " 0.562861\n", " \n", - " \n", - " \n", - " 1.39\n", - " \n", + " \n", + " 1.39285\n", " \n", - " \n", - " \n", - " -0.06\n", - " \n", + " \n", + " -0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.12\n", - " \n", + " \n", + " 0.121668\n", " \n", - " \n", - " \n", - " 1.21\n", - " \n", + " \n", + " 1.2076\n", " \n", - " \n", - " \n", - " -0.0\n", - " \n", + " \n", + " -0.00204021\n", " \n", - " \n", - " \n", - " 1.63\n", - " \n", + " \n", + " 1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.35\n", - " \n", + " \n", + " 0.354493\n", " \n", - " \n", - " \n", - " 1.04\n", - " \n", + " \n", + " 1.03753\n", " \n", - " \n", - " \n", - " -0.39\n", - " \n", + " \n", + " -0.385684\n", " \n", - " \n", - " \n", - " 0.52\n", - " \n", + " \n", + " 0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.69\n", - " \n", + " \n", + " 1.68658\n", " \n", - " \n", - " \n", - " -1.33\n", - " \n", + " \n", + " -1.32596\n", " \n", - " \n", - " \n", - " 1.43\n", - " \n", + " \n", + " 1.42898\n", " \n", - " \n", - " \n", - " -2.09\n", - " \n", + " \n", + " -2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.13\n", - " \n", + " \n", + " -0.12982\n", " \n", - " \n", - " \n", - " 0.63\n", - " \n", + " \n", + " 0.631523\n", " \n", - " \n", - " \n", - " -0.59\n", - " \n", + " \n", + " -0.586538\n", " \n", - " \n", - " \n", - " 0.29\n", - " \n", + " \n", + " 0.29072\n", " \n", "
\n", - " \n", - " \n", + "
Colormaps, with a caption.
\n", " \n", "\n", " \n", @@ -11613,346 +8596,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -11961,38 +8840,65 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 27, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df.style.set_caption('Colormaps, with a caption.')\\\n", - " .background_gradient(cmap=cm)" + "style2 = df2.style\n", + "style2.use(style1.export())\n", + "style2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Table Styles" + "Notice that you're able share the styles even though they're data aware. The styles are re-evaluated on the new DataFrame they've been `use`d upon." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "The next option you have are \"table styles\".\n", - "These are styles that apply to the table as a whole, but don't look at the data.\n", - "Certain sytlings, including pseudo-selectors like `:hover` can only be used this way." + "## Other options\n", + "\n", + "You've seen a few methods for data-driven styling.\n", + "`Styler` also provides a few other options for styles that don't depend on the data.\n", + "\n", + "- precision\n", + "- captions\n", + "- table-wide styles\n", + "\n", + "Each of these can be specified in two ways:\n", + "\n", + "- A keyword argument to `pandas.core.Styler`\n", + "- A call to one of the `.set_` methods, e.g. `.set_caption`\n", + "\n", + "The best method to use depends on the context. Use the `Styler` constructor when building many styled DataFrames that should all share the same properties. For interactive use, the`.set_` methods are more convenient." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Precision" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can control the precision of floats using pandas' regular `display.precision` option." ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 26, "metadata": { "collapsed": false }, @@ -12003,795 +8909,410 @@ "\n", " \n", - "\n", - "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " -1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " -1.32921\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " 0.31628\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " 0.99081\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " -2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " 1.07082\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " 1.43871\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " -0.564417\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " -0.295722\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " -3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " 1.6264\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " -0.219565\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " -0.678805\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " -1.88927\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " -4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " -0.961538\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " -0.104011\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " 0.481165\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " -0.850229\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " -5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " -1.45342\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " -1.05774\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " -0.165562\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " -0.515018\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " -6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " 1.33694\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " -0.562861\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " -1.39285\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " 0.063328\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " -7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " -0.121668\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " -1.2076\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " 0.00204021\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " -1.6278\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " -8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " -0.354493\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " -1.03753\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " 0.385684\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " -0.519818\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " -9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " -1.68658\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " 1.32596\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " -1.42898\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " 2.08935\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " -10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " 0.12982\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " -0.631523\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " 0.586538\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " -0.29072\n", " \n", "
\n", + " #T_a4defce4_c56b_11e5_80dc_a45e60bd97fbrow0_col4 {\n", + " \n", + " color: red;\n", + " \n", + " : ;\n", + " \n", + " }\n", " \n", - " \n", + " #T_a4defce4_c56b_11e5_80dc_a45e60bd97fbrow1_col0 {\n", + " \n", + " color: black;\n", + " \n", + " : ;\n", + " \n", + " }\n", " \n", - "\n", - " \n", + " #T_a4defce4_c56b_11e5_80dc_a45e60bd97fbrow1_col1 {\n", " \n", - " \n", - " \n", - " \n", + " color: red;\n", " \n", - " \n", - " \n", + " : ;\n", " \n", - " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4defce4_c56b_11e5_80dc_a45e60bd97fbrow1_col2 {\n", " \n", - " \n", - " \n", - " \n", + " color: red;\n", " \n", - " \n", - " \n", - " \n", + " : ;\n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4defce4_c56b_11e5_80dc_a45e60bd97fbrow1_col3 {\n", " \n", - " \n", - " \n", - " \n", + " color: black;\n", " \n", - " \n", - " \n", - " \n", + " : ;\n", " \n", - " \n", - " \n", - " \n", + " }\n", + " \n", + " #T_a4defce4_c56b_11e5_80dc_a45e60bd97fbrow1_col4 {\n", " \n", - " \n", - " \n", - " \n", + " color: black;\n", " \n", - " \n", - " \n", - " \n", + " : ;\n", " \n", - " \n", - "
Hover to highlight.
\n", - " \n", - " A\n", - " \n", - " B\n", - " \n", - " C\n", - " \n", - " D\n", - " \n", - " E\n", - " \n", - "
\n", - " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " 1.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.329212\n", - " \n", - " \n", - " \n", - " \n", - " nan\n", - " \n", - " \n", - " \n", - " \n", - " -0.31628\n", - " \n", - " \n", - " \n", - " \n", - " -0.99081\n", - " \n", - " \n", - "
\n", - " \n", - " 1\n", - " \n", - " \n", - " \n", - " \n", - " 2.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.070816\n", - " \n", - " \n", - " \n", - " \n", - " -1.438713\n", - " \n", - " \n", - " \n", - " \n", - " 0.564417\n", - " \n", - " \n", - " \n", - " \n", - " 0.295722\n", - " \n", - " \n", - "
\n", - " \n", - " 2\n", - " \n", - " \n", - " \n", - " \n", - " 3.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.626404\n", - " \n", - " \n", - " \n", - " \n", - " 0.219565\n", - " \n", - " \n", - " \n", - " \n", - " 0.678805\n", - " \n", - " \n", - " \n", - " \n", - " 1.889273\n", - " \n", - " \n", - "
\n", - " \n", - " 3\n", - " \n", - " \n", - " \n", - " \n", - " 4.0\n", - " \n", - " \n", - " \n", - " \n", - " 0.961538\n", - " \n", - " \n", - " \n", - " \n", - " 0.104011\n", - " \n", - " \n", - " \n", - " \n", - " -0.481165\n", - " \n", - " \n", - " \n", - " \n", - " 0.850229\n", - " \n", - " \n", - "
\n", - " \n", - " 4\n", - " \n", - " \n", - " \n", - " \n", - " 5.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.453425\n", - " \n", - " \n", - " \n", - " \n", - " 1.057737\n", - " \n", - " \n", - " \n", - " \n", - " 0.165562\n", - " \n", - " \n", - " \n", - " \n", - " 0.515018\n", - " \n", - " \n", - "
\n", - " \n", - " 5\n", - " \n", - " \n", - " \n", - " \n", - " 6.0\n", - " \n", - " \n", - " \n", - " \n", - " -1.336936\n", - " \n", - " \n", - " \n", - " \n", - " 0.562861\n", - " \n", - " \n", - " \n", - " \n", - " 1.392855\n", - " \n", - " \n", - " \n", - " \n", - " -0.063328\n", - " \n", - " \n", - "
\n", - " \n", - " 6\n", - " \n", - " \n", - " \n", - " \n", - " 7.0\n", - " \n", - " \n", - " \n", - " \n", - " 0.121668\n", - " \n", - " \n", - " \n", - " \n", - " 1.207603\n", - " \n", - " \n", - " \n", - " \n", - " -0.00204\n", - " \n", - " \n", - " \n", - " \n", - " 1.627796\n", - " \n", - " \n", - "
\n", - " \n", - " 7\n", - " \n", - " \n", - " \n", - " \n", - " 8.0\n", - " \n", - " \n", - " \n", - " \n", - " 0.354493\n", - " \n", - " \n", - " \n", - " \n", - " 1.037528\n", - " \n", - " \n", - " \n", - " \n", - " -0.385684\n", - " \n", - " \n", - " \n", - " \n", - " 0.519818\n", - " \n", - " \n", - "
\n", - " \n", - " 8\n", - " \n", - " \n", - " \n", - " \n", - " 9.0\n", - " \n", - " \n", - " \n", - " \n", - " 1.686583\n", - " \n", - " \n", - " \n", - " \n", - " -1.325963\n", - " \n", - " \n", - " \n", - " \n", - " 1.428984\n", - " \n", - " \n", - " \n", - " \n", - " -2.089354\n", - " \n", - " \n", - "
\n", - " \n", - " 9\n", - " \n", - " \n", - " \n", - " \n", - " 10.0\n", - " \n", - " \n", - " \n", - " \n", - " -0.12982\n", - " \n", - " \n", - " \n", - " \n", - " 0.631523\n", - " \n", - " \n", - " \n", - " \n", - " -0.586538\n", - " \n", - " \n", - " \n", - " \n", - " 0.29072\n", - " \n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import HTML\n", - "\n", - "def hover(hover_color=\"#ffff99\"):\n", - " return dict(selector=\"tr:hover\",\n", - " props=[(\"background-color\", \"%s\" % hover_color)])\n", - "\n", - "styles = [\n", - " hover(),\n", - " dict(selector=\"th\", props=[(\"font-size\", \"150%\"),\n", - " (\"text-align\", \"center\")]),\n", - " dict(selector=\"caption\", props=[(\"caption-side\", \"bottom\")])\n", - "]\n", - "html = (df.style.set_table_styles(styles)\n", - " .set_caption(\"Hover to highlight.\"))\n", - "html" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`table_styles` should be a list of dictionaries.\n", - "Each dictionary should have the `selector` and `props` keys.\n", - "The value for `selector` should be a valid CSS selector.\n", - "Recall that all the styles are already attached to an `id`, unique to\n", - "each `Styler`. This selector is in addition to that `id`.\n", - "The value for `props` should be a list of tuples of `('attribute', 'value')`.\n", - "\n", - "`table_styles` are extremely flexible, but not as fun to type out by hand.\n", - "We hope to collect some useful ones either in pandas, or preferable in a new package that [builds on top](#Extensibility) the tools here." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Limitations\n", - "\n", - "- DataFrame only `(use Series.to_frame().style)`\n", - "- The index and columns must be unique\n", - "- No large repr, and performance isn't great; this is intended for summary DataFrames\n", - "- You can only style the *values*, not the index or columns\n", - "- You can only apply styles, you can't insert new HTML entities\n", - "\n", - "Some of these will be addressed in the future.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Terms\n", - "\n", - "- Style function: a function that's passed into `Styler.apply` or `Styler.applymap` and returns values like `'css attribute: value'`\n", - "- Builtin style functions: style functions that are methods on `Styler`\n", - "- table style: a dictionary with the two keys `selector` and `props`. `selector` is the CSS selector that `props` will apply to. `props` is a list of `(attribute, value)` tuples. A list of table styles passed into `Styler`." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fun stuff\n", - "\n", - "Here are a few interesting examples.\n", - "\n", - "`Styler` interacts pretty well with widgets. If you're viewing this online instead of running the notebook yourself, you're missing out on interactively adjusting the color palette." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", "\n", - " \n", + "
\n", " \n", "\n", " \n", @@ -12812,346 +9333,242 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", " \n", " \n", - " \n", " \n", @@ -13160,47 +9577,32 @@ " " ], "text/plain": [ - "" + "" ] }, + "execution_count": 26, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "from IPython.html import widgets\n", - "@widgets.interact\n", - "def f(h_neg=(0, 359, 1), h_pos=(0, 359), s=(0., 99.9), l=(0., 99.9)):\n", - " return df.style.background_gradient(\n", - " cmap=sns.palettes.diverging_palette(h_neg=h_neg, h_pos=h_pos, s=s, l=l,\n", - " as_cmap=True)\n", - " )" + "with pd.option_context('display.precision', 2):\n", + " html = (df.style\n", + " .applymap(color_negative_red)\n", + " .apply(highlight_max))\n", + "html" ] }, { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "collapsed": false - }, - "outputs": [], + "cell_type": "markdown", + "metadata": {}, "source": [ - "def magnify():\n", - " return [dict(selector=\"th\",\n", - " props=[(\"font-size\", \"4pt\")]),\n", - " dict(selector=\"td\",\n", - " props=[('padding', \"0em 0em\")]),\n", - " dict(selector=\"th:hover\",\n", - " props=[(\"font-size\", \"12pt\")]),\n", - " dict(selector=\"tr:hover td:hover\",\n", - " props=[('max-width', '200px'),\n", - " ('font-size', '12pt')])\n", - "]" + "Or through a `set_precision` method." ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 27, "metadata": { "collapsed": false }, @@ -13211,1376 +9613,2365 @@ "\n", " \n", + "\n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", + " \n", + " 0\n", " \n", - " \n", - " \n", - " 1.0\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 1.329212\n", - " \n", + " \n", + " 1.3\n", " \n", - " \n", - " \n", - " nan\n", - " \n", + " \n", + " nan\n", " \n", - " \n", - " \n", - " -0.31628\n", - " \n", + " \n", + " -0.32\n", " \n", - " \n", - " \n", - " -0.99081\n", - " \n", + " \n", + " -0.99\n", " \n", "
\n", - " \n", - " 1\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " 2.0\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " -1.070816\n", - " \n", + " \n", + " -1.1\n", " \n", - " \n", - " \n", - " -1.438713\n", - " \n", + " \n", + " -1.4\n", " \n", - " \n", - " \n", - " 0.564417\n", - " \n", + " \n", + " 0.56\n", " \n", - " \n", - " \n", - " 0.295722\n", - " \n", + " \n", + " 0.3\n", " \n", "
\n", - " \n", - " 2\n", - " \n", + " \n", + " 2\n", " \n", - " \n", - " \n", - " 3.0\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " -1.626404\n", - " \n", + " \n", + " -1.6\n", " \n", - " \n", - " \n", - " 0.219565\n", - " \n", + " \n", + " 0.22\n", " \n", - " \n", - " \n", - " 0.678805\n", - " \n", + " \n", + " 0.68\n", " \n", - " \n", - " \n", - " 1.889273\n", - " \n", + " \n", + " 1.9\n", " \n", "
\n", - " \n", - " 3\n", - " \n", + " \n", + " 3\n", " \n", - " \n", - " \n", - " 4.0\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 0.961538\n", - " \n", + " \n", + " 0.96\n", " \n", - " \n", - " \n", - " 0.104011\n", - " \n", + " \n", + " 0.1\n", " \n", - " \n", - " \n", - " -0.481165\n", - " \n", + " \n", + " -0.48\n", " \n", - " \n", - " \n", - " 0.850229\n", - " \n", + " \n", + " 0.85\n", " \n", "
\n", - " \n", - " 4\n", - " \n", + " \n", + " 4\n", " \n", - " \n", - " \n", - " 5.0\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 1.453425\n", - " \n", + " \n", + " 1.5\n", " \n", - " \n", - " \n", - " 1.057737\n", - " \n", + " \n", + " 1.1\n", " \n", - " \n", - " \n", - " 0.165562\n", - " \n", + " \n", + " 0.17\n", " \n", - " \n", - " \n", - " 0.515018\n", - " \n", + " \n", + " 0.52\n", " \n", "
\n", - " \n", - " 5\n", - " \n", + " \n", + " 5\n", " \n", - " \n", - " \n", - " 6.0\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " -1.336936\n", - " \n", + " \n", + " -1.3\n", " \n", - " \n", - " \n", - " 0.562861\n", - " \n", + " \n", + " 0.56\n", " \n", - " \n", - " \n", - " 1.392855\n", - " \n", + " \n", + " 1.4\n", " \n", - " \n", - " \n", - " -0.063328\n", - " \n", + " \n", + " -0.063\n", " \n", "
\n", - " \n", - " 6\n", - " \n", + " \n", + " 6\n", " \n", - " \n", - " \n", - " 7.0\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 0.121668\n", - " \n", + " \n", + " 0.12\n", " \n", - " \n", - " \n", - " 1.207603\n", - " \n", + " \n", + " 1.2\n", " \n", - " \n", - " \n", - " -0.00204\n", - " \n", + " \n", + " -0.002\n", " \n", - " \n", - " \n", - " 1.627796\n", - " \n", + " \n", + " 1.6\n", " \n", "
\n", - " \n", - " 7\n", - " \n", + " \n", + " 7\n", " \n", - " \n", - " \n", - " 8.0\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 0.354493\n", - " \n", + " \n", + " 0.35\n", " \n", - " \n", - " \n", - " 1.037528\n", - " \n", + " \n", + " 1\n", " \n", - " \n", - " \n", - " -0.385684\n", - " \n", + " \n", + " -0.39\n", " \n", - " \n", - " \n", - " 0.519818\n", - " \n", + " \n", + " 0.52\n", " \n", "
\n", - " \n", - " 8\n", - " \n", + " \n", + " 8\n", " \n", - " \n", - " \n", - " 9.0\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 1.686583\n", - " \n", + " \n", + " 1.7\n", " \n", - " \n", - " \n", - " -1.325963\n", - " \n", + " \n", + " -1.3\n", " \n", - " \n", - " \n", - " 1.428984\n", - " \n", + " \n", + " 1.4\n", " \n", - " \n", - " \n", - " -2.089354\n", - " \n", + " \n", + " -2.1\n", " \n", "
\n", - " \n", - " 9\n", - " \n", + " \n", + " 9\n", " \n", - " \n", - " \n", - " 10.0\n", - " \n", + " \n", + " 10\n", " \n", - " \n", - " \n", - " -0.12982\n", - " \n", + " \n", + " -0.13\n", " \n", - " \n", - " \n", - " 0.631523\n", - " \n", + " \n", + " 0.63\n", " \n", - " \n", - " \n", - " -0.586538\n", - " \n", + " \n", + " -0.59\n", " \n", - " \n", - " \n", - " 0.29072\n", - " \n", + " \n", + " 0.29\n", " \n", "
\n", " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow1_col23 {\n", + "\n", + " \n", " \n", - " background-color: #d9e4f1;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow1_col24 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #ecf2f8;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow2_col0 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #f2f2f2;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow2_col1 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #5887c2;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + "
\n", + " \n", + " A\n", + " \n", + " B\n", + " \n", + " C\n", + " \n", + " D\n", + " \n", + " E\n", + " \n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 1.3\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.32\n", + " \n", + " \n", + " -0.99\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " -1.4\n", + " \n", + " \n", + " 0.56\n", + " \n", + " \n", + " 0.3\n", + " \n", + "
\n", + " 2\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " -1.6\n", + " \n", + " \n", + " 0.22\n", + " \n", + " \n", + " 0.68\n", + " \n", + " \n", + " 1.9\n", + " \n", + "
\n", + " 3\n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " 0.96\n", + " \n", + " \n", + " 0.1\n", + " \n", + " \n", + " -0.48\n", + " \n", + " \n", + " 0.85\n", + " \n", + "
\n", + " 4\n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " 1.5\n", + " \n", + " \n", + " 1.1\n", + " \n", + " \n", + " 0.17\n", + " \n", + " \n", + " 0.52\n", + " \n", + "
\n", + " 5\n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " -1.3\n", + " \n", + " \n", + " 0.56\n", + " \n", + " \n", + " 1.4\n", + " \n", + " \n", + " -0.063\n", + " \n", + "
\n", + " 6\n", + " \n", + " \n", + " 7\n", + " \n", + " \n", + " 0.12\n", + " \n", + " \n", + " 1.2\n", + " \n", + " \n", + " -0.002\n", + " \n", + " \n", + " 1.6\n", + " \n", + "
\n", + " 7\n", + " \n", + " \n", + " 8\n", + " \n", + " \n", + " 0.35\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " -0.39\n", + " \n", + " \n", + " 0.52\n", + " \n", + "
\n", + " 8\n", + " \n", + " \n", + " 9\n", + " \n", + " \n", + " 1.7\n", + " \n", + " \n", + " -1.3\n", + " \n", + " \n", + " 1.4\n", + " \n", + " \n", + " -2.1\n", + " \n", + "
\n", + " 9\n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " -0.13\n", + " \n", + " \n", + " 0.63\n", + " \n", + " \n", + " -0.59\n", + " \n", + " \n", + " 0.29\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.style\\\n", + " .applymap(color_negative_red)\\\n", + " .apply(highlight_max)\\\n", + " .set_precision(2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Setting the precision only affects the printed number; the full-precision values are always passed to your style functions. You can always use `df.round(2).style` if you'd prefer to round from the start." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Captions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Regular table captions can be added in a few ways." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + "\n", + " \n", " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow3_col12 {\n", - " \n", - " background-color: #f2f2f2;\n", - " \n", - " max-width: 80px;\n", - " \n", - " font-size: 1pt;\n", - " \n", - " }\n", + " \n", " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow3_col13 {\n", - " \n", - " background-color: #cedced;\n", - " \n", - " max-width: 80px;\n", - " \n", - " font-size: 1pt;\n", + "\n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow3_col14 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #e7899c;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow3_col15 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #eeacba;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow3_col16 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #e2eaf4;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", - " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow3_col17 {\n", - " \n", - " background-color: #f7d6dd;\n", - " \n", - " max-width: 80px;\n", - " \n", - " font-size: 1pt;\n", - " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow3_col18 {\n", - " \n", - " background-color: #a8c0df;\n", - " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", + " \n", + "
Colormaps, with a caption.
\n", + " \n", + " A\n", + " \n", + " B\n", + " \n", + " C\n", + " \n", + " D\n", + " \n", + " E\n", + " \n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 1.32921\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.31628\n", + " \n", + " \n", + " -0.99081\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -1.07082\n", + " \n", + " \n", + " -1.43871\n", + " \n", + " \n", + " 0.564417\n", + " \n", + " \n", + " 0.295722\n", + " \n", + "
\n", + " 2\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " -1.6264\n", + " \n", + " \n", + " 0.219565\n", + " \n", + " \n", + " 0.678805\n", + " \n", + " \n", + " 1.88927\n", + " \n", + "
\n", + " 3\n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " 0.961538\n", + " \n", + " \n", + " 0.104011\n", + " \n", + " \n", + " -0.481165\n", + " \n", + " \n", + " 0.850229\n", + " \n", + "
\n", + " 4\n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " 1.45342\n", + " \n", + " \n", + " 1.05774\n", + " \n", + " \n", + " 0.165562\n", + " \n", + " \n", + " 0.515018\n", + " \n", + "
\n", + " 5\n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " -1.33694\n", + " \n", + " \n", + " 0.562861\n", + " \n", + " \n", + " 1.39285\n", + " \n", + " \n", + " -0.063328\n", + " \n", + "
\n", + " 6\n", + " \n", + " \n", + " 7\n", + " \n", + " \n", + " 0.121668\n", + " \n", + " \n", + " 1.2076\n", + " \n", + " \n", + " -0.00204021\n", + " \n", + " \n", + " 1.6278\n", + " \n", + "
\n", + " 7\n", + " \n", + " \n", + " 8\n", + " \n", + " \n", + " 0.354493\n", + " \n", + " \n", + " 1.03753\n", + " \n", + " \n", + " -0.385684\n", + " \n", + " \n", + " 0.519818\n", + " \n", + "
\n", + " 8\n", + " \n", + " \n", + " 9\n", + " \n", + " \n", + " 1.68658\n", + " \n", + " \n", + " -1.32596\n", + " \n", + " \n", + " 1.42898\n", + " \n", + " \n", + " -2.08935\n", + " \n", + "
\n", + " 9\n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " -0.12982\n", + " \n", + " \n", + " 0.631523\n", + " \n", + " \n", + " -0.586538\n", + " \n", + " \n", + " 0.29072\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.style.set_caption('Colormaps, with a caption.')\\\n", + " .background_gradient(cmap=cm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Table Styles" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The next option you have are \"table styles\".\n", + "These are styles that apply to the table as a whole, but don't look at the data.\n", + "Certain sytlings, including pseudo-selectors like `:hover` can only be used this way." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + "\n", + " \n", " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow3_col24 {\n", - " \n", - " background-color: #cddbed;\n", - " \n", - " max-width: 80px;\n", - " \n", - " font-size: 1pt;\n", - " \n", - " }\n", + " \n", " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow4_col0 {\n", + "\n", + " \n", " \n", - " background-color: #ea9aaa;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow4_col1 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #5887c2;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow4_col2 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #f4c9d2;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow4_col3 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #f5ced6;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + "
Hover to highlight.
\n", + " \n", + " A\n", + " \n", + " B\n", + " \n", + " C\n", + " \n", + " D\n", + " \n", + " E\n", + " \n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 1.32921\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.31628\n", + " \n", + " \n", + " -0.99081\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -1.07082\n", + " \n", + " \n", + " -1.43871\n", + " \n", + " \n", + " 0.564417\n", + " \n", + " \n", + " 0.295722\n", + " \n", + "
\n", + " 2\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " -1.6264\n", + " \n", + " \n", + " 0.219565\n", + " \n", + " \n", + " 0.678805\n", + " \n", + " \n", + " 1.88927\n", + " \n", + "
\n", + " 3\n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " 0.961538\n", + " \n", + " \n", + " 0.104011\n", + " \n", + " \n", + " -0.481165\n", + " \n", + " \n", + " 0.850229\n", + " \n", + "
\n", + " 4\n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " 1.45342\n", + " \n", + " \n", + " 1.05774\n", + " \n", + " \n", + " 0.165562\n", + " \n", + " \n", + " 0.515018\n", + " \n", + "
\n", + " 5\n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " -1.33694\n", + " \n", + " \n", + " 0.562861\n", + " \n", + " \n", + " 1.39285\n", + " \n", + " \n", + " -0.063328\n", + " \n", + "
\n", + " 6\n", + " \n", + " \n", + " 7\n", + " \n", + " \n", + " 0.121668\n", + " \n", + " \n", + " 1.2076\n", + " \n", + " \n", + " -0.00204021\n", + " \n", + " \n", + " 1.6278\n", + " \n", + "
\n", + " 7\n", + " \n", + " \n", + " 8\n", + " \n", + " \n", + " 0.354493\n", + " \n", + " \n", + " 1.03753\n", + " \n", + " \n", + " -0.385684\n", + " \n", + " \n", + " 0.519818\n", + " \n", + "
\n", + " 8\n", + " \n", + " \n", + " 9\n", + " \n", + " \n", + " 1.68658\n", + " \n", + " \n", + " -1.32596\n", + " \n", + " \n", + " 1.42898\n", + " \n", + " \n", + " -2.08935\n", + " \n", + "
\n", + " 9\n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " -0.12982\n", + " \n", + " \n", + " 0.631523\n", + " \n", + " \n", + " -0.586538\n", + " \n", + " \n", + " 0.29072\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import HTML\n", + "\n", + "def hover(hover_color=\"#ffff99\"):\n", + " return dict(selector=\"tr:hover\",\n", + " props=[(\"background-color\", \"%s\" % hover_color)])\n", + "\n", + "styles = [\n", + " hover(),\n", + " dict(selector=\"th\", props=[(\"font-size\", \"150%\"),\n", + " (\"text-align\", \"center\")]),\n", + " dict(selector=\"caption\", props=[(\"caption-side\", \"bottom\")])\n", + "]\n", + "html = (df.style.set_table_styles(styles)\n", + " .set_caption(\"Hover to highlight.\"))\n", + "html" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`table_styles` should be a list of dictionaries.\n", + "Each dictionary should have the `selector` and `props` keys.\n", + "The value for `selector` should be a valid CSS selector.\n", + "Recall that all the styles are already attached to an `id`, unique to\n", + "each `Styler`. This selector is in addition to that `id`.\n", + "The value for `props` should be a list of tuples of `('attribute', 'value')`.\n", + "\n", + "`table_styles` are extremely flexible, but not as fun to type out by hand.\n", + "We hope to collect some useful ones either in pandas, or preferable in a new package that [builds on top](#Extensibility) the tools here." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Limitations\n", + "\n", + "- DataFrame only `(use Series.to_frame().style)`\n", + "- The index and columns must be unique\n", + "- No large repr, and performance isn't great; this is intended for summary DataFrames\n", + "- You can only style the *values*, not the index or columns\n", + "- You can only apply styles, you can't insert new HTML entities\n", + "\n", + "Some of these will be addressed in the future.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Terms\n", + "\n", + "- Style function: a function that's passed into `Styler.apply` or `Styler.applymap` and returns values like `'css attribute: value'`\n", + "- Builtin style functions: style functions that are methods on `Styler`\n", + "- table style: a dictionary with the two keys `selector` and `props`. `selector` is the CSS selector that `props` will apply to. `props` is a list of `(attribute, value)` tuples. A list of table styles passed into `Styler`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fun stuff\n", + "\n", + "Here are a few interesting examples.\n", + "\n", + "`Styler` interacts pretty well with widgets. If you're viewing this online instead of running the notebook yourself, you're missing out on interactively adjusting the color palette." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", " \n", - " background-color: #4479bb;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow5_col5 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #fae6ea;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " #T_35e396c0_8d9b_11e5_80ed_a45e60bd97fbrow5_col6 {\n", + " \n", + " \n", + " \n", " \n", - " background-color: #e68598;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " A\n", + " \n", + " B\n", + " \n", + " C\n", + " \n", + " D\n", + " \n", + " E\n", + " \n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " 0\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 1.32921\n", + " \n", + " \n", + " nan\n", + " \n", + " \n", + " -0.31628\n", + " \n", + " \n", + " -0.99081\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -1.07082\n", + " \n", + " \n", + " -1.43871\n", + " \n", + " \n", + " 0.564417\n", + " \n", + " \n", + " 0.295722\n", + " \n", + "
\n", + " 2\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " -1.6264\n", + " \n", + " \n", + " 0.219565\n", + " \n", + " \n", + " 0.678805\n", + " \n", + " \n", + " 1.88927\n", + " \n", + "
\n", + " 3\n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " 0.961538\n", + " \n", + " \n", + " 0.104011\n", + " \n", + " \n", + " -0.481165\n", + " \n", + " \n", + " 0.850229\n", + " \n", + "
\n", + " 4\n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " 1.45342\n", + " \n", + " \n", + " 1.05774\n", + " \n", + " \n", + " 0.165562\n", + " \n", + " \n", + " 0.515018\n", + " \n", + "
\n", + " 5\n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " -1.33694\n", + " \n", + " \n", + " 0.562861\n", + " \n", + " \n", + " 1.39285\n", + " \n", + " \n", + " -0.063328\n", + " \n", + "
\n", + " 6\n", + " \n", + " \n", + " 7\n", + " \n", + " \n", + " 0.121668\n", + " \n", + " \n", + " 1.2076\n", + " \n", + " \n", + " -0.00204021\n", + " \n", + " \n", + " 1.6278\n", + " \n", + "
\n", + " 7\n", + " \n", + " \n", + " 8\n", + " \n", + " \n", + " 0.354493\n", + " \n", + " \n", + " 1.03753\n", + " \n", + " \n", + " -0.385684\n", + " \n", + " \n", + " 0.519818\n", + " \n", + "
\n", + " 8\n", + " \n", + " \n", + " 9\n", + " \n", + " \n", + " 1.68658\n", + " \n", + " \n", + " -1.32596\n", + " \n", + " \n", + " 1.42898\n", + " \n", + " \n", + " -2.08935\n", + " \n", + "
\n", + " 9\n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " -0.12982\n", + " \n", + " \n", + " 0.631523\n", + " \n", + " \n", + " -0.586538\n", + " \n", + " \n", + " 0.29072\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.html import widgets\n", + "@widgets.interact\n", + "def f(h_neg=(0, 359, 1), h_pos=(0, 359), s=(0., 99.9), l=(0., 99.9)):\n", + " return df.style.background_gradient(\n", + " cmap=sns.palettes.diverging_palette(h_neg=h_neg, h_pos=h_pos, s=s, l=l,\n", + " as_cmap=True)\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def magnify():\n", + " return [dict(selector=\"th\",\n", + " props=[(\"font-size\", \"4pt\")]),\n", + " dict(selector=\"td\",\n", + " props=[('padding', \"0em 0em\")]),\n", + " dict(selector=\"th:hover\",\n", + " props=[(\"font-size\", \"12pt\")]),\n", + " dict(selector=\"tr:hover td:hover\",\n", + " props=[('max-width', '200px'),\n", + " ('font-size', '12pt')])\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " background-color: #89aad4;\n", + " \n", + " \n", + " \n", " \n", - " max-width: 80px;\n", + " \n", + " \n", + " \n", " \n", - " font-size: 1pt;\n", + " \n", + " \n", + " \n", " \n", - " }\n", - " \n", - " \n", - "\n", - "
Hover to magify
\n", + " \n", + " 0\n", + " \n", + " 1\n", + " \n", + " 2\n", + " \n", + " 3\n", + " \n", + " 4\n", + " \n", + " 5\n", + " \n", + " 6\n", + " \n", + " 7\n", + " \n", + " 8\n", + " \n", + " 9\n", + " \n", + " 10\n", + " \n", + " 11\n", + " \n", + " 12\n", + " \n", + " 13\n", + " \n", + " 14\n", + " \n", + " 15\n", + " \n", + " 16\n", + " \n", + " 17\n", + " \n", + " 18\n", + " \n", + " 19\n", + " \n", + " 20\n", + " \n", + " 21\n", + " \n", + " 22\n", + " \n", + " 23\n", + " \n", + " 24\n", + " \n", + "
None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " 0\n", + " \n", + " \n", + " 0.23\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " -0.84\n", + " \n", + " \n", + " -0.59\n", + " \n", + " \n", + " -0.96\n", + " \n", + " \n", + " -0.22\n", + " \n", + " \n", + " -0.62\n", + " \n", + " \n", + " 1.8\n", + " \n", + " \n", + " -2.1\n", + " \n", + " \n", + " 0.87\n", + " \n", + " \n", + " -0.92\n", + " \n", + " \n", + " -0.23\n", + " \n", + " \n", + " 2.2\n", + " \n", + " \n", + " -1.3\n", + " \n", + " \n", + " 0.076\n", + " \n", + " \n", + " -1.2\n", + " \n", + " \n", + " 1.2\n", + " \n", + " \n", + " -1\n", + " \n", + " \n", + " 1.1\n", + " \n", + " \n", + " -0.42\n", + " \n", + " \n", + " 2.3\n", + " \n", + " \n", + " -2.6\n", + " \n", + " \n", + " 2.8\n", + " \n", + " \n", + " 0.68\n", + " \n", + " \n", + " -1.6\n", + " \n", + "
\n", + " 1\n", + " \n", + " \n", + " -1.7\n", + " \n", + " \n", + " 1.6\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " 0.0037\n", + " \n", + " \n", + " -2.5\n", + " \n", + " \n", + " 3.4\n", + " \n", + " \n", + " -1.7\n", + " \n", + " \n", + " 1.3\n", + " \n", + " \n", + " -0.52\n", + " \n", + " \n", + " -0.015\n", + " \n", + " \n", + " 1.5\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " -1.9\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " -0.68\n", + " \n", + " \n", + " -0.81\n", + " \n", + " \n", + " 0.35\n", + " \n", + " \n", + " -0.055\n", + " \n", + " \n", + " 1.8\n", + " \n", + " \n", + " -2.8\n", + " \n", + " \n", + " 2.3\n", + " \n", + " \n", + " 0.78\n", + " \n", + " \n", + " 0.44\n", + " \n", + "
\n", + " 2\n", + " \n", + " \n", + " -0.65\n", + " \n", + " \n", + " 3.2\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " 0.52\n", + " \n", + " \n", + " 2.2\n", + " \n", + " \n", + " -0.37\n", + " \n", + " \n", + " -3\n", + " \n", + " \n", + " 3.7\n", + " \n", + " \n", + " -1.9\n", + " \n", + " \n", + " 2.5\n", + " \n", + " \n", + " 0.21\n", + " \n", + " \n", + " -0.24\n", + " \n", + " \n", + " -0.1\n", + " \n", + " \n", + " -0.78\n", + " \n", + " \n", + " -3\n", + " \n", + " \n", + " -0.82\n", + " \n", + " \n", + " -0.21\n", + " \n", + " \n", + " -0.23\n", + " \n", + " \n", + " 0.86\n", + " \n", + " \n", + " -0.68\n", + " \n", + " \n", + " 1.4\n", + " \n", + " \n", + " -4.9\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " 1.9\n", + " \n", + " \n", + " 0.61\n", + " \n", + "
\n", + " 3\n", + " \n", + " \n", + " -1.6\n", + " \n", + " \n", + " 3.7\n", + " \n", + " \n", + " -2.3\n", + " \n", + " \n", + " 0.43\n", + " \n", + " \n", + " 4.2\n", + " \n", + " \n", + " -0.43\n", + " \n", + " \n", + " -3.9\n", + " \n", + " \n", + " 4.2\n", + " \n", + " \n", + " -2.1\n", + " \n", + " \n", + " 1.1\n", + " \n", + " \n", + " 0.12\n", + " \n", + " \n", + " 0.6\n", + " \n", + " \n", + " -0.89\n", + " \n", + " \n", + " 0.27\n", + " \n", + " \n", + " -3.7\n", + " \n", + " \n", + " -2.7\n", + " \n", + " \n", + " -0.31\n", + " \n", + " \n", + " -1.6\n", + " \n", + " \n", + " 1.4\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " 0.91\n", + " \n", + " \n", + " -5.8\n", + " \n", + " \n", + " 2.8\n", + " \n", + " \n", + " 2.1\n", + " \n", + " \n", + " 0.28\n", + " \n", + "
\n", + " 4\n", + " \n", + " \n", + " -3.3\n", + " \n", + " \n", + " 4.5\n", + " \n", + " \n", + " -1.9\n", + " \n", + " \n", + " -1.7\n", + " \n", + " \n", + " 5.2\n", + " \n", + " \n", + " -1\n", + " \n", + " \n", + " -3.8\n", + " \n", + " \n", + " 4.7\n", + " \n", + " \n", + " -0.72\n", + " \n", + " \n", + " 1.1\n", + " \n", + " \n", + " -0.18\n", + " \n", + " \n", + " 0.83\n", + " \n", + " \n", + " -0.22\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " -4.3\n", + " \n", + " \n", + " -2.9\n", + " \n", + " \n", + " -0.97\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " 1.5\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " 2.2\n", + " \n", + " \n", + " -6.3\n", + " \n", + " \n", + " 3.3\n", + " \n", + " \n", + " 2.5\n", + " \n", + " \n", + " 2.1\n", + " \n", + "
\n", + " 5\n", + " \n", + " \n", + " -0.84\n", + " \n", + " \n", + " 4.2\n", + " \n", + " \n", + " -1.7\n", + " \n", + " \n", + " -2\n", + " \n", + " \n", + " 5.3\n", + " \n", + " \n", + " -0.99\n", + " \n", + " \n", + " -4.1\n", + " \n", + " \n", + " 3.9\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " -0.94\n", + " \n", + " \n", + " 1.2\n", + " \n", + " \n", + " 0.087\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " -0.11\n", + " \n", + " \n", + " -4.5\n", + " \n", + " \n", + " -0.85\n", + " \n", + " \n", + " -2.1\n", + " \n", + " \n", + " -1.4\n", + " \n", + " \n", + " 0.8\n", + " \n", + " \n", + " -1.6\n", + " \n", + " \n", + " 1.5\n", + " \n", + " \n", + " -6.5\n", + " \n", + " \n", + " 2.8\n", + " \n", + " \n", + " 2.1\n", + " \n", + " \n", + " 3.8\n", + " \n", + "
\n", + " 6\n", + " \n", + " \n", + " -0.74\n", + " \n", + " \n", + " 5.4\n", + " \n", + " \n", + " -2.1\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " 4.2\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " -3.2\n", + " \n", + " \n", + " 3.8\n", + " \n", + " \n", + " -3.2\n", + " \n", + " \n", + " -1.2\n", + " \n", + " \n", + " 0.34\n", + " \n", + " \n", + " 0.57\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " 0.54\n", + " \n", + " \n", + " -4.4\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " -4\n", + " \n", + " \n", + " -2.6\n", + " \n", + " \n", + " -0.2\n", + " \n", + " \n", + " -4.7\n", + " \n", + " \n", + " 1.9\n", + " \n", + " \n", + " -8.5\n", + " \n", + " \n", + " 3.3\n", + " \n", + " \n", + " 2.5\n", + " \n", + " \n", + " 5.8\n", + " \n", + "
\n", + " 7\n", + " \n", + " \n", + " -0.44\n", + " \n", + " \n", + " 4.7\n", + " \n", + " \n", + " -2.3\n", + " \n", + " \n", + " -0.21\n", + " \n", + " \n", + " 5.9\n", + " \n", + " \n", + " -2.6\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " 5.5\n", + " \n", + " \n", + " -4.5\n", + " \n", + " \n", + " -3.2\n", + " \n", + " \n", + " -1.7\n", + " \n", + " \n", + " 0.18\n", + " \n", + " \n", + " 0.11\n", + " \n", + " \n", + " 0.036\n", + " \n", + " \n", + " -6\n", + " \n", + " \n", + " -0.45\n", + " \n", + " \n", + " -6.2\n", + " \n", + " \n", + " -3.9\n", + " \n", + " \n", + " 0.71\n", + " \n", + " \n", + " -3.9\n", + " \n", + " \n", + " 0.67\n", + " \n", + " \n", + " -7.3\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " 3.4\n", + " \n", + " \n", + " 6.7\n", + " \n", + "
\n", + " 8\n", + " \n", + " \n", + " 0.92\n", + " \n", + " \n", + " 5.8\n", + " \n", + " \n", + " -3.3\n", + " \n", + " \n", + " -0.65\n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " -3.2\n", + " \n", + " \n", + " -1.8\n", + " \n", + " \n", + " 5.6\n", + " \n", + " \n", + " -3.5\n", + " \n", + " \n", + " -1.3\n", + " \n", + " \n", + " -1.6\n", + " \n", + " \n", + " 0.82\n", + " \n", + " \n", + " -2.4\n", + " \n", + " \n", + " -0.4\n", + " \n", + " \n", + " -6.1\n", + " \n", + " \n", + " -0.52\n", + " \n", + " \n", + " -6.6\n", + " \n", + " \n", + " -3.5\n", + " \n", + " \n", + " -0.043\n", + " \n", + " \n", + " -4.6\n", + " \n", + " \n", + " 0.51\n", + " \n", + " \n", + " -5.8\n", + " \n", + " \n", + " 3.2\n", + " \n", + " \n", + " 2.4\n", + " \n", + " \n", + " 5.1\n", + " \n", + "
\n", + " 9\n", + " \n", + " \n", + " 0.38\n", + " \n", + " \n", + " 5.5\n", + " \n", + " \n", + " -4.5\n", + " \n", + " \n", + " -0.8\n", + " \n", + " \n", + " 7.1\n", + " \n", + " \n", + " -2.6\n", + " \n", + " \n", + " -0.44\n", + " \n", + " \n", + " 5.3\n", + " \n", + " \n", + " -2\n", + " \n", + " \n", + " -0.33\n", + " \n", + " \n", + " -0.8\n", + " \n", + " \n", + " 0.26\n", + " \n", + " \n", + " -3.4\n", + " \n", + " \n", + " -0.82\n", + " \n", + " \n", + " -6.1\n", + " \n", + " \n", + " -2.6\n", + " \n", + " \n", + " -8.5\n", + " \n", + " \n", + " -4.5\n", + " \n", + " \n", + " 0.41\n", + " \n", + " \n", + " -4.7\n", + " \n", + " \n", + " 1.9\n", + " \n", + " \n", + " -6.9\n", + " \n", + " \n", + " 2.1\n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " 5.2\n", + " \n", + "
\n", + " 10\n", + " \n", + " \n", + " 2.1\n", + " \n", + " \n", + " 5.8\n", + " \n", + " \n", + " -3.9\n", + " \n", + " \n", + " -0.98\n", + " \n", + " \n", + " 7.8\n", + " \n", + " \n", + " -2.5\n", + " \n", + " \n", + " -0.59\n", + " \n", + " \n", + " 5.6\n", + " \n", + " \n", + " -2.2\n", + " \n", + " \n", + " -0.71\n", + " \n", + " \n", + " -0.46\n", + " \n", + " \n", + " 1.8\n", + " \n", + " \n", + " -2.8\n", + " \n", + " \n", + " 0.48\n", + " \n", + " \n", + " -6\n", + " \n", + " \n", + " -3.4\n", + " \n", + " \n", + " -7.8\n", + " \n", + " \n", + " -5.5\n", + " \n", + " \n", + " -0.7\n", + " \n", + " \n", + " -4.6\n", + " \n", + " \n", + " -0.52\n", + " \n", + " \n", + " -7.7\n", + " \n", + " \n", + " 1.5\n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " 5.8\n", + " \n", + "
\n", + " 11\n", + " \n", + " \n", + " 1.9\n", + " \n", + " \n", + " 4.5\n", + " \n", + " \n", + " -2.2\n", + " \n", + " \n", + " -1.4\n", + " \n", + " \n", + " 5.9\n", + " \n", + " \n", + " -0.49\n", + " \n", + " \n", + " 0.017\n", + " \n", + " \n", + " 5.8\n", + " \n", + " \n", + " -1\n", + " \n", + " \n", + " -0.6\n", + " \n", + " \n", + " 0.49\n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " -1.5\n", + " \n", + " \n", + " 1.9\n", + " \n", + " \n", + " -5.9\n", + " \n", + " \n", + " -4.5\n", + " \n", + " \n", + " -8.2\n", + " \n", + " \n", + " -3.4\n", + " \n", + " \n", + " -2.2\n", + " \n", + " \n", + " -4.3\n", + " \n", + " \n", + " -1.2\n", + " \n", + " \n", + " -7.9\n", + " \n", + " \n", + " 1.4\n", + " \n", + " \n", + " 5.3\n", + " \n", + " \n", + " 5.8\n", + " \n", + "
\n", + " 12\n", + " \n", + " \n", + " 3.2\n", + " \n", + " \n", + " 4.2\n", + " \n", + " \n", + " -3.1\n", + " \n", + " \n", + " -2.3\n", + " \n", + " \n", + " 5.9\n", + " \n", + " \n", + " -2.6\n", + " \n", + " \n", + " 0.33\n", + " \n", + " \n", + " 6.7\n", + " \n", + " \n", + " -2.8\n", + " \n", + " \n", + " -0.2\n", + " \n", + " \n", + " 1.9\n", + " \n", + " \n", + " 2.6\n", + " \n", + " \n", + " -1.5\n", + " \n", + " \n", + " 0.75\n", + " \n", + " \n", + " -5.3\n", + " \n", + " \n", + " -4.5\n", + " \n", + " \n", + " -7.6\n", + " \n", + " \n", + " -2.9\n", + " \n", + " \n", + " -2.2\n", + " \n", + " \n", + " -4.8\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " -9\n", + " \n", + " \n", + " 2.1\n", + " \n", + " \n", + " 6.4\n", + " \n", + " \n", + " 5.6\n", + " \n", + "
\n", + " 13\n", + " \n", + " \n", + " 2.3\n", + " \n", + " \n", + " 4.5\n", + " \n", + " \n", + " -3.9\n", + " \n", + " \n", + " -2\n", + " \n", + " \n", + " 6.8\n", + " \n", + " \n", + " -3.3\n", + " \n", + " \n", + " -2.2\n", + " \n", + " \n", + " 8\n", + " \n", + " \n", + " -2.6\n", + " \n", + " \n", + " -0.8\n", + " \n", + " \n", + " 0.71\n", + " \n", + " \n", + " 2.3\n", + " \n", + " \n", + " -0.16\n", + " \n", + " \n", + " -0.46\n", + " \n", + " \n", + " -5.1\n", + " \n", + " \n", + " -3.8\n", + " \n", + " \n", + " -7.6\n", + " \n", + " \n", + " -4\n", + " \n", + " \n", + " 0.33\n", + " \n", + " \n", + " -3.7\n", + " \n", + " \n", + " -1\n", + " \n", + " \n", + " -8.7\n", + " \n", + " \n", + " 2.5\n", + " \n", + " \n", + " 5.9\n", + " \n", + " \n", + " 6.7\n", + " \n", + "
\n", + " 14\n", + " \n", + " \n", + " 3.8\n", + " \n", + " \n", + " 4.3\n", + " \n", + " \n", + " -3.9\n", + " \n", + " \n", + " -1.6\n", + " \n", + " \n", + " 6.2\n", + " \n", + " \n", + " -3.2\n", + " \n", + " \n", + " -1.5\n", + " \n", + " \n", + " 5.6\n", + " \n", + " \n", + " -2.9\n", + " \n", + " \n", + " -0.33\n", + " \n", + " \n", + " -0.97\n", + " \n", + " \n", + " 1.7\n", + " \n", + " \n", + " 3.6\n", + " \n", + " \n", + " 0.29\n", + " \n", + " \n", + " -4.2\n", + " \n", + " \n", + " -4.1\n", + " \n", + " \n", + " -6.7\n", + " \n", + " \n", + " -4.5\n", + " \n", + " \n", + " -2.2\n", + " \n", + " \n", + " -2.4\n", + " \n", + " \n", + " -1.6\n", + " \n", + " \n", + " -9.4\n", + " \n", + " \n", + " 3.4\n", + " \n", + " \n", + " 6.1\n", + " \n", + " \n", + " 7.5\n", + " \n", + "
\n", + " 15\n", + " \n", + " \n", + " 5.6\n", + " \n", + " \n", + " 5.3\n", + " \n", + " \n", + " -4\n", + " \n", + " \n", + " -2.3\n", + " \n", + " \n", + " 5.9\n", + " \n", + " \n", + " -3.3\n", + " \n", + " \n", + " -1\n", + " \n", + " \n", + " 5.7\n", + " \n", + " \n", + " -3.1\n", + " \n", + " \n", + " -0.33\n", + " \n", + " \n", + " -1.2\n", + " \n", + " \n", + " 2.2\n", + " \n", + " \n", + " 4.2\n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " -3.2\n", + " \n", + " \n", + " -4.3\n", + " \n", + " \n", + " -5.7\n", + " \n", + " \n", + " -4.4\n", + " \n", + " \n", + " -2.3\n", + " \n", + " \n", + " -1.4\n", + " \n", + " \n", + " -1.2\n", + " \n", + " \n", + " -11\n", + " \n", + " \n", + " 2.6\n", + " \n", + " \n", + " 6.7\n", + " \n", + " \n", + " 5.9\n", + " \n", + "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", @@ -20991,10 +18738,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 31, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } diff --git a/pandas/core/style.py b/pandas/core/style.py index 15fcec118e7d4..5a8427f153a47 100644 --- a/pandas/core/style.py +++ b/pandas/core/style.py @@ -7,7 +7,8 @@ from contextlib import contextmanager from uuid import uuid1 import copy -from collections import defaultdict, MutableMapping +from collections import defaultdict +from collections.abc import MutableMapping try: from jinja2 import Template @@ -272,7 +273,7 @@ def _translate(self): caption=caption, table_attributes=self.table_attributes) def format(self, formatter, subset=None): - """ + ''' Format the text display value of cells. .. versionadded:: 0.18.0 @@ -281,8 +282,6 @@ def format(self, formatter, subset=None): ---------- formatter: str, callable, or dict subset: IndexSlice - A argument to DataFrame.loc that restricts which elements - ``formatter`` is applied to. Returns ------- @@ -293,9 +292,8 @@ def format(self, formatter, subset=None): ``formatter`` is either an ``a`` or a dict ``{column name: a}`` where ``a`` is one of - - - str: this will be wrapped in: ``a.format(x)`` - - callable: called with the value of an individual cell + - str: this will be wrapped in: ``a.format(x)`` + - callable: called with the value of an individual cell The default display value for numeric values is the "general" (``g``) format with ``pd.options.display.precision`` precision. @@ -307,7 +305,7 @@ def format(self, formatter, subset=None): >>> df.style.format("{:.2%}") >>> df['c'] = ['a', 'b', 'c', 'd'] >>> df.style.format({'C': str.upper}) - """ + ''' if subset is None: row_locs = range(len(self.data)) col_locs = range(len(self.data.columns)) @@ -855,11 +853,11 @@ def _highlight_extrema(data, color='yellow', max_=True): def _maybe_wrap_formatter(formatter): - if com.is_string_like(formatter): - return lambda x: formatter.format(x) - elif callable(formatter): - return formatter - else: + if not (callable(formatter) or com.is_string_like(formatter)): msg = "Expected a template string or callable, got {} instead".format( formatter) raise TypeError(msg) + if not callable(formatter): + return lambda x: formatter.format(x) + else: + return formatter From 48c2f4c861b718990e710bc08c1ca6b3964fb098 Mon Sep 17 00:00:00 2001 From: Henry Hammond Date: Mon, 8 Feb 2016 10:21:43 -0500 Subject: [PATCH 2/2] BUG: Ignore style column headers when None --- pandas/core/style.py | 2 +- pandas/tests/test_style.py | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/pandas/core/style.py b/pandas/core/style.py index 5a8427f153a47..d6d2cc818693d 100644 --- a/pandas/core/style.py +++ b/pandas/core/style.py @@ -216,7 +216,7 @@ def _translate(self): "class": " ".join(cs)}) head.append(row_es) - if self.data.index.names: + if self.data.index.names and self.data.index.names != [None]: index_header_row = [] for c, name in enumerate(self.data.index.names): diff --git a/pandas/tests/test_style.py b/pandas/tests/test_style.py index ef5a966d65545..fb008c2d9a6f5 100644 --- a/pandas/tests/test_style.py +++ b/pandas/tests/test_style.py @@ -129,6 +129,27 @@ def test_set_properties_subset(self): expected = {(0, 0): ['color: white']} self.assertEqual(result, expected) + def test_empty_index_name_doesnt_display(self): + # https://github.com/pydata/pandas/pull/12090#issuecomment-180695902 + df = pd.DataFrame({'A': [1, 2], 'B': [3, 4], 'C': [5, 6]}) + result = df.style._translate() + + expected = [[{'class': 'blank', 'type': 'th', 'value': ''}, + {'class': 'col_heading level0 col0', + 'display_value': 'A', + 'type': 'th', + 'value': 'A'}, + {'class': 'col_heading level0 col1', + 'display_value': 'B', + 'type': 'th', + 'value': 'B'}, + {'class': 'col_heading level0 col2', + 'display_value': 'C', + 'type': 'th', + 'value': 'C'}]] + + self.assertEqual(result['head'], expected) + def test_index_name(self): # https://github.com/pydata/pandas/issues/11655 df = pd.DataFrame({'A': [1, 2], 'B': [3, 4], 'C': [5, 6]})
Hover to magify
\n", + " 16\n", + " \n", + " \n", + " 4.1\n", + " \n", + " \n", + " 4.3\n", + " \n", + " \n", + " -2.4\n", + " \n", + " \n", + " -3.3\n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " -2.5\n", + " \n", + " \n", + " -0.47\n", + " \n", + " \n", + " 5.3\n", + " \n", + " \n", + " -4.8\n", + " \n", + " \n", + " 1.6\n", + " \n", + " \n", + " 0.23\n", + " \n", + " \n", + " 0.099\n", + " \n", + " \n", + " 5.8\n", + " \n", + " \n", + " 1.8\n", + " \n", + " \n", + " -3.1\n", + " \n", + " \n", + " -3.9\n", + " \n", + " \n", + " -5.5\n", + " \n", + " \n", + " -3\n", + " \n", + " \n", + " -2.1\n", + " \n", + " \n", + " -1.1\n", + " \n", + " \n", + " -0.56\n", + " \n", + " \n", + " -13\n", + " \n", + " \n", + " 2.1\n", + " \n", + " \n", + " 6.2\n", + " \n", + " \n", + " 4.9\n", + " \n", + "
\n", + " \n", + " 17\n", " \n", - " 0\n", + " \n", + " 5.6\n", " \n", - " 1\n", + " \n", + " 4.6\n", " \n", - " 2\n", + " \n", + " -3.5\n", " \n", - " 3\n", + " \n", + " -3.8\n", " \n", - " 4\n", + " \n", + " 6.6\n", " \n", - " 5\n", + " \n", + " -2.6\n", " \n", - " 6\n", + " \n", + " -0.75\n", " \n", - " 7\n", + " \n", + " 6.6\n", " \n", - " 8\n", + " \n", + " -4.8\n", " \n", - " 9\n", + " \n", + " 3.6\n", " \n", - " 10\n", + " \n", + " -0.29\n", " \n", - " 11\n", + " \n", + " 0.56\n", " \n", - " 12\n", + " \n", + " 5.8\n", " \n", - " 13\n", + " \n", + " 2\n", " \n", - " 14\n", + " \n", + " -2.3\n", " \n", - " 15\n", + " \n", + " -2.3\n", " \n", - " 16\n", + " \n", + " -5\n", " \n", - " 17\n", + " \n", + " -3.2\n", " \n", - " 18\n", + " \n", + " -3.1\n", " \n", - " 19\n", + " \n", + " -2.4\n", " \n", - " 20\n", + " \n", + " 0.84\n", " \n", - " 21\n", + " \n", + " -13\n", " \n", - " 22\n", + " \n", + " 3.6\n", " \n", - " 23\n", + " \n", + " 7.4\n", " \n", - " 24\n", + " \n", + " 4.7\n", " \n", "
\n", + " 18\n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " 5.8\n", + " \n", + " \n", + " -2.8\n", + " \n", + " \n", + " -4.2\n", + " \n", + " \n", + " 7.1\n", + " \n", + " \n", + " -3.3\n", + " \n", + " \n", + " -1.2\n", + " \n", + " \n", + " 7.9\n", + " \n", + " \n", + " -4.9\n", + " \n", + " \n", + " 1.4\n", + " \n", + " \n", + " -0.63\n", + " \n", + " \n", + " 0.35\n", + " \n", + " \n", + " 7.5\n", + " \n", + " \n", + " 0.87\n", + " \n", + " \n", + " -1.5\n", + " \n", + " \n", + " -2.1\n", + " \n", + " \n", + " -4.2\n", + " \n", + " \n", + " -2.5\n", + " \n", + " \n", + " -2.5\n", + " \n", + " \n", + " -2.9\n", + " \n", + " \n", + " 1.9\n", + " \n", + " \n", + " -9.7\n", + " \n", + " \n", + " 3.4\n", + " \n", + " \n", + " 7.1\n", + " \n", + " \n", + " 4.4\n", + " \n", + "
\n", - " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " 0.23\n", - " \n", - " \n", - " \n", - " \n", - " 1.03\n", - " \n", - " \n", - " \n", - " \n", - " -0.84\n", - " \n", - " \n", - " \n", - " \n", - " -0.59\n", - " \n", - " \n", - " \n", - " \n", - " -0.96\n", - " \n", - " \n", - " \n", - " \n", - " -0.22\n", - " \n", - " \n", - " \n", - " \n", - " -0.62\n", - " \n", - " \n", - " \n", - " \n", - " 1.84\n", - " \n", - " \n", - " \n", - " \n", - " -2.05\n", - " \n", - " \n", - " \n", - " \n", - " 0.87\n", - " \n", - " \n", - " \n", - " \n", - " -0.92\n", - " \n", - " \n", - " \n", - " \n", - " -0.23\n", - " \n", - " \n", - " \n", - " \n", - " 2.15\n", - " \n", - " \n", - " \n", - " \n", - " -1.33\n", - " \n", - " \n", - " \n", - " \n", - " 0.08\n", - " \n", - " \n", - " \n", - " \n", - " -1.25\n", - " \n", - " \n", - " \n", - " \n", - " 1.2\n", - " \n", - " \n", - " \n", - " \n", - " -1.05\n", - " \n", - " \n", - " \n", - " \n", - " 1.06\n", - " \n", - " \n", - " \n", - " \n", - " -0.42\n", - " \n", - " \n", - " \n", - " \n", - " 2.29\n", - " \n", - " \n", - " \n", - " \n", - " -2.59\n", - " \n", - " \n", - " \n", - " \n", - " 2.82\n", - " \n", - " \n", - " \n", - " \n", - " 0.68\n", - " \n", - " \n", - " \n", - " \n", - " -1.58\n", - " \n", - " \n", - "
\n", - " \n", - " 1\n", - " \n", - " \n", - " \n", - " \n", - " -1.75\n", - " \n", - " \n", - " \n", - " \n", - " 1.56\n", - " \n", - " \n", - " \n", - " \n", - " -1.13\n", - " \n", - " \n", - " \n", - " \n", - " -1.1\n", - " \n", - " \n", - " \n", - " \n", - " 1.03\n", - " \n", - " \n", - " \n", - " \n", - " 0.0\n", - " \n", - " \n", - " \n", - " \n", - " -2.46\n", - " \n", - " \n", - " \n", - " \n", - " 3.45\n", - " \n", - " \n", - " \n", - " \n", - " -1.66\n", - " \n", - " \n", - " \n", - " \n", - " 1.27\n", - " \n", - " \n", - " \n", - " \n", - " -0.52\n", - " \n", - " \n", - " \n", - " \n", - " -0.02\n", - " \n", - " \n", - " \n", - " \n", - " 1.52\n", - " \n", - " \n", - " \n", - " \n", - " -1.09\n", - " \n", - " \n", - " \n", - " \n", - " -1.86\n", - " \n", - " \n", - " \n", - " \n", - " -1.13\n", - " \n", - " \n", - " \n", - " \n", - " -0.68\n", - " \n", - " \n", - " \n", - " \n", - " -0.81\n", - " \n", - " \n", - " \n", - " \n", - " 0.35\n", - " \n", - " \n", - " \n", - " \n", - " -0.06\n", - " \n", - " \n", - " \n", - " \n", - " 1.79\n", - " \n", - " \n", - " \n", - " \n", - " -2.82\n", - " \n", - " \n", - " \n", - " \n", - " 2.26\n", - " \n", - " \n", - " \n", - " \n", - " 0.78\n", - " \n", - " \n", - " \n", - " \n", - " 0.44\n", - " \n", - " \n", - "
\n", - " \n", - " 2\n", - " \n", - " \n", - " \n", - " \n", - " -0.65\n", - " \n", - " \n", - " \n", - " \n", - " 3.22\n", - " \n", - " \n", - " \n", - " \n", - " -1.76\n", - " \n", - " \n", - " \n", - " \n", - " 0.52\n", - " \n", - " \n", - " \n", - " \n", - " 2.2\n", - " \n", - " \n", - " \n", - " \n", - " -0.37\n", - " \n", - " \n", - " \n", - " \n", - " -3.0\n", - " \n", - " \n", - " \n", - " \n", - " 3.73\n", - " \n", - " \n", - " \n", - " \n", - " -1.87\n", - " \n", - " \n", - " \n", - " \n", - " 2.46\n", - " \n", - " \n", - " \n", - " \n", - " 0.21\n", - " \n", - " \n", - " \n", - " \n", - " -0.24\n", - " \n", - " \n", - " \n", - " \n", - " -0.1\n", - " \n", - " \n", - " \n", - " \n", - " -0.78\n", - " \n", - " \n", - " \n", - " \n", - " -3.02\n", - " \n", - " \n", - " \n", - " \n", - " -0.82\n", - " \n", - " \n", - " \n", - " \n", - " -0.21\n", - " \n", - " \n", - " \n", - " \n", - " -0.23\n", - " \n", - " \n", - " \n", - " \n", - " 0.86\n", - " \n", - " \n", - " \n", - " \n", - " -0.68\n", - " \n", - " \n", - " \n", - " \n", - " 1.45\n", - " \n", - " \n", - " \n", - " \n", - " -4.89\n", - " \n", - " \n", - " \n", - " \n", - " 3.03\n", - " \n", - " \n", - " \n", - " \n", - " 1.91\n", - " \n", - " \n", - " \n", - " \n", - " 0.61\n", - " \n", - " \n", - "
\n", - " \n", - " 3\n", - " \n", - " \n", - " \n", - " \n", - " -1.62\n", - " \n", - " \n", - " \n", - " \n", - " 3.71\n", - " \n", - " \n", - " \n", - " \n", - " -2.31\n", - " \n", - " \n", - " \n", - " \n", - " 0.43\n", - " \n", - " \n", - " \n", - " \n", - " 4.17\n", - " \n", - " \n", - " \n", - " \n", - " -0.43\n", - " \n", - " \n", - " \n", - " \n", - " -3.86\n", - " \n", - " \n", - " \n", - " \n", - " 4.16\n", - " \n", - " \n", - " \n", - " \n", - " -2.15\n", - " \n", - " \n", - " \n", - " \n", - " 1.08\n", - " \n", - " \n", - " \n", - " \n", - " 0.12\n", - " \n", - " \n", - " \n", - " \n", - " 0.6\n", - " \n", - " \n", - " \n", - " \n", - " -0.89\n", - " \n", - " \n", - " \n", - " \n", - " 0.27\n", - " \n", - " \n", - " \n", - " \n", - " -3.67\n", - " \n", - " \n", - " \n", - " \n", - " -2.71\n", - " \n", - " \n", - " \n", - " \n", - " -0.31\n", - " \n", - " \n", - " \n", - " \n", - " -1.59\n", - " \n", - " \n", - " \n", - " \n", - " 1.35\n", - " \n", - " \n", - " \n", - " \n", - " -1.83\n", - " \n", - " \n", - " \n", - " \n", - " 0.91\n", - " \n", - " \n", - " \n", - " \n", - " -5.8\n", - " \n", - " \n", - " \n", - " \n", - " 2.81\n", - " \n", - " \n", - " \n", - " \n", - " 2.11\n", - " \n", - " \n", - " \n", - " \n", - " 0.28\n", - " \n", - " \n", - "
\n", - " \n", - " 4\n", - " \n", - " \n", - " \n", - " \n", - " -3.35\n", - " \n", - " \n", - " \n", - " \n", - " 4.48\n", - " \n", - " \n", - " \n", - " \n", - " -1.86\n", - " \n", - " \n", - " \n", - " \n", - " -1.7\n", - " \n", - " \n", - " \n", - " \n", - " 5.19\n", - " \n", - " \n", - " \n", - " \n", - " -1.02\n", - " \n", - " \n", - " \n", - " \n", - " -3.81\n", - " \n", - " \n", - " \n", - " \n", - " 4.72\n", - " \n", - " \n", - " \n", - " \n", - " -0.72\n", - " \n", - " \n", - " \n", - " \n", - " 1.08\n", - " \n", - " \n", - " \n", - " \n", - " -0.18\n", - " \n", - " \n", - " \n", - " \n", - " 0.83\n", - " \n", - " \n", - " \n", - " \n", - " -0.22\n", - " \n", - " \n", - " \n", - " \n", - " -1.08\n", - " \n", - " \n", - " \n", - " \n", - " -4.27\n", - " \n", - " \n", - " \n", - " \n", - " -2.88\n", - " \n", - " \n", - " \n", - " \n", - " -0.97\n", - " \n", - " \n", - " \n", - " \n", - " -1.78\n", - " \n", - " \n", - " \n", - " \n", - " 1.53\n", - " \n", - " \n", - " \n", - " \n", - " -1.8\n", - " \n", - " \n", - " \n", - " \n", - " 2.21\n", - " \n", - " \n", - " \n", - " \n", - " -6.34\n", - " \n", - " \n", - " \n", - " \n", - " 3.34\n", - " \n", - " \n", - " \n", - " \n", - " 2.49\n", - " \n", - " \n", - " \n", - " \n", - " 2.09\n", - " \n", - " \n", - "
\n", - " \n", - " 5\n", - " \n", - " \n", - " \n", - " \n", - " -0.84\n", - " \n", - " \n", - " \n", - " \n", - " 4.23\n", - " \n", - " \n", - " \n", - " \n", - " -1.65\n", - " \n", - " \n", - " \n", - " \n", - " -2.0\n", - " \n", - " \n", - " \n", - " \n", - " 5.34\n", - " \n", - " \n", - " \n", - " \n", - " -0.99\n", - " \n", - " \n", - " \n", - " \n", - " -4.13\n", - " \n", - " \n", - " \n", - " \n", - " 3.94\n", - " \n", - " \n", - " \n", - " \n", - " -1.06\n", - " \n", - " \n", - " \n", - " \n", - " -0.94\n", - " \n", - " \n", - " \n", - " \n", - " 1.24\n", - " \n", - " \n", - " \n", - " \n", - " 0.09\n", - " \n", - " \n", - " \n", - " \n", - " -1.78\n", - " \n", - " \n", - " \n", - " \n", - " -0.11\n", - " \n", - " \n", - " \n", - " \n", - " -4.45\n", - " \n", - " \n", - " \n", - " \n", - " -0.85\n", - " \n", - " \n", - " \n", - " \n", - " -2.06\n", - " \n", - " \n", - " \n", - " \n", - " -1.35\n", - " \n", - " \n", - " \n", - " \n", - " 0.8\n", - " \n", - " \n", - " \n", - " \n", - " -1.63\n", - " \n", - " \n", - " \n", - " \n", - " 1.54\n", - " \n", - " \n", - " \n", - " \n", - " -6.51\n", - " \n", - " \n", - " \n", - " \n", - " 2.8\n", - " \n", - " \n", - " \n", - " \n", - " 2.14\n", - " \n", - " \n", - " \n", - " \n", - " 3.77\n", - " \n", - " \n", - "
\n", - " \n", - " 6\n", - " \n", - " \n", - " \n", - " \n", - " -0.74\n", - " \n", - " \n", - " \n", - " \n", - " 5.35\n", - " \n", - " \n", - " \n", - " \n", - " -2.11\n", - " \n", - " \n", - " \n", - " \n", - " -1.13\n", - " \n", - " \n", - " \n", - " \n", - " 4.2\n", - " \n", - " \n", - " \n", - " \n", - " -1.85\n", - " \n", - " \n", - " \n", - " \n", - " -3.2\n", - " \n", - " \n", - " \n", - " \n", - " 3.76\n", - " \n", - " \n", - " \n", - " \n", - " -3.22\n", - " \n", - " \n", - " \n", - " \n", - " -1.23\n", - " \n", - " \n", - " \n", - " \n", - " 0.34\n", - " \n", - " \n", - " \n", - " \n", - " 0.57\n", - " \n", - " \n", - " \n", - " \n", - " -1.82\n", - " \n", - " \n", - " \n", - " \n", - " 0.54\n", - " \n", - " \n", - " \n", - " \n", - " -4.43\n", - " \n", - " \n", - " \n", - " \n", - " -1.83\n", - " \n", - " \n", - " \n", - " \n", - " -4.03\n", - " \n", - " \n", - " \n", - " \n", - " -2.62\n", - " \n", - " \n", - " \n", - " \n", - " -0.2\n", - " \n", - " \n", - " \n", - " \n", - " -4.68\n", - " \n", - " \n", - " \n", - " \n", - " 1.93\n", - " \n", - " \n", - " \n", - " \n", - " -8.46\n", - " \n", - " \n", - " \n", - " \n", - " 3.34\n", - " \n", - " \n", - " \n", - " \n", - " 2.52\n", - " \n", - " \n", - " \n", - " \n", - " 5.81\n", - " \n", - " \n", - "
\n", - " \n", - " 7\n", - " \n", - " \n", - " \n", - " \n", - " -0.44\n", - " \n", - " \n", - " \n", - " \n", - " 4.69\n", - " \n", - " \n", - " \n", - " \n", - " -2.3\n", - " \n", - " \n", - " \n", - " \n", - " -0.21\n", - " \n", - " \n", - " \n", - " \n", - " 5.93\n", - " \n", - " \n", - " \n", - " \n", - " -2.63\n", - " \n", - " \n", - " \n", - " \n", - " -1.83\n", - " \n", - " \n", - " \n", - " \n", - " 5.46\n", - " \n", - " \n", - " \n", - " \n", - " -4.5\n", - " \n", - " \n", - " \n", - " \n", - " -3.16\n", - " \n", - " \n", - " \n", - " \n", - " -1.73\n", - " \n", - " \n", - " \n", - " \n", - " 0.18\n", - " \n", - " \n", - " \n", - " \n", - " 0.11\n", - " \n", - " \n", - " \n", - " \n", - " 0.04\n", - " \n", - " \n", - " \n", - " \n", - " -5.99\n", - " \n", - " \n", - " \n", - " \n", - " -0.45\n", - " \n", - " \n", - " \n", - " \n", - " -6.2\n", - " \n", - " \n", - " \n", - " \n", - " -3.89\n", - " \n", - " \n", - " \n", - " \n", - " 0.71\n", - " \n", - " \n", - " \n", - " \n", - " -3.95\n", - " \n", - " \n", - " \n", - " \n", - " 0.67\n", - " \n", - " \n", - " \n", - " \n", - " -7.26\n", - " \n", - " \n", - " \n", - " \n", - " 2.97\n", - " \n", - " \n", - " \n", - " \n", - " 3.39\n", - " \n", - " \n", - " \n", - " \n", - " 6.66\n", - " \n", - " \n", - "
\n", - " \n", - " 8\n", - " \n", - " \n", - " \n", - " \n", - " 0.92\n", - " \n", - " \n", - " \n", - " \n", - " 5.8\n", - " \n", - " \n", - " \n", - " \n", - " -3.33\n", - " \n", - " \n", - " \n", - " \n", - " -0.65\n", - " \n", - " \n", - " \n", - " \n", - " 5.99\n", - " \n", - " \n", - " \n", - " \n", - " -3.19\n", - " \n", - " \n", - " \n", - " \n", - " -1.83\n", - " \n", - " \n", - " \n", - " \n", - " 5.63\n", - " \n", - " \n", - " \n", - " \n", - " -3.53\n", - " \n", - " \n", - " \n", - " \n", - " -1.3\n", - " \n", - " \n", - " \n", - " \n", - " -1.61\n", - " \n", - " \n", - " \n", - " \n", - " 0.82\n", - " \n", - " \n", - " \n", - " \n", - " -2.45\n", - " \n", - " \n", - " \n", - " \n", - " -0.4\n", - " \n", - " \n", - " \n", - " \n", - " -6.06\n", - " \n", - " \n", - " \n", - " \n", - " -0.52\n", - " \n", - " \n", - " \n", - " \n", - " -6.6\n", - " \n", - " \n", - " \n", - " \n", - " -3.48\n", - " \n", - " \n", - " \n", - " \n", - " -0.04\n", - " \n", - " \n", - " \n", - " \n", - " -4.6\n", - " \n", - " \n", - " \n", - " \n", - " 0.51\n", - " \n", - " \n", - " \n", - " \n", - " -5.85\n", - " \n", - " \n", - " \n", - " \n", - " 3.23\n", - " \n", - " \n", - " \n", - " \n", - " 2.4\n", - " \n", - " \n", - " \n", - " \n", - " 5.08\n", - " \n", - " \n", - "
\n", - " \n", - " 9\n", - " \n", - " \n", - " \n", - " \n", - " 0.38\n", - " \n", - " \n", - " \n", - " \n", - " 5.54\n", - " \n", - " \n", - " \n", - " \n", - " -4.49\n", - " \n", - " \n", - " \n", - " \n", - " -0.8\n", - " \n", - " \n", - " \n", - " \n", - " 7.05\n", - " \n", - " \n", - " \n", - " \n", - " -2.64\n", - " \n", - " \n", - " \n", - " \n", - " -0.44\n", - " \n", - " \n", - " \n", - " \n", - " 5.35\n", - " \n", - " \n", - " \n", - " \n", - " -1.96\n", - " \n", - " \n", - " \n", - " \n", - " -0.33\n", - " \n", - " \n", - " \n", - " \n", - " -0.8\n", - " \n", - " \n", - " \n", - " \n", - " 0.26\n", - " \n", - " \n", - " \n", - " \n", - " -3.37\n", - " \n", - " \n", - " \n", - " \n", - " -0.82\n", - " \n", - " \n", - " \n", - " \n", - " -6.05\n", - " \n", - " \n", - " \n", - " \n", - " -2.61\n", - " \n", - " \n", - " \n", - " \n", - " -8.45\n", - " \n", - " \n", - " \n", - " \n", - " -4.45\n", - " \n", - " \n", - " \n", - " \n", - " 0.41\n", - " \n", - " \n", - " \n", - " \n", - " -4.71\n", - " \n", - " \n", - " \n", - " \n", - " 1.89\n", - " \n", - " \n", - " \n", - " \n", - " -6.93\n", - " \n", - " \n", - " \n", - " \n", - " 2.14\n", - " \n", - " \n", - " \n", - " \n", - " 3.0\n", - " \n", - " \n", - " \n", - " \n", - " 5.16\n", - " \n", - " \n", - "
\n", - " \n", - " 10\n", - " \n", - " \n", - " \n", - " \n", - " 2.06\n", - " \n", - " \n", - " \n", - " \n", - " 5.84\n", - " \n", - " \n", - " \n", - " \n", - " -3.9\n", - " \n", - " \n", - " \n", - " \n", - " -0.98\n", - " \n", - " \n", - " \n", - " \n", - " 7.78\n", - " \n", - " \n", - " \n", - " \n", - " -2.49\n", - " \n", - " \n", - " \n", - " \n", - " -0.59\n", - " \n", - " \n", - " \n", - " \n", - " 5.59\n", - " \n", - " \n", - " \n", - " \n", - " -2.22\n", - " \n", - " \n", - " \n", - " \n", - " -0.71\n", - " \n", - " \n", - " \n", - " \n", - " -0.46\n", - " \n", - " \n", - " \n", - " \n", - " 1.8\n", - " \n", - " \n", - " \n", - " \n", - " -2.79\n", - " \n", - " \n", - " \n", - " \n", - " 0.48\n", - " \n", - " \n", - " \n", - " \n", - " -5.97\n", - " \n", - " \n", - " \n", - " \n", - " -3.44\n", - " \n", - " \n", - " \n", - " \n", - " -7.77\n", - " \n", - " \n", - " \n", - " \n", - " -5.49\n", - " \n", - " \n", - " \n", - " \n", - " -0.7\n", - " \n", - " \n", - " \n", - " \n", - " -4.61\n", - " \n", - " \n", - " \n", - " \n", - " -0.52\n", - " \n", - " \n", - " \n", - " \n", - " -7.72\n", - " \n", - " \n", - " \n", - " \n", - " 1.54\n", - " \n", - " \n", - " \n", - " \n", - " 5.02\n", - " \n", - " \n", - " \n", - " \n", - " 5.81\n", - " \n", - " \n", - "
\n", - " \n", - " 11\n", - " \n", - " \n", - " \n", - " \n", - " 1.86\n", - " \n", - " \n", - " \n", - " \n", - " 4.47\n", - " \n", - " \n", - " \n", - " \n", - " -2.17\n", - " \n", - " \n", - " \n", - " \n", - " -1.38\n", - " \n", - " \n", - " \n", - " \n", - " 5.9\n", - " \n", - " \n", - " \n", - " \n", - " -0.49\n", - " \n", - " \n", - " \n", - " \n", - " 0.02\n", - " \n", - " \n", - " \n", - " \n", - " 5.78\n", - " \n", - " \n", - " \n", - " \n", - " -1.04\n", - " \n", - " \n", - " \n", - " \n", - " -0.6\n", - " \n", - " \n", - " \n", - " \n", - " 0.49\n", - " \n", - " \n", - " \n", - " \n", - " 1.96\n", - " \n", - " \n", - " \n", - " \n", - " -1.47\n", - " \n", - " \n", - " \n", - " \n", - " 1.88\n", - " \n", - " \n", - " \n", - " \n", - " -5.92\n", - " \n", - " \n", - " \n", - " \n", - " -4.55\n", - " \n", - " \n", - " \n", - " \n", - " -8.15\n", - " \n", - " \n", - " \n", - " \n", - " -3.42\n", - " \n", - " \n", - " \n", - " \n", - " -2.24\n", - " \n", - " \n", - " \n", - " \n", - " -4.33\n", - " \n", - " \n", - " \n", - " \n", - " -1.17\n", - " \n", - " \n", - " \n", - " \n", - " -7.9\n", - " \n", - " \n", - " \n", - " \n", - " 1.36\n", - " \n", - " \n", - " \n", - " \n", - " 5.31\n", - " \n", - " \n", - " \n", - " \n", - " 5.83\n", - " \n", - " \n", - "
\n", - " \n", - " 12\n", - " \n", - " \n", - " \n", - " \n", - " 3.19\n", - " \n", - " \n", - " \n", - " \n", - " 4.22\n", - " \n", - " \n", - " \n", - " \n", - " -3.06\n", - " \n", - " \n", - " \n", - " \n", - " -2.27\n", - " \n", - " \n", - " \n", - " \n", - " 5.93\n", - " \n", - " \n", - " \n", - " \n", - " -2.64\n", - " \n", - " \n", - " \n", - " \n", - " 0.33\n", - " \n", - " \n", - " \n", - " \n", - " 6.72\n", - " \n", - " \n", - " \n", - " \n", - " -2.84\n", - " \n", - " \n", - " \n", - " \n", - " -0.2\n", - " \n", - " \n", - " \n", - " \n", - " 1.89\n", - " \n", - " \n", - " \n", - " \n", - " 2.63\n", - " \n", - " \n", - " \n", - " \n", - " -1.53\n", - " \n", - " \n", - " \n", - " \n", - " 0.75\n", - " \n", - " \n", - " \n", - " \n", - " -5.27\n", - " \n", - " \n", - " \n", - " \n", - " -4.53\n", - " \n", - " \n", - " \n", - " \n", - " -7.57\n", - " \n", - " \n", - " \n", - " \n", - " -2.85\n", - " \n", - " \n", - " \n", - " \n", - " -2.17\n", - " \n", - " \n", - " \n", - " \n", - " -4.78\n", - " \n", - " \n", - " \n", - " \n", - " -1.13\n", - " \n", - " \n", - " \n", - " \n", - " -8.99\n", - " \n", - " \n", - " \n", - " \n", - " 2.11\n", - " \n", - " \n", - " \n", - " \n", - " 6.42\n", - " \n", - " \n", - " \n", - " \n", - " 5.6\n", - " \n", - " \n", - "
\n", - " \n", - " 13\n", - " \n", - " \n", - " \n", - " \n", - " 2.31\n", - " \n", - " \n", - " \n", - " \n", - " 4.45\n", - " \n", - " \n", - " \n", - " \n", - " -3.87\n", - " \n", - " \n", - " \n", - " \n", - " -2.05\n", - " \n", - " \n", - " \n", - " \n", - " 6.76\n", - " \n", - " \n", - " \n", - " \n", - " -3.25\n", - " \n", - " \n", - " \n", - " \n", - " -2.17\n", - " \n", - " \n", - " \n", - " \n", - " 7.99\n", - " \n", - " \n", - " \n", - " \n", - " -2.56\n", - " \n", - " \n", - " \n", - " \n", - " -0.8\n", - " \n", - " \n", - " \n", - " \n", - " 0.71\n", - " \n", - " \n", - " \n", - " \n", - " 2.33\n", - " \n", - " \n", - " \n", - " \n", - " -0.16\n", - " \n", - " \n", - " \n", - " \n", - " -0.46\n", - " \n", - " \n", - " \n", - " \n", - " -5.1\n", - " \n", - " \n", - " \n", - " \n", - " -3.79\n", - " \n", - " \n", - " \n", - " \n", - " -7.58\n", - " \n", - " \n", - " \n", - " \n", - " -4.0\n", - " \n", - " \n", - " \n", - " \n", - " 0.33\n", - " \n", - " \n", - " \n", - " \n", - " -3.67\n", - " \n", - " \n", - " \n", - " \n", - " -1.05\n", - " \n", - " \n", - " \n", - " \n", - " -8.71\n", - " \n", - " \n", - " \n", - " \n", - " 2.47\n", - " \n", - " \n", - " \n", - " \n", - " 5.87\n", - " \n", - " \n", - " \n", - " \n", - " 6.71\n", - " \n", - " \n", - "
\n", - " \n", - " 14\n", - " \n", - " \n", - " \n", - " \n", - " 3.78\n", - " \n", - " \n", - " \n", - " \n", - " 4.33\n", - " \n", - " \n", - " \n", - " \n", - " -3.88\n", - " \n", - " \n", - " \n", - " \n", - " -1.58\n", - " \n", - " \n", - " \n", - " \n", - " 6.22\n", - " \n", - " \n", - " \n", - " \n", - " -3.23\n", - " \n", - " \n", - " \n", - " \n", - " -1.46\n", - " \n", - " \n", - " \n", - " \n", - " 5.57\n", - " \n", - " \n", - " \n", - " \n", - " -2.93\n", - " \n", - " \n", - " \n", - " \n", - " -0.33\n", - " \n", - " \n", - " \n", - " \n", - " -0.97\n", - " \n", - " \n", - " \n", - " \n", - " 1.72\n", - " \n", - " \n", - " \n", - " \n", - " 3.61\n", - " \n", - " \n", - " \n", - " \n", - " 0.29\n", - " \n", - " \n", - " \n", - " \n", - " -4.21\n", - " \n", - " \n", - " \n", - " \n", - " -4.1\n", - " \n", - " \n", - " \n", - " \n", - " -6.68\n", - " \n", - " \n", - " \n", - " \n", - " -4.5\n", - " \n", - " \n", - " \n", - " \n", - " -2.19\n", - " \n", - " \n", - " \n", - " \n", - " -2.43\n", - " \n", - " \n", - " \n", - " \n", - " -1.64\n", - " \n", - " \n", - " \n", - " \n", - " -9.36\n", - " \n", - " \n", - " \n", - " \n", - " 3.36\n", - " \n", - " \n", - " \n", - " \n", - " 6.11\n", - " \n", - " \n", - " \n", - " \n", - " 7.53\n", - " \n", - " \n", - "
\n", - " \n", - " 15\n", - " \n", - " \n", - " \n", - " \n", - " 5.64\n", - " \n", - " \n", - " \n", - " \n", - " 5.31\n", - " \n", - " \n", - " \n", - " \n", - " -3.98\n", - " \n", - " \n", - " \n", - " \n", - " -2.26\n", - " \n", - " \n", - " \n", - " \n", - " 5.91\n", - " \n", - " \n", - " \n", - " \n", - " -3.3\n", - " \n", - " \n", - " \n", - " \n", - " -1.03\n", - " \n", - " \n", - " \n", - " \n", - " 5.68\n", - " \n", - " \n", - " \n", - " \n", - " -3.06\n", - " \n", - " \n", - " \n", - " \n", - " -0.33\n", - " \n", - " \n", - " \n", - " \n", - " -1.16\n", - " \n", - " \n", - " \n", - " \n", - " 2.19\n", - " \n", - " \n", - " \n", - " \n", - " 4.2\n", - " \n", - " \n", - " \n", - " \n", - " 1.01\n", - " \n", - " \n", - " \n", - " \n", - " -3.22\n", - " \n", - " \n", - " \n", - " \n", - " -4.31\n", - " \n", - " \n", - " \n", - " \n", - " -5.74\n", - " \n", - " \n", - " \n", - " \n", - " -4.44\n", - " \n", - " \n", - " \n", - " \n", - " -2.3\n", - " \n", - " \n", - " \n", - " \n", - " -1.36\n", - " \n", - " \n", - " \n", - " \n", - " -1.2\n", - " \n", - " \n", - " \n", - " \n", - " -11.27\n", - " \n", - " \n", - " \n", - " \n", - " 2.59\n", - " \n", - " \n", - " \n", - " \n", - " 6.69\n", - " \n", - " \n", - " \n", - " \n", - " 5.91\n", - " \n", - " \n", - "
\n", - " \n", - " 16\n", - " \n", - " \n", - " \n", - " \n", - " 4.08\n", - " \n", - " \n", - " \n", - " \n", - " 4.34\n", - " \n", - " \n", - " \n", - " \n", - " -2.44\n", - " \n", - " \n", - " \n", - " \n", - " -3.3\n", - " \n", - " \n", - " \n", - " \n", - " 6.04\n", - " \n", - " \n", - " \n", - " \n", - " -2.52\n", - " \n", - " \n", - " \n", - " \n", - " -0.47\n", - " \n", - " \n", - " \n", - " \n", - " 5.28\n", - " \n", - " \n", - " \n", - " \n", - " -4.84\n", - " \n", - " \n", - " \n", - " \n", - " 1.58\n", - " \n", - " \n", - " \n", - " \n", - " 0.23\n", - " \n", - " \n", - " \n", - " \n", - " 0.1\n", - " \n", - " \n", - " \n", - " \n", - " 5.79\n", - " \n", - " \n", - " \n", - " \n", - " 1.8\n", - " \n", - " \n", - " \n", - " \n", - " -3.13\n", - " \n", - " \n", - " \n", - " \n", - " -3.85\n", - " \n", - " \n", - " \n", - " \n", - " -5.53\n", - " \n", - " \n", - " \n", - " \n", - " -2.97\n", - " \n", - " \n", - " \n", - " \n", - " -2.13\n", - " \n", - " \n", - " \n", - " \n", - " -1.15\n", - " \n", - " \n", - " \n", - " \n", - " -0.56\n", - " \n", - " \n", - " \n", - " \n", - " -13.13\n", - " \n", - " \n", - " \n", - " \n", - " 2.07\n", - " \n", - " \n", - " \n", - " \n", - " 6.16\n", - " \n", - " \n", - " \n", - " \n", - " 4.94\n", - " \n", - " \n", - "
\n", - " \n", - " 17\n", - " \n", - " \n", - " \n", - " \n", - " 5.64\n", - " \n", - " \n", - " \n", - " \n", - " 4.57\n", - " \n", - " \n", - " \n", - " \n", - " -3.53\n", - " \n", - " \n", - " \n", - " \n", - " -3.76\n", - " \n", - " \n", - " \n", - " \n", - " 6.58\n", - " \n", - " \n", - " \n", - " \n", - " -2.58\n", - " \n", - " \n", - " \n", - " \n", - " -0.75\n", - " \n", - " \n", - " \n", - " \n", - " 6.58\n", - " \n", - " \n", - " \n", - " \n", - " -4.78\n", - " \n", - " \n", - " \n", - " \n", - " 3.63\n", - " \n", - " \n", - " \n", - " \n", - " -0.29\n", - " \n", - " \n", - " \n", - " \n", - " 0.56\n", - " \n", - " \n", - " \n", - " \n", - " 5.76\n", - " \n", - " \n", - " \n", - " \n", - " 2.05\n", - " \n", - " \n", - " \n", - " \n", - " -2.27\n", - " \n", - " \n", - " \n", - " \n", - " -2.31\n", - " \n", - " \n", - " \n", - " \n", - " -4.95\n", - " \n", - " \n", - " \n", - " \n", - " -3.16\n", - " \n", - " \n", - " \n", - " \n", - " -3.06\n", - " \n", - " \n", - " \n", - " \n", - " -2.43\n", - " \n", - " \n", - " \n", - " \n", - " 0.84\n", - " \n", - " \n", - " \n", - " \n", - " -12.57\n", - " \n", - " \n", - " \n", - " \n", - " 3.56\n", - " \n", - " \n", - " \n", - " \n", - " 7.36\n", - " \n", - " \n", - " \n", - " \n", - " 4.7\n", - " \n", - " \n", - "
\n", - " \n", - " 18\n", - " \n", - " \n", - " \n", - " \n", - " 5.99\n", - " \n", - " \n", - " \n", - " \n", - " 5.82\n", - " \n", - " \n", - " \n", - " \n", - " -2.85\n", - " \n", - " \n", - " \n", - " \n", - " -4.15\n", - " \n", - " \n", - " \n", - " \n", - " 7.12\n", - " \n", - " \n", - " \n", - " \n", - " -3.32\n", - " \n", - " \n", - " \n", - " \n", - " -1.21\n", - " \n", - " \n", - " \n", - " \n", - " 7.93\n", - " \n", - " \n", - " \n", - " \n", - " -4.85\n", - " \n", - " \n", - " \n", - " \n", - " 1.44\n", - " \n", - " \n", - " \n", - " \n", - " -0.63\n", - " \n", - " \n", - " \n", - " \n", - " 0.35\n", - " \n", - " \n", - " \n", - " \n", - " 7.47\n", - " \n", - " \n", - " \n", - " \n", - " 0.87\n", - " \n", - " \n", - " \n", - " \n", - " -1.52\n", - " \n", - " \n", - " \n", - " \n", - " -2.09\n", - " \n", - " \n", - " \n", - " \n", - " -4.23\n", - " \n", - " \n", - " \n", - " \n", - " -2.55\n", - " \n", - " \n", - " \n", - " \n", - " -2.46\n", - " \n", - " \n", - " \n", - " \n", - " -2.89\n", - " \n", - " \n", - " \n", - " \n", - " 1.9\n", - " \n", - " \n", - " \n", - " \n", - " -9.74\n", - " \n", - " \n", - " \n", - " \n", - " 3.43\n", - " \n", - " \n", - " \n", - " \n", - " 7.07\n", - " \n", - " \n", - " \n", - " \n", - " 4.39\n", - " \n", - " \n", - "
\n", - " \n", - " 19\n", - " \n", - " \n", - " \n", - " \n", - " 4.03\n", - " \n", - " \n", - " \n", - " \n", - " 6.23\n", - " \n", - " \n", - " \n", - " \n", - " -4.1\n", - " \n", - " \n", - " \n", - " \n", - " -4.11\n", - " \n", - " \n", - " \n", - " \n", - " 7.19\n", - " \n", - " \n", - " \n", - " \n", - " -4.1\n", - " \n", - " \n", - " \n", - " \n", - " -1.52\n", - " \n", - " \n", - " \n", - " \n", - " 6.53\n", - " \n", - " \n", - " \n", - " \n", - " -5.21\n", - " \n", - " \n", - " \n", - " \n", - " -0.24\n", - " \n", - " \n", - " \n", - " \n", - " 0.01\n", - " \n", - " \n", - " \n", - " \n", - " 1.16\n", - " \n", - " \n", - " \n", - " \n", - " 6.43\n", - " \n", - " \n", - " \n", - " \n", - " -1.97\n", - " \n", - " \n", - " \n", - " \n", - " -2.64\n", - " \n", - " \n", - " \n", - " \n", - " -1.66\n", - " \n", - " \n", - " \n", - " \n", - " -5.2\n", - " \n", - " \n", - " \n", - " \n", - " -3.25\n", - " \n", - " \n", - " \n", - " \n", - " -2.87\n", - " \n", - " \n", - " \n", - " \n", - " -1.65\n", - " \n", - " \n", - " \n", - " \n", - " 1.64\n", - " \n", - " \n", - " \n", - " \n", - " -10.66\n", - " \n", - " \n", - " \n", - " \n", - " 2.83\n", - " \n", - " \n", - " \n", - " \n", - " 7.48\n", - " \n", - " \n", - " \n", - " \n", - " 3.94\n", - " \n", + " \n", + " 19\n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " 6.2\n", + " \n", + " \n", + " -4.1\n", + " \n", + " \n", + " -4.1\n", + " \n", + " \n", + " 7.2\n", + " \n", + " \n", + " -4.1\n", + " \n", + " \n", + " -1.5\n", + " \n", + " \n", + " 6.5\n", + " \n", + " \n", + " -5.2\n", + " \n", + " \n", + " -0.24\n", + " \n", + " \n", + " 0.0072\n", + " \n", + " \n", + " 1.2\n", + " \n", + " \n", + " 6.4\n", + " \n", + " \n", + " -2\n", + " \n", + " \n", + " -2.6\n", + " \n", + " \n", + " -1.7\n", + " \n", + " \n", + " -5.2\n", + " \n", + " \n", + " -3.3\n", + " \n", + " \n", + " -2.9\n", + " \n", + " \n", + " -1.7\n", + " \n", + " \n", + " 1.6\n", + " \n", + " \n", + " -11\n", + " \n", + " \n", + " 2.8\n", + " \n", + " \n", + " 7.5\n", + " \n", + " \n", + " 3.9\n", " \n", "