diff --git a/doc/make.py b/doc/make.py index c09514d758833..05bf618ee677e 100755 --- a/doc/make.py +++ b/doc/make.py @@ -18,13 +18,16 @@ """ from __future__ import print_function -import glob +import io +import glob # noqa import os import shutil import sys -import sphinx +from contextlib import contextmanager + +import sphinx # noqa import argparse -import jinja2 +import jinja2 # noqa os.environ['PYTHONPATH'] = '..' @@ -102,10 +105,90 @@ def clean(): shutil.rmtree('source/generated') +@contextmanager +def cleanup_nb(nb): + try: + yield + finally: + try: + os.remove(nb + '.executed') + except OSError: + pass + + +def execute_nb(src, dst, allow_errors=False, timeout=1000, kernel_name=''): + """ + Execute notebook in `src` and write the output to `dst` + + Parameters + ---------- + src, dst: str + path to notebook + allow_errors: bool + timeout: int + kernel_name: str + defualts to value set in notebook metadata + + Returns + ------- + dst: str + """ + import nbformat + from nbconvert.preprocessors import ExecutePreprocessor + + with io.open(src, encoding='utf-8') as f: + nb = nbformat.read(f, as_version=4) + + ep = ExecutePreprocessor(allow_errors=allow_errors, + timeout=timeout, + kernel_name=kernel_name) + ep.preprocess(nb, resources={}) + + with io.open(dst, 'wt', encoding='utf-8') as f: + nbformat.write(nb, f) + return dst + + +def convert_nb(src, dst, to='html', template_file='basic'): + """ + Convert a notebook `src`. + + Parameters + ---------- + src, dst: str + filepaths + to: {'rst', 'html'} + format to export to + template_file: str + name of template file to use. Default 'basic' + """ + from nbconvert import HTMLExporter, RSTExporter + + dispatch = {'rst': RSTExporter, 'html': HTMLExporter} + exporter = dispatch[to.lower()](template_file=template_file) + + (body, resources) = exporter.from_filename(src) + with io.open(dst, 'wt', encoding='utf-8') as f: + f.write(body) + return dst + + def html(): check_build() - os.system('jupyter nbconvert --to=html --template=basic ' - '--output=source/html-styling.html source/html-styling.ipynb') + + notebooks = [ + 'source/html-styling.ipynb', + ] + + for nb in notebooks: + with cleanup_nb(nb): + try: + print("Converting %s" % nb) + executed = execute_nb(nb, nb + '.executed', allow_errors=True) + convert_nb(executed, nb.rstrip('.ipynb') + '.html') + except ImportError: + pass + if os.system('sphinx-build -P -b html -d build/doctrees ' 'source build/html'): raise SystemExit("Building HTML failed.") diff --git a/doc/source/contributing.rst b/doc/source/contributing.rst index 3d39656faafa4..6e0c747cd06fc 100644 --- a/doc/source/contributing.rst +++ b/doc/source/contributing.rst @@ -360,7 +360,7 @@ code. It is easiest to :ref:`create a development environment `, then install:: - conda install -n pandas_dev sphinx ipython + conda install -n pandas_dev sphinx ipython nbconvert nbformat Furthermore, it is recommended to have all `optional dependencies `_ @@ -369,6 +369,8 @@ messages when building the docs. This happens because all the code in the docume is executed during the doc build, and so code examples using optional dependencies will generate errors. Run ``pd.show_versions()`` to get an overview of the installed version of all dependencies. +`nbconvert `_ and `nbformat `_ are required to build the Jupyter notebooks +included in the documentation. .. warning:: diff --git a/doc/source/html-styling.ipynb b/doc/source/html-styling.ipynb index 77813a03c704a..8668ee3de7470 100644 --- a/doc/source/html-styling.ipynb +++ b/doc/source/html-styling.ipynb @@ -47,14 +47,16 @@ "`Styler.apply` passes each column or row into your DataFrame one-at-a-time or the entire table at once, depending on the `axis` keyword argument.\n", "For columnwise use `axis=0`, rowwise use `axis=1`, and for the entire table at once use `axis=None`.\n", "\n", - "The result of the function application, a CSS attribute-value pair, is stored in an internal dictionary on your ``Styler`` object.\n", + "For `Styler.applymap` your function should take a scalar and return a single string with the CSS attribute-value pair.\n", + "\n", + "For `Styler.apply` your function should take a Series or DataFrame (depending on the axis parameter), and return a Series or DataFrame with an identical shape where each value is a string with a CSS attribute-value pair.\n", "\n", "Let's see some examples." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "collapsed": false }, @@ -79,293 +81,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "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", - " 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": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style" ] @@ -381,31 +101,11 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "['',\n", - " ' \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \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": [ - "" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "s = df.style.applymap(color_negative_red)\n", "s" @@ -1052,7 +170,9 @@ "source": [ "Notice the similarity with the standard `df.applymap`, which operates on DataFrames elementwise. We want you to be able to resuse your existing knowledge of how to interact with DataFrames.\n", "\n", - "Notice also that our function returned a string containing the CSS attribute and value, separated by a colon just like in a `\n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \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": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.apply(highlight_max)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case the input is a `Series`, one column at a time.\n", + "Notice that the output shape of `highlight_max` matches the input shape, an array with `len(s)` items." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1412,693 +228,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "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", - " 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": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.\\\n", " applymap(color_negative_red).\\\n", @@ -2121,7 +255,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": { "collapsed": true }, @@ -2141,301 +275,20 @@ " index=data.index, columns=data.columns)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When using ``Styler.apply(func, axis=None)``, the function must return a DataFrame with the same index and column labels." + ] + }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "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", - " 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": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.apply(highlight_max, color='darkorange', axis=None)" ] @@ -2451,7 +304,9 @@ "- `Styler.applymap(func)` for elementwise styles\n", "- `Styler.apply(func, axis=0)` for columnwise styles\n", "- `Styler.apply(func, axis=1)` for rowwise styles\n", - "- `Styler.apply(func, axis=None)` for tablewise styles" + "- `Styler.apply(func, axis=None)` for tablewise styles\n", + "\n", + "And crucially the input and output shapes of `func` must match. If `x` is the input then ``func(x).shape == x.shape``." ] }, { @@ -2479,311 +334,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "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", - " 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": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.apply(highlight_max, subset=['B', 'C', 'D'])" ] @@ -2797,341 +352,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "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", - " 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": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.applymap(color_negative_red,\n", " subset=pd.IndexSlice[2:5, ['B', 'D']])" @@ -3162,293 +387,11 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "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", - " 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", - " 100.00%\n", - " \n", - " \n", - " 132.92%\n", - " \n", - " \n", - " nan%\n", - " \n", - " \n", - " -31.63%\n", - " \n", - " \n", - " -99.08%\n", - " \n", - "
\n", - " 1\n", - " \n", - " \n", - " 200.00%\n", - " \n", - " \n", - " -107.08%\n", - " \n", - " \n", - " -143.87%\n", - " \n", - " \n", - " 56.44%\n", - " \n", - " \n", - " 29.57%\n", - " \n", - "
\n", - " 2\n", - " \n", - " \n", - " 300.00%\n", - " \n", - " \n", - " -162.64%\n", - " \n", - " \n", - " 21.96%\n", - " \n", - " \n", - " 67.88%\n", - " \n", - " \n", - " 188.93%\n", - " \n", - "
\n", - " 3\n", - " \n", - " \n", - " 400.00%\n", - " \n", - " \n", - " 96.15%\n", - " \n", - " \n", - " 10.40%\n", - " \n", - " \n", - " -48.12%\n", - " \n", - " \n", - " 85.02%\n", - " \n", - "
\n", - " 4\n", - " \n", - " \n", - " 500.00%\n", - " \n", - " \n", - " 145.34%\n", - " \n", - " \n", - " 105.77%\n", - " \n", - " \n", - " 16.56%\n", - " \n", - " \n", - " 51.50%\n", - " \n", - "
\n", - " 5\n", - " \n", - " \n", - " 600.00%\n", - " \n", - " \n", - " -133.69%\n", - " \n", - " \n", - " 56.29%\n", - " \n", - " \n", - " 139.29%\n", - " \n", - " \n", - " -6.33%\n", - " \n", - "
\n", - " 6\n", - " \n", - " \n", - " 700.00%\n", - " \n", - " \n", - " 12.17%\n", - " \n", - " \n", - " 120.76%\n", - " \n", - " \n", - " -0.20%\n", - " \n", - " \n", - " 162.78%\n", - " \n", - "
\n", - " 7\n", - " \n", - " \n", - " 800.00%\n", - " \n", - " \n", - " 35.45%\n", - " \n", - " \n", - " 103.75%\n", - " \n", - " \n", - " -38.57%\n", - " \n", - " \n", - " 51.98%\n", - " \n", - "
\n", - " 8\n", - " \n", - " \n", - " 900.00%\n", - " \n", - " \n", - " 168.66%\n", - " \n", - " \n", - " -132.60%\n", - " \n", - " \n", - " 142.90%\n", - " \n", - " \n", - " -208.94%\n", - " \n", - "
\n", - " 9\n", - " \n", - " \n", - " 1000.00%\n", - " \n", - " \n", - " -12.98%\n", - " \n", - " \n", - " 63.15%\n", - " \n", - " \n", - " -58.65%\n", - " \n", - " \n", - " 29.07%\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.format(\"{:.2%}\")" ] @@ -3462,293 +405,11 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "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", - " 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", - " 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", - " 3\n", - " \n", - " \n", - " 4\n", - " \n", - " \n", - " 1000\n", - " \n", - " \n", - " 0.104011\n", - " \n", - " \n", - " -0.48\n", - " \n", - " \n", - " 0.850229\n", - " \n", - "
\n", - " 4\n", - " \n", - " \n", - " 5\n", - " \n", - " \n", - " 1000\n", - " \n", - " \n", - " 1.05774\n", - " \n", - " \n", - " +0.17\n", - " \n", - " \n", - " 0.515018\n", - " \n", - "
\n", - " 5\n", - " \n", - " \n", - " 6\n", - " \n", - " \n", - " -100\n", - " \n", - " \n", - " 0.562861\n", - " \n", - " \n", - " +1.39\n", - " \n", - " \n", - " -0.063328\n", - " \n", - "
\n", - " 6\n", - " \n", - " \n", - " 7\n", - " \n", - " \n", - " 0000\n", - " \n", - " \n", - " 1.2076\n", - " \n", - " \n", - " -0.00\n", - " \n", - " \n", - " 1.6278\n", - " \n", - "
\n", - " 7\n", - " \n", - " \n", - " 8\n", - " \n", - " \n", - " 0000\n", - " \n", - " \n", - " 1.03753\n", - " \n", - " \n", - " -0.39\n", - " \n", - " \n", - " 0.519818\n", - " \n", - "
\n", - " 8\n", - " \n", - " \n", - " 9\n", - " \n", - " \n", - " 2000\n", - " \n", - " \n", - " -1.32596\n", - " \n", - " \n", - " +1.43\n", - " \n", - " \n", - " -2.08935\n", - " \n", - "
\n", - " 9\n", - " \n", - " \n", - " 10\n", - " \n", - " \n", - " -000\n", - " \n", - " \n", - " 0.631523\n", - " \n", - " \n", - " -0.59\n", - " \n", - " \n", - " 0.29072\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.format({'B': \"{:0<4.0f}\", 'D': '{:+.2f}'})" ] @@ -3762,293 +423,11 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "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", - " 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.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", - " 3\n", - " \n", - " \n", - " ±1.63\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.96\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.45\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.34\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.12\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.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", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.format({\"B\": lambda x: \"±{:.2f}\".format(abs(x))})" ] @@ -4069,299 +448,11 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "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", - " 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": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.highlight_null(null_color='red')" ] @@ -4375,593 +466,11 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "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", - " 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": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "import seaborn as sns\n", "\n", @@ -4980,333 +489,11 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "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", - " 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": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Uses the full color range\n", "df.loc[:4].style.background_gradient(cmap='viridis')" @@ -5314,383 +501,11 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "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", - " 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" - } - ], + "outputs": [], "source": [ "# Compreess the color range\n", "(df.loc[:4]\n", @@ -5708,489 +523,11 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "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", - " 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": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.bar(subset=['A', 'B'], color='#d65f5f')" ] @@ -6204,646 +541,22 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "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", - " 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": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.highlight_max(axis=0)" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "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", - " 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": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.highlight_min(axis=0)" ] @@ -6857,793 +570,11 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "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", - " 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": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df.style.set_properties(**{'background-color': 'black',\n", " 'color': 'lawngreen',\n", @@ -7666,593 +597,11 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "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", - " 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": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df2 = -df\n", "style1 = df.style.applymap(color_negative_red)\n", @@ -8261,593 +610,11 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "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", - " 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": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "style2 = df2.style\n", "style2.use(style1.export())\n", @@ -8898,693 +665,11 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "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", - " 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": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "with pd.option_context('display.precision', 2):\n", " html = (df.style\n", @@ -9602,693 +687,11 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "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", - " 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" - } - ], + "outputs": [], "source": [ "df.style\\\n", " .applymap(color_negative_red)\\\n", @@ -10319,595 +722,11 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "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", - "
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" - } - ], + "outputs": [], "source": [ "df.style.set_caption('Colormaps, with a caption.')\\\n", " .background_gradient(cmap=cm)" @@ -10931,315 +750,11 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "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", - "
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" - } - ], + "outputs": [], "source": [ "from IPython.display import HTML\n", "\n", @@ -11312,592 +827,11 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "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", - " 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" - } - ], + "outputs": [], "source": [ "from IPython.html import widgets\n", "@widgets.interact\n", @@ -11910,7 +844,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": { "collapsed": false }, @@ -11931,6821 +865,11 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \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", - " 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", - " 17\n", - " \n", - " \n", - " 5.6\n", - " \n", - " \n", - " 4.6\n", - " \n", - " \n", - " -3.5\n", - " \n", - " \n", - " -3.8\n", - " \n", - " \n", - " 6.6\n", - " \n", - " \n", - " -2.6\n", - " \n", - " \n", - " -0.75\n", - " \n", - " \n", - " 6.6\n", - " \n", - " \n", - " -4.8\n", - " \n", - " \n", - " 3.6\n", - " \n", - " \n", - " -0.29\n", - " \n", - " \n", - " 0.56\n", - " \n", - " \n", - " 5.8\n", - " \n", - " \n", - " 2\n", - " \n", - " \n", - " -2.3\n", - " \n", - " \n", - " -2.3\n", - " \n", - " \n", - " -5\n", - " \n", - " \n", - " -3.2\n", - " \n", - " \n", - " -3.1\n", - " \n", - " \n", - " -2.4\n", - " \n", - " \n", - " 0.84\n", - " \n", - " \n", - " -13\n", - " \n", - " \n", - " 3.6\n", - " \n", - " \n", - " 7.4\n", - " \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", - " 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", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "np.random.seed(25)\n", "cmap = cmap=sns.diverging_palette(5, 250, as_cmap=True)\n", @@ -18816,7 +940,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.5.1" } }, "nbformat": 4, diff --git a/doc/source/whatsnew/v0.18.2.txt b/doc/source/whatsnew/v0.18.2.txt index f5dbfd80de7cc..407676de149fe 100644 --- a/doc/source/whatsnew/v0.18.2.txt +++ b/doc/source/whatsnew/v0.18.2.txt @@ -141,6 +141,7 @@ API changes - Non-convertible dates in an excel date column will be returned without conversion and the column will be ``object`` dtype, rather than raising an exception (:issue:`10001`) - An ``UnsupportedFunctionCall`` error is now raised if NumPy ufuncs like ``np.mean`` are called on groupby or resample objects (:issue:`12811`) - Calls to ``.sample()`` will respect the random seed set via ``numpy.random.seed(n)`` (:issue:`13161`) +- ``Styler.apply`` is now more strict about the outputs your function must return. For ``axis=0`` or ``axis=1``, the output shape must be identical. For ``axis=None``, the output must be a DataFrame with identical columns and index labels. (:issue:`13222`) .. _whatsnew_0182.api.tolist: diff --git a/pandas/formats/style.py b/pandas/formats/style.py index f66ac7485c76e..477ecccc03f4f 100644 --- a/pandas/formats/style.py +++ b/pandas/formats/style.py @@ -133,7 +133,7 @@ def __init__(self, data, precision=None, table_styles=None, uuid=None, self._todo = [] if not isinstance(data, (pd.Series, pd.DataFrame)): - raise TypeError + raise TypeError("``data`` must be a Series or DataFrame") if data.ndim == 1: data = data.to_frame() if not data.index.is_unique or not data.columns.is_unique: @@ -427,11 +427,30 @@ def _compute(self): def _apply(self, func, axis=0, subset=None, **kwargs): subset = slice(None) if subset is None else subset subset = _non_reducing_slice(subset) + data = self.data.loc[subset] if axis is not None: - result = self.data.loc[subset].apply(func, axis=axis, **kwargs) + result = data.apply(func, axis=axis, **kwargs) else: - # like tee - result = func(self.data.loc[subset], **kwargs) + result = func(data, **kwargs) + if not isinstance(result, pd.DataFrame): + raise TypeError( + "Function {!r} must return a DataFrame when " + "passed to `Styler.apply` with axis=None".format(func)) + if not (result.index.equals(data.index) and + result.columns.equals(data.columns)): + msg = ('Result of {!r} must have identical index and columns ' + 'as the input'.format(func)) + raise ValueError(msg) + + result_shape = result.shape + expected_shape = self.data.loc[subset].shape + if result_shape != expected_shape: + msg = ("Function {!r} returned the wrong shape.\n" + "Result has shape: {}\n" + "Expected shape: {}".format(func, + result.shape, + expected_shape)) + raise ValueError(msg) self._update_ctx(result) return self @@ -444,15 +463,19 @@ def apply(self, func, axis=0, subset=None, **kwargs): Parameters ---------- - func: function - axis: int, str or None + func : function + ``func`` should take a Series or DataFrame (depending + on ``axis``), and return an object with the same shape. + Must return a DataFrame with identical index and + column labels when ``axis=None`` + axis : int, str or None apply to each column (``axis=0`` or ``'index'``) or to each row (``axis=1`` or ``'columns'``) or - to the entire DataFrame at once with ``axis=None``. - subset: IndexSlice + to the entire DataFrame at once with ``axis=None`` + subset : IndexSlice a valid indexer to limit ``data`` to *before* applying the function. Consider using a pandas.IndexSlice - kwargs: dict + kwargs : dict pass along to ``func`` Returns @@ -461,9 +484,22 @@ def apply(self, func, axis=0, subset=None, **kwargs): Notes ----- + The output shape of ``func`` should match the input, i.e. if + ``x`` is the input row, column, or table (depending on ``axis``), + then ``func(x.shape) == x.shape`` should be true. + This is similar to ``DataFrame.apply``, except that ``axis=None`` applies the function to the entire DataFrame at once, rather than column-wise or row-wise. + + Examples + -------- + >>> def highlight_max(x): + ... return ['background-color: yellow' if v == x.max() else '' + for v in x] + ... + >>> df = pd.DataFrame(np.random.randn(5, 2)) + >>> df.style.apply(highlight_max) """ self._todo.append((lambda instance: getattr(instance, '_apply'), (func, axis, subset), kwargs)) @@ -488,6 +524,7 @@ def applymap(self, func, subset=None, **kwargs): Parameters ---------- func : function + ``func`` should take a scalar and return a scalar subset : IndexSlice a valid indexer to limit ``data`` to *before* applying the function. Consider using a pandas.IndexSlice @@ -742,6 +779,7 @@ def set_properties(self, subset=None, **kwargs): -------- >>> df = pd.DataFrame(np.random.randn(10, 4)) >>> df.style.set_properties(color="white", align="right") + >>> df.style.set_properties(**{'background-color': 'yellow'}) """ values = ';'.join('{p}: {v}'.format(p=p, v=v) for p, v in kwargs.items()) diff --git a/pandas/tests/formats/test_style.py b/pandas/tests/formats/test_style.py index 5a79e3f6897f0..9a34f545bd119 100644 --- a/pandas/tests/formats/test_style.py +++ b/pandas/tests/formats/test_style.py @@ -46,6 +46,17 @@ def h(x, foo='bar'): 'c': pd.Categorical(['a', 'b'])}) ] + def test_init_non_pandas(self): + with tm.assertRaises(TypeError): + Styler([1, 2, 3]) + + def test_init_series(self): + result = Styler(pd.Series([1, 2])) + self.assertEqual(result.data.ndim, 2) + + def test_repr_html_ok(self): + self.styler._repr_html_() + def test_update_ctx(self): self.styler._update_ctx(self.attrs) expected = {(0, 0): ['color: red'], @@ -102,7 +113,7 @@ def test_clear(self): def test_render(self): df = pd.DataFrame({"A": [0, 1]}) style = lambda x: pd.Series(["color: red", "color: blue"], name=x.name) - s = Styler(df, uuid='AB').apply(style).apply(style, axis=1) + s = Styler(df, uuid='AB').apply(style) s.render() # it worked? @@ -539,6 +550,37 @@ def test_display_dict(self): self.assertEqual(ctx['body'][0][1]['display_value'], '0.1') self.assertEqual(ctx['body'][0][3]['display_value'], 'AAA') + def test_bad_apply_shape(self): + df = pd.DataFrame([[1, 2], [3, 4]]) + with tm.assertRaises(ValueError): + df.style._apply(lambda x: 'x', subset=pd.IndexSlice[[0, 1], :]) + + with tm.assertRaises(ValueError): + df.style._apply(lambda x: [''], subset=pd.IndexSlice[[0, 1], :]) + + with tm.assertRaises(ValueError): + df.style._apply(lambda x: ['', '', '', '']) + + with tm.assertRaises(ValueError): + df.style._apply(lambda x: ['', '', ''], subset=1) + + with tm.assertRaises(ValueError): + df.style._apply(lambda x: ['', '', ''], axis=1) + + def test_apply_bad_return(self): + def f(x): + return '' + df = pd.DataFrame([[1, 2], [3, 4]]) + with tm.assertRaises(TypeError): + df.style._apply(f, axis=None) + + def test_apply_bad_labels(self): + def f(x): + return pd.DataFrame(index=[1, 2], columns=['a', 'b']) + df = pd.DataFrame([[1, 2], [3, 4]]) + with tm.assertRaises(ValueError): + df.style._apply(f, axis=None) + @tm.mplskip class TestStylerMatplotlibDep(TestCase):