Uso del estilo Pandas DataFrame para colorear una columna (Python 3)

Estoy tratando de seguir el tutorial sobrehttp://pandas.pydata.org/pandas-docs/stable/style.html para colorear el fondo de las celdas en el marco de datos de mis pandas en la columna de color.

¿Cuál es la forma correcta de hacer esto usando solo pandas?

s = """
   num_markers  num_contamination    color
0          2.0                0.0  #db5f57
1        100.0               47.0  #db7157
2        104.0              102.0  #db8457
3        102.0              100.0  #db9657
4          NaN                NaN  #dba957
5         51.0                0.0  #dbbb57
6          NaN                NaN  #dbce57
7         92.0               63.0  #d6db57
8          NaN                NaN  #c4db57
9         56.0               42.0  #b1db57
"""
df = pd.read_clipboard() #Copy and paste then do this
D_idx_color = df["color"].to_dict()
df.style.apply(lambda x:"background-color: %s"%D_idx_color[x], subset=["color"])

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/Users/jespinoz/anaconda/lib/python3.6/site-packages/IPython/core/formatters.py in __call__(self, obj)
    309             method = get_real_method(obj, self.print_method)
    310             if method is not None:
--> 311                 return method()
    312             return None
    313         else:

/Users/jespinoz/anaconda/lib/python3.6/site-packages/pandas/formats/style.py in _repr_html_(self)
    190     def _repr_html_(self):
    191         """Hooks into Jupyter notebook rich display system."""
--> 192         return self.render()
    193 
    194     def _translate(self):

/Users/jespinoz/anaconda/lib/python3.6/site-packages/pandas/formats/style.py in render(self)
    415         the rendered HTML in the notebook.
    416         """
--> 417         self._compute()
    418         d = self._translate()
    419         # filter out empty styles, every cell will have a class

/Users/jespinoz/anaconda/lib/python3.6/site-packages/pandas/formats/style.py in _compute(self)
    481         r = self
    482         for func, args, kwargs in self._todo:
--> 483             r = func(self)(*args, **kwargs)
    484         return r
    485 

/Users/jespinoz/anaconda/lib/python3.6/site-packages/pandas/formats/style.py in _apply(self, func, axis, subset, **kwargs)
    489         data = self.data.loc[subset]
    490         if axis is not None:
--> 491             result = data.apply(func, axis=axis, **kwargs)
    492         else:
    493             result = func(data, **kwargs)

/Users/jespinoz/anaconda/lib/python3.6/site-packages/pandas/core/frame.py in apply(self, func, axis, broadcast, raw, reduce, args, **kwds)
   4150                     if reduce is None:
   4151                         reduce = True
-> 4152                     return self._apply_standard(f, axis, reduce=reduce)
   4153             else:
   4154                 return self._apply_broadcast(f, axis)

/Users/jespinoz/anaconda/lib/python3.6/site-packages/pandas/core/frame.py in _apply_standard(self, func, axis, ignore_failures, reduce)
   4246             try:
   4247                 for i, v in enumerate(series_gen):
-> 4248                     results[i] = func(v)
   4249                     keys.append(v.name)
   4250             except Exception as e:

<ipython-input-155-3bf2a87dcd1f> in <lambda>(x)
     14 df = pd.read_clipboard() #Copy and paste then do this
     15 D_idx_color = df["color"].to_dict()
---> 16 df.style.apply(lambda x:"background-color: %s"%D_idx_color[x], subset=["color"])

/Users/jespinoz/anaconda/lib/python3.6/site-packages/pandas/core/generic.py in __hash__(self)
    829     def __hash__(self):
    830         raise TypeError('{0!r} objects are mutable, thus they cannot be'
--> 831                         ' hashed'.format(self.__class__.__name__))
    832 
    833     def __iter__(self):

TypeError: ("'Series' objects are mutable, thus they cannot be hashed", 'occurred at index color')

Respuestas a la pregunta(1)

Su respuesta a la pregunta