#python #pandas #dataframe
#питон #панды #фрейм данных
Вопрос:
Когда я применяю стиль штриховки к фрейму данных pandas после округления, я теряю форматирование округления, и я не могу понять, как применить форматирование округления после, потому df.style.bar
что возвращает не фрейм данных, а объект «Styler».
df = pd.DataFrame({'A': [1.23456, 2.34567,3.45678], 'B':[2,3,4]})
df['A'] = df['A'].round(2)
df.style.bar(subset='A')
Это возвращает
но я не хочу, чтобы отображались все эти дополнительные нули.
Ответ №1:
Вам придется обрабатывать стилизатор как чисто визуализацию исходного фрейма данных. Это означает, что вы можете использовать формат для отображения данных, округленных до 2 знаков после запятой.
Основная идея стилизации заключается в том, что пользователь захочет изменить способ представления данных, но при этом сохранить базовый формат для дальнейших манипуляций.
f = {'A':'{:.2f}'} #column col A to 2 decimals
df.style.format(f).bar(subset='A')
Прочитайте этот отличный учебник, чтобы узнать, что и как вы можете с ним сделать.
РЕДАКТИРОВАТЬ: добавлен параметр форматирования, чтобы показать общее использование и применять формат только к одному столбцу.
Комментарии:
1. Если вы хотите изменить десятичные разряды всех ячеек в фрейме данных и при этом сохранить стиль, просто используйте
df.style.format(precision=2)