ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Визуальное форматирование таблиц pandas dataframe в Python

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

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

В случае необходимости быстро и аккуратно распечатать DataFrame в pandas, вам стоит настроить следующие параметры pd.options.display: установите max_columns и max_rows в значение None. Затем примените метод df.to_string():

Python
Скопировать код
import pandas as pd

df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})

pd.options.display.max_columns = None
pd.options.display.max_rows = None

print(df.to_string(index=False))

В результате ваш DataFrame будет представлен в читаемом и вполне удобном виде, а именно в формате полной таблицы.

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Углубляемся в тему

Tabulate: Отличный вариант для ваших данных

Если хотите показать свой DataFrame в виде текстовой таблицы, воспользуйтесь библиотекой tabulate. Примените при этом параметры headers='keys' и tablefmt='psql':

Python
Скопировать код
from tabulate import tabulate

print(tabulate(df, headers='keys', tablefmt='psql'))

Таким образом, ваш DataFrame преобразится в элегантную таблицу, отлично подходящую для составления отчетов и проведения презентаций.

Markdown: Станьте звездой GitHub

Для работы с GitHub заодно используйте метод to_markdown():

Python
Скопировать код
print(df.to_markdown())

HTML таблицы: Совместимость с браузерами и Jupyter notebooks

На веб-страницах и Jupyter notebooks, примените df.to_html(). Для интерактивного вывода используйте IPython.display:

Python
Скопировать код
from IPython.display import display, HTML

display(HTML(df.to_html()))

PrettyTable: ASCII смотрится лучше, чем когда-либо!

prettytable сможет преобразовать ваш DataFrame в ASCII таблицу:

Python
Скопировать код
from prettytable import PrettyTable
import io
import csv

output = io.StringIO()
df.to_csv(output)
output.seek(0)
table = PrettyTable()
table.field_names = df.columns.tolist()

for row in csv.reader(output):
    table.add_row(row)

print(table)

За рамками базового

Изучите более 20 различных форматов для DataFrame.to_markdown() и адаптируйте их под свой стиль и предпочтения.

Дальнейшее развитие

Интерактивное отображение: Для мастеров веб-технологий

Для создания интерактивных таблиц в веб-приложениях используйте DataFrame.to_html(classes='table table-striped'), затем добавьте Javascript и оформите с помощью CSS классов!

Облегчаем обмен данными: Сохраняем таблицы

Вы всегда можете сохранить вашу таблицу в формате HTML-файла:

Python
Скопировать код
df.to_html('my_pretty_table.html')

Не прекращайте изучение

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

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

Превращайте ваш DataFrame из простого списка элементов:

Markdown
Скопировать код
📔: [Фото 1, Фото 2, Фото 3]

В визуально насыщенный каталог:

Markdown
Скопировать код
📔 ➡️ 🖼️🌟🖼️🌟🖼️
# Теперь ваш DataFrame – это настоящая галерея искусства.

Придайте жизни каждой строке, наполнив их смыслом:

Python
Скопировать код
print(df.to_string())

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

  1. pandas.DataFrame.style — документация pandas – Описание API стилизации pandas DataFrame.
  2. Визуализация таблиц — документация pandas – Подробное руководство по оформлению и стилизации DataFrames.
  3. tabulate · PyPI – Руководство по созданию привлекательных текстовых таблиц в разнообразных форматах.
  4. Запуск тетрадки — документация Jupyter – Визуализация DataFrames в Jupyter.
  5. pandas.DataFrame.to_html — документация pandas – Вывод DataFrames в виде HTML.
  6. prettytable · PyPI – Руководство по представлению данных в виде ASCII таблиц.
  7. matplotlib.table — документация Matplotlib – Руководство по настройке таблиц в Matplotlib.