Fondo de estilo pandas degradado tanto en filas como en columnas

La opción de estilo de pandas para agregar un degradado de fondo es ideal para inspeccionar rápidamente mi tabla de salida. Sin embargo, se aplica en filas o columnas. ¿Sería posible aplicarlo a todo el dataframe a la vez?

EDITAR: Un ejemplo mínimo de trabajo:

df = pd.DataFrame([[3,2,10,4],[20,1,3,2],[5,4,6,1]]) df.style.background_gradient() 

Actualmente no puede configurar background_gradient para ambas filas / columnas simultáneamente como lo señala Nickil Maveli . El truco es personalizar la función pandas background_gradient :

 import pandas as pd import matplotlib.pyplot as plt from matplotlib import colors def background_gradient(s, m, M, cmap='PuBu', low=0, high=0): rng = M - m norm = colors.Normalize(m - (rng * low), M + (rng * high)) normed = norm(s.values) c = [colors.rgb2hex(x) for x in plt.cm.get_cmap(cmap)(normed)] return ['background-color: %s' % color for color in c] df = pd.DataFrame([[3,2,10,4],[20,1,3,2],[5,4,6,1]]) df.style.apply(background_gradient, cmap='PuBu', m=df.min().min(), M=df.max().max(), low=0, high=0.2) 

Puede usar axis=None para deshacerse de los cálculos mínimos y máximos en la llamada:

 def background_gradient(s, m=None, M=None, cmap='PuBu', low=0, high=0): print(s.shape) if m is None: m = s.min().min() if M is None: M = s.max().max() rng = M - m norm = colors.Normalize(m - (rng * low), M + (rng * high)) normed = s.apply(norm) cm = plt.cm.get_cmap(cmap) c = normed.applymap(lambda x: colors.rgb2hex(cm(x))) ret = c.applymap(lambda x: 'background-color: %s' % x) return ret df.style.apply(background_gradient, axis=None) 

Edición: Es posible que necesite usar normed = s.apply(lambda x: norm(x.values)) para que esto funcione en matplotlib 2.2