Давайте рассмотрим основы: форматирование, выделение ячеек, встроенные полосы и градиенты.

Мне нравится представлять данные с помощью различных типов визуализации. Они полезны для меня в передаче сообщения или информации.

Но давайте сразу к делу: большинство ваших стейкхолдеров по-прежнему предпочитают таблицы. И мы должны принять это, чтобы извлечь из этого максимум пользы.

Форматирование и улучшение таблиц естественны для пользователей Excel.

Как мы можем сделать то же самое в Python?

Контент

  1. Набор данных
  2. Управление форматированием
  3. Выделение максимального и минимального значений
  4. Применить стили градиента
  5. Встроенные бары
  6. "Заключение"

1. Набор данных

Мы будем использовать набор данных по статистике плей-офф НБА. Вы можете скачать его на Kaggle здесь, чтобы следовать дальше.

Первый маленький совет — используйте 'pd.set_options('display.max_columns',None), чтобы увидеть все столбцы вашего фрейма данных.

В нашем сегодняшнем случае давайте сосредоточимся на статистике очков за игру для каждой команды. Мы будем использовать groupby.

Важным атрибутом является .style, который возвращает объект класса «styler». Мы будем использовать его для применения различных методов форматирования и стилизации к нашему фрейму данных.

2. Контролируйте форматирование

Вам нужно использовать метод .format(). Это позволяет нам форматировать множество разных вещей: добавление валюты, преобразование значения в процентах и ​​формат столбца DateTime среди прочего. Я разместил официальные ссылки Pandas в конце этого поста.

Например, округление для каждого столбца неодинаково. Допустим, мы хотим сохранить 1 десятичный знак:

строка 4: мы вызываем атрибут .style, чтобы начать применять форматирование и стиль

строка 5:метод .format, в котором мы указываем для каждого столбца только одно десятичное число.

Чтобы написать это более питоническим способом, мы можем использовать понимание словаря:

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

Еще один интересный вариант форматирования — метод .set_caption(). Мы можем использовать его, чтобы добавить заголовок в наш фрейм данных:

Строка 10:set_caption() с нужным заголовком.

3. Выделение максимальных и минимальных значений

Мы будем использовать удобные методы highlighting_max и highlighting_min

Обратите внимание, что если вы хотите выделить по строке, вам нужно указать axis=1

4. Примените стили градиента

Они облегчают зрителям понимание того, как столбцы и строки таблицы связаны с числами. Градиенты можно использовать, чтобы показать, является ли значение большим или маленьким, положительным или отрицательным, или даже хорошим или плохим.

Допустим, мы применяем градиентный цвет фона только к столбцу «среднее значение»:

строка 6: мы используем метод background_gradient: подмножество позволяет нам выбрать стиль только для среднего столбца. Выбранная цветовая карта — Blues, и мы указываем минимальное и максимальное значения, чтобы градиенты были более заметными.

Мы также можем применить градиенты к тексту с помощью метода text_gradient:

5. Встроенные стержни

Как и в Excel, мы можем добавить цветные полосы на задний план, чтобы предоставить больше визуальной информации о числах.

Мы используем метод .bar и применяем его к другому столбцу «obpm» (аббревиатура от «коробка нападения/плюс минус = метрика», которая оценивает вклад игрока в команду, когда этот игрок находится на суд)

6. Заключение

С точки зрения стиля, панды предоставляют широкий спектр возможностей. Они часто неизвестны и/или недостаточно используются. Не стесняйтесь попробовать их и изучить различные возможности. Цель всегда одна и та же: максимально эффективно информировать нашу аудиторию.

Надеюсь, вам понравилось читать этот пост! Следуйте за мной на Medium для будущих сообщений. Это мотивирует меня продолжать.



Использованная литература:

Визуализация таблиц — документация pandas 1.4.3 (pydata.org)

Стили — документация pandas 1.1.5 (pydata.org)

Стиль — документация pandas 1.4.3 (pydata.org)

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку. Подпишитесь на нас в Twitter, LinkedIn, и Discord .