У Pandas есть относительно новая функция Styler
, где вы можете применять манипуляции с условным форматированием в dataframes. http://pandas.pydata.org/pandas-docs/stable/style.html
Вы можете использовать некоторые из своих встроенных функций, таких как background_gradient
или bar
повторить первенствует-подобные функции, как условное форматирование и данных баров. Вы также можете форматировать ячейки, чтобы отображать проценты, float, ints и т. Д. Без изменения исходного фрейма.
Вот пример типа диаграммы можно сделать с помощью Styler
(это нонсенс график, а просто имел в виду, чтобы продемонстрировать особенности):
Чтобы использовать полную функциональность Styler
вы должны получить удобно с API-интерфейсами Styler.apply()
и Styler.applymap()
. Они позволяют создавать пользовательские функции и применять их к столбцам, строкам или элементам таблицы. Например, если бы я хотел, чтобы окрасить + IVE клетки зеленой и -ive клетку красной, я бы создать функцию
def _color_red_or_green(val):
color = 'red' if val < 0 else 'green'
return 'color: %s' % color
и вызвать его на моем Styler
объекта, т.е. df.style.applymap(_color_red_or_green)
.
Что касается экспорта обратно в Excel, насколько я знаю, это не поддерживается в Styler
, но я бы, вероятно, пошел по пути xlsxwriter, если вам НЕОБХОДИМСЯ по какой-либо причине Excel. Однако, по моему опыту, это отличная чистая альтернатива Python, например, наряду с графиками matplotlib и электронными сообщениями/отчетами.
Вы используете неправильную библиотеку, это не можете сделать в пандах. – elyase
Какую библиотеку я должен использовать для этого? –
[xlwt] (http://www.python-excel.org) или [xlutils] (http://pythonhosted.org/xlutils/index.html). Может быть также http://xlwings.org (бесплатно) или https://datanitro.com (оплачивается) для прямого управления excel. Pandas не предназначен для управления файлами excel, он просто читает их и позволяет легко производить вычисления. – elyase