Pandas df.style.панель с сохранением округления

#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)