Прошу прощения за свой английский sh, но я использовал переводчик Google
После долгой борьбы мне удалось «раскрасить» строку моего фрейма данных в зависимости от значения для сравнения.
Теперь мне нужно отсортировать в алфавитном порядке по столбцу «planta», «equipo», а также по цвету, если он «цветной», как указано выше.
Я не нашел ничего, что могло бы помочь мне в этом.
Также мне нужно, если можно вернуть Pandas .Dataframe, а не Style.Dataframa, так как я должен сгенерировать файл Excel и html этой таблицы
Это мой функция раскраски
#Funcion pinta en rojo fila si cumple con los parametros de entrada y el filtro
def color_negative_red(val,fal = None,op = None):
#Var corresponde a el valor a medir de la fila
#fal corresponde al valor de entrada con el cual se comparara
#op corresponde a la operacion 1 = >=,2 = <=, 3= ==
color = 'white'
if(val != None and op != None):
#print(val,type(val))
#color = color if val <= 3.98 else 'black'
if(op ==1):
if(val <= fal):
color = 'red'
elif(op==2):
if(val >= fal):
color = 'red'
elif(op==3):
if(val == True):
color = 'red'
#'background-color: green'
return 'background-color: %s' % color
Инструкция, которая копирует таблицу и сортирует ее по «planta» и «equipo»
sss = ss.copy().sort_values(by=['planta','equipo'])
Наконец, я применяю стиль к таблице
s = sss.style.\
applymap(color_negative_red,fal = 3.98,op=1,subset=pd.IndexSlice[ss['sensor'] == 'h2s','Min RAW mA/V']).\
applymap(color_negative_red,fal = 16.0,op=2,subset=pd.IndexSlice[ss['sensor'] == 'h2s','Max RAW mA/V']).\
applymap(color_negative_red,fal = True,op=3,subset=pd.IndexSlice[ss['sensor'] == 'clo2','Max Diario sobre Max. Sensor']).\
applymap(color_negative_red,fal = True,op=3,subset=pd.IndexSlice[ss['sensor'] == 'ch3sh','Cambio abrupto medicion']).\
applymap(color_negative_red,fal = 15.0,op=1,subset=['Temperatura °C minima camara gases']).\
applymap(color_negative_red,fal = 45.0,op=2,subset=['Temperatura °C maxima camara gases']).\
applymap(color_negative_red,fal = 12.0,op=1,subset=['Minimo valor bateria']).\
applymap(color_negative_red,fal = 90,op=1,subset=['Porcentaje de datos recibidos']).\
to_excel('test.xlsx', engine='openpyxl')
Результатом документа Excel является это
Результат
Окончательный формат Dataframe
pandas.io.formats.style.Styler
Что не позволяет копировать / заказывать / или передавать to html и excel
Как мне сделать, чтобы результат моей таблицы был упорядочен «planta» и «equipo» и по цветному ряду, в дополнение к возможности создания файла excel и html?