Я сам наткнулся на это и, насколько мне известно, пока нет поддержки для экспорта, чтобы преуспеть, как это.Я настроил ваш код так, чтобы он соответствовал выводу в документации Excel.
Это вывод документации для метода Excel.
df.style.\
applymap(color_negative_red).\
apply(highlight_max).\
to_excel('styled.xlsx', engine='openpyxl')
Это ваш код скорректирован:
import pandas as pd
dict = {'A': [1, 1, 1, 1, 1], 'B':[2,1,2,1,2], 'C':[1,2,1,2,1]}
df = pd.DataFrame(dict)
def highlight(df, color = "yellow"):
attr = 'background-color: {}'.format(color)
df_bool = pd.DataFrame(df.apply(lambda x: [True if x.iloc[0] < v else False for v in x],axis=1).apply(pd.Series),
index=df.index)
df_bool.columns =df.columns
return pd.DataFrame(np.where(df_bool, attr, ""),
index= df.index, columns=df.columns)
df.style. \
apply(highlight, axis=None).\
to_excel("styled.xlsx", engine="openpyxl")
Заметьте, что внутри функции выделения я создаю логический фрейм данных, основанный на условиях, которые вы применили в своем понимании списка выше.Затем я назначаю стиль на основе результата этого кадра данных.