Стилизация данных с помощью мультииндекса и экспорт в Excel ⇐ Python

Программы на Python
Anonymous
Стилизация данных с помощью мультииндекса и экспорт в Excel

Сообщение Anonymous »

У меня есть такой фрейм данных:

Код: Выделить всё

df = pd.DataFrame({
'Counterparty': ['foo', 'fizz', 'fizz', 'fizz','fizz'],
'Commodity': ['bar', 'bar', 'bar', 'bar','bar'],
'DealType': ['Buy', 'Buy', 'Buy', 'Buy', 'Buy'],
'StartDate': ['07/01/2024', '09/01/2024', '10/01/2024', '11/01/2024', '12/01/2024'],
'FloatPrice': [18.73, 17.12, 17.76, 18.72, 19.47],
'MTMValue':[10, 10, 10, 10, 10]
})

df = df.set_index(['Counterparty', 'Commodity', 'DealType','StartDate']).sort_index()[['FloatPrice', 'MTMValue']]

print(df)
Я пытаюсь применить стили к фрейму данных, прежде чем экспортировать его в Excel. Вот что я сделал на данный момент:

Код: Выделить всё

def style_index(s):
return "background-color: lightblue; text-align: center; border: 1px solid black; vertical-align: middle;"

def style_header(s):
return "background-color: lightgrey; text-align: center;"

styled_df = df.style.set_properties(**{
'background-color': 'darkblue',
'color': 'white',
'text-align': 'center'}).map_index(style_index).map_index(style_header, axis="columns")
что дает следующее:
Изображение

однако мне нужно, чтобы фрейм данных выглядел так:
Изображение
  • заголовки столбцов индекса не выделяются
  • Элементы в индексе не выровнены по центру
Кроме того, я чувствую, что есть более эффективный способ добиться того, что я уже делаю при этом приветствуются любые предложения.
РЕДАКТИРОВАНИЕ: удалось выровнять текст по вертикали по центру, но все равно не удалось выделить заголовки столбцов индекса

Подробнее здесь: https://stackoverflow.com/questions/790 ... t-to-excel

Вернуться в «Python»