Отображение DataFrame pandas с форматированием в Python

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для форматирования чисел с плавающей точкой в pandas в определенном виде, можно использовать метод DataFrame.style.format с помощью словаря. Укажите имя столбца и соответствующую строку формата для связи форматирования с конкретными столбцами. Например, для отображения чисел с двумя знаками после запятой воспользуйтесь следующим кодом:

Python
Скопировать код
df = pd.DataFrame({'A': [1\.123, 2.456], 'B': [3\.789, 4.012]})
formatted_df = df.style.format({'A': "{:.2f}", 'B': "{:.2f}"})

Таким образом, строки в столбцах 'A' и 'B' будут отформатированы до двух десятичных знаков.

Кинга Идем в IT: пошаговый план для смены профессии

Формат здесь, формат там (но с особенностями)

Хотите, чтобы все числа с плавающей точкой в pandas отображались в определенном формате? Установите глобальный формат для таких столбцов следующим образом:

Python
Скопировать код
pd.options.display.float_format = '${:,.2f}'.format

Однако, иногда требуется индивидуальный подход к форматированию отдельных столбцов. В таких случаях можно использовать методы to_string или style.format. Например, для добавления знака доллара перед числами примените такой код:

Python
Скопировать код
df.to_string(formatters={'Price': '${:,.2f}'.format})

или

Python
Скопировать код
df.style.format({'Price': "${:,.2f}"})

Удобство форматированных столбцов

Создайте столбец в DataFrame с отформатированными значениями. Это упростит анализ данных:

Python
Скопировать код
df['Formatted Price'] = df['Price'].map('${:,.2f}'.format)

Такой подход позволяет сохранить исходные данные в том виде, в котором они были, и в то же время делает визуальное восприятие данных более удобным.

Временная природа форматов

Функция pd.option_context позволяет временно менять форматы, которые возвращаются к исходному виду после выполнения кода:

Python
Скопировать код
with pd.option_context('display.float_format', '${:,.2f}'.format):
    print(df)

Это отлично подходит для ситуаций, когда вам нужно временно изменить формат, например, при генерации отчетов.

Индивидуализация форматирования DataFrame

Если вам необходимо полное форматирование всех данных в DataFrame, используйте метод .applymap. А метод .map позволяет работать с каждым значением отдельно, не требуя при этом создания новых столбцов.

Визуализация

Восприимайте свой DataFrame как галерею искусства, где каждое число с плавающей точкой освещается определенным форматом:

Markdown
Скопировать код
   Управление форматами        Ваша галерея
|-----------------------------|   _------------------------_
| Формат: "{:.2f}"            |  |        1.23           |
| Формат: "{:+.2f}"           |  |       +1.23           |
| Формат: "{:.0f}"            |  |          1            |
| Формат: "{:.1f}"            |  |        1.2            |

Таким образом, каждое значение будет выглядеть неповторимо, в соответствии с выбранным вами "освещением".

Нюансы стилизации

Струй в pandas —это мощный инструмент, но с некоторыми особенностями: он не влияет на индекс и на хранение данных в DataFrame. Нужно помнить, что примененное форматирование — временное, и при добавлении новых данных к DataFrame необходимо убедиться, что формат обновляется соответственно.

Для сложных задач в первую очередь рекомендуется обращаться к документации, ссылки на которую приведены в разделе Полезные материалы.

Полезные материалы

  1. pandas.DataFrame.style — документация pandas 2.2.0 — Здесь вы найдете всю информацию о механизме стилизации в pandas.
  2. Визуализация таблиц — документация pandas 2.2.0 — Узнайте, как улучшить визуальное представление ваших данных.
  3. python – Как отобразить DataFrame pandas с числами с плавающей точкой с помощью строки формата для столбцов? – Stack Overflow — Обсуждение вопроса форматирования чисел в DataFrame на Stack Overflow.
  4. DataFrame pandas: Работа с данными становится еще интереснее – Real Python — Исследуйте мир форматирования данных в pandas.
  5. Опции и настройки — документация pandas 2.2.0 — Изучите, как pandas.set_option() может помочь в форматировании данных.
  6. Форматирование строк – Python – mkaz.blog — Подробное рассмотрение работы со строками и числами с плавающей точкой в Python.
  7. Стилизация с помощью Pandas – Practical Business Python — Как стилизация может трансформировать представление данных в pandas.