Визуальное форматирование таблиц pandas dataframe в Python
Быстрый ответ
В случае необходимости быстро и аккуратно распечатать DataFrame в pandas, вам стоит настроить следующие параметры pd.options.display
: установите max_columns
и max_rows
в значение None
. Затем примените метод df.to_string()
:
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 будет представлен в читаемом и вполне удобном виде, а именно в формате полной таблицы.
Углубляемся в тему
Tabulate: Отличный вариант для ваших данных
Если хотите показать свой DataFrame в виде текстовой таблицы, воспользуйтесь библиотекой tabulate
. Примените при этом параметры headers='keys'
и tablefmt='psql'
:
from tabulate import tabulate
print(tabulate(df, headers='keys', tablefmt='psql'))
Таким образом, ваш DataFrame преобразится в элегантную таблицу, отлично подходящую для составления отчетов и проведения презентаций.
Markdown: Станьте звездой GitHub
Для работы с GitHub заодно используйте метод to_markdown()
:
print(df.to_markdown())
HTML таблицы: Совместимость с браузерами и Jupyter notebooks
На веб-страницах и Jupyter notebooks, примените df.to_html()
. Для интерактивного вывода используйте IPython.display
:
from IPython.display import display, HTML
display(HTML(df.to_html()))
PrettyTable: ASCII смотрится лучше, чем когда-либо!
prettytable
сможет преобразовать ваш DataFrame в ASCII таблицу:
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-файла:
df.to_html('my_pretty_table.html')
Не прекращайте изучение
Продолжайте обучаться, изучая более сложные методики изящной распечатки и стилизации. В разделе Полезные материалы представлены официальные руководства и документация.
Визуализация
Превращайте ваш DataFrame из простого списка элементов:
📔: [Фото 1, Фото 2, Фото 3]
В визуально насыщенный каталог:
📔 ➡️ 🖼️🌟🖼️🌟🖼️
# Теперь ваш DataFrame – это настоящая галерея искусства.
Придайте жизни каждой строке, наполнив их смыслом:
print(df.to_string())
Полезные материалы
- pandas.DataFrame.style — документация pandas – Описание API стилизации pandas DataFrame.
- Визуализация таблиц — документация pandas – Подробное руководство по оформлению и стилизации DataFrames.
- tabulate · PyPI – Руководство по созданию привлекательных текстовых таблиц в разнообразных форматах.
- Запуск тетрадки — документация Jupyter – Визуализация DataFrames в Jupyter.
- pandas.DataFrame.to_html — документация pandas – Вывод DataFrames в виде HTML.
- prettytable · PyPI – Руководство по представлению данных в виде ASCII таблиц.
- matplotlib.table — документация Matplotlib – Руководство по настройке таблиц в Matplotlib.