Это мой DataFrame:
import pandas as pd
df = pd.DataFrame(
{
'a': [2, 2, 2, -4, 4, 4, 4, -3, 2, -2, -6],
'b': [2, 2, 2, 4, 4, 4, 4, 3, 2, 2, 6]
}
)
Я использую функцию для выделения ячеек в a, когда использую to_excel:
def highlight_cells(s):
if s.name=='a':
conds = [s > 0, s < 0, s == 0]
labels = ['background-color: lime', 'background-color: pink', 'background-color: gold']
array = np.select(conds, labels, default='')
return array
else:
return ['']*s.shape[0]
Теперь я хочу добавить еще одну функцию, добавив знак плюса, если значение a положительное. Например, 1 становится +1. Мне нужна эта функция только для столбца a.
Это моя попытка, но она не работает. Это дает мне ошибку, которая является названием сообщения.
df.style.apply(highlight_cells).style.format({'a': '{:+g}'}).to_excel('df.xlsx', sheet_name='xx', index=False)






style.apply возвращает объект Styler, вам нужно только выполнить над ним дополнительную операцию, т.е.
df.style.apply(highlight_cells).format(...)