Tengo un marco de datos con estilo de tabla que creé:
tableyy = final.style.set_table_attributes('border="" class = "dataframe table table-hover table-bordered"').set_precision(10).render()Pasé por estas celdas para colorear en pandas , cambie condicionalmente el color de fondo de celdas específicas , formatee condicionalmente la celda de pandas de Python y coloree las celdas en el marco de datos de pandas , todavía no puedo configurar una celda con color, no todo el marco de datos sin ninguna condición. Alguien tiene alguna idea, pruebo este código de color durante un mes, así que espero poder recibir consejos de cualquiera de ustedes, gracias.
Prueba esto:
data = pd.DataFrame(np.random.randn(6, 6), columns=list('ABCDEF')) def highlight_cells(x): df = x.copy() #set default color #df.loc[:,:] = 'background-color: papayawhip' df.loc[:,:] = '' #set particular cell colors df.iloc[0,0] = 'background-color: red' df.iloc[1,1] = 'background-color: orange' df.iloc[2,2] = 'background-color: yellow' df.iloc[3,3] = 'background-color: lightgreen' df.iloc[4,4] = 'background-color: cyan' df.iloc[5,5] = 'background-color: violet' return df t = data.style.apply(highlight_cells, axis=None) t@kathir: puede encontrar muchos ejemplos aquí . Mi ejemplo a continuación es una exageración gráfica, pero resume algunas características. Hay una propiedad de 'borde' pero no funcionó en mi entorno (Jupyter).
import pandas as pd import numpy as np def highlight_single_cells(x): df = x.copy() df.loc[:,:] = '' #set particular cells colors df.iloc[0,0] = 'background-color: red' df.iloc[1,1] = 'background-color: orange' df.iloc[2,2] = 'background-color: yellow' df.iloc[3,3] = 'background-color: lightgreen' df.iloc[4,4] = 'background-color: cyan' df.iloc[5,5] = 'background-color: violet' return df def bold_single_cells(x): df = x.copy() df.loc[:,:] = '' #set particular cells bold df.iloc[0,0] = 'font-weight: bold' df.iloc[1,1] = 'font-weight: bold' df.iloc[2,2] = 'font-weight: bold' df.iloc[3,3] = 'font-weight: bold' df.iloc[4,4] = 'font-weight: bold' df.iloc[5,5] = 'font-weight: bold' return df def color_negative_red(val): #--- colors the + and the - values color = 'blue' if val < 0 else 'black' return 'color: %s' % color def highlight_max(s): #---- highlight the maximum in a column is_max = s == s.max() return ['background-color: chartreuse' if v else '' for v in is_max] #--- generate data ---- x = np.linspace(0.0, 0.998, 6) xx,yy = np.meshgrid(x,x) df = pd.DataFrame(xx*yy-0.3, columns=list('ABCDEF')) #--- apply the styles you want ---- df.style\ .set_caption('My pandas sheet with a caption')\ .background_gradient(cmap='Pastel2')\ .applymap(color_negative_red)\ .apply(highlight_max)\ .apply(highlight_single_cells, axis=None)\ .set_properties(**{'max-width': '80px',\ 'font-size': '15pt', \ 'border-color': 'black'})\ .apply(bold_single_cells, axis=None)\ .set_precision(3)\