Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Форматирование таблиц в Pandas

Покупка
Новинка
Артикул: 853777.01.99
Доступ онлайн
500 ₽
В корзину
Рассмотрены возможности класса Styler для форматирования датафреймов Pandas. Приведены примеры форматирования таблиц с помощью встроенных стилей и путем создания собственных стилей пользователя. Показано, как можно применять к таблице различные методы форматирования, такие как условное форматирование, изменение шрифта, цвета и выравнивание текста, добавление границ ячеек и др. Предназначено для обучающихся направлений подготовки: 09.03.02 «Информационные системы и технологии», 18.03.01 «Химическая технология», 28.03.02 «Наноинженерия», 29.03.04 «Технология художественной обработки материалов», 29.03.05 «Конструирование изделий легкой промышленности», изучающих дисциплины «Обработка экспериментальных данных», «Программирование», «Большие данные», «Теория информации, данные, знания», «Вычислительная математика». Подготовлено на кафедре информатики и прикладной математики.
Титов, А. Н. Форматирование таблиц в Pandas : учебно-методическое пособие / А. Н. Титов, Р. Ф. Тазиева ; Минобрнауки России, Казан. нац. исслед. технол. ун-т. - Казань : Изд-во КНИТУ, 2024. - 88 с. - ISBN 978-5-7882-3486-1. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2199395 (дата обращения: 09.03.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации 
Казанский национальный исследовательский 
технологический университет 
А. Н. Титов, Р. Ф. Тазиева 
ФОРМАТИРОВАНИЕ
ТАБЛИЦ В PANDAS 
Учебно-методическое пособие 
Казань 
Издательство КНИТУ 
2024 


УДК 004.42(075) 
ББК  32.97я7 
Т45 
Печатается по решению редакционно-издательского совета  
Казанского национального исследовательского технологического университета 
Рецензенты: 
канд. пед. наук, доц. С. М. Куценко 
канд. экон. наук О. С. Семичева 
Т45 
Титов А. Н. 
Форматирование таблиц в Pandas : учебно-методическое пособие / 
А. Н. Титов, Р. Ф. Тазиева; Минобрнауки России, Казан. нац. исслед. 
технол. ун-т. – Казань : Изд-во КНИТУ, 2024. – 88 с. 
ISBN 978-5-7882-3486-1 
Рассмотрены возможности класса Styler для форматирования датафреймов 
Pandas. Приведены примеры форматирования таблиц с помощью встроенных стилей и путем создания собственных стилей пользователя. Показано, как можно 
применять к таблице различные методы форматирования, такие как условное 
форматирование, изменение шрифта, цвета и выравнивание текста, добавление 
границ ячеек и др.  
Предназначено для обучающихся направлений подготовки: 09.03.02 «Информационные системы и технологии», 18.03.01 «Химическая технология», 
28.03.02 «Наноинженерия», 29.03.04 «Технология художественной обработки материалов», 29.03.05 «Конструирование изделий легкой промышленности», изучающих дисциплины «Обработка экспериментальных данных», «Программирование», «Большие данные», «Теория информации, данные, знания», «Вычислительная математика». 
Подготовлено на кафедре информатики и прикладной математики. 
УДК 004.42(075) 
ББК  32.97я7 
ISBN 978-5-7882-3486-1 
© Титов А. Н., Тазиева Р. Ф., 2024 
© Казанский национальный исследовательский 
технологический университет, 2024 
2


С О Д Е Р Ж А Н И Е
Введение ............................................................................................................ 4
1. ФОРМАТИРОВАНИЕ ЧИСЕЛ ................................................................... 6
1.1. Функция format для форматирования чисел 
....................................... 6
1.2. Форматирование табличных данных ................................................ 12
2. ВСТРОЕННЫЕ СТИЛИ 
............................................................................. 18
2.1. Цвета, поддерживаемые в HTML ...................................................... 18
2.2. Метод highlight_null ............................................................................ 24
2.3. Методы background_gradient и text_gradient 
..................................... 26
2.4. Метод bar 
.............................................................................................. 31
2.5. Методы highlight_max и highlight_min 
.............................................. 38
2.6. Метод highlight_between ..................................................................... 40
2.7. Метод highlight_quantile ..................................................................... 42
3. УСТАНОВКА СТИЛЯ ТАБЛИЦЫ 
........................................................... 44
3.1. Метод set_properties ............................................................................ 44
3.2. Метод set_table_styles.......................................................................... 46
3.4. Методы applymap, apply, applymap_index 
......................................... 65
3.5. Метод pipe ............................................................................................ 70
3.6. Метод set_tooltips ................................................................................ 72
3.7. Метод set_caption 
................................................................................. 74
3.8. Метод set_sticky 
................................................................................... 77
3.9. Скрытие данных. Метод hide ............................................................. 78
3.10. Экспорт стилизованных DataFrames в Excel .................................. 79
Задания для самостоятельной работы студентов ........................................ 80
Заключение ...................................................................................................... 86
Литература ....................................................................................................... 87
3 


В В Е Д Е Н И Е
Одним из инструментов для анализа данных в Python является 
Pandas. Данные объекта Pandas внутренне преобразуются в HTML-элемент  <table>, который затем может быть выведен на экран, например, 
с помощью веб-IDE Jupyter Notebook. Jupyter Notebook позволяет форматировать выводимую информацию так же, как и любую другую вебстраницу. Всякий раз при выводе датафрейма на экран он отображается 
с использованием языков разметки гипертекста HTML и каскадных таблиц стилей CSS (Cascading Style Sheets). Каскадные таблицы стилей – 
это язык иерархических правил, с помощью которого можно менять 
внешний вид HTML-документа и который позволяет работать со шрифтами, цветами, градиентами и анимацией. CSS определяет, каким образом элемент должен быть размещен на экране.  
В модуле Pandas имеется несколько способов визуализации таблиц. Самый простой из них – использование функции display() для отображения датафрейма в различных форматах, включая формат таблицы. 
Отображение по умолчанию очень простое и не предоставляет какихлибо специальных функций, которые можно использовать в целях презентации, например изменения цвета ячеек, строк, столбцов и т. д., поэтому часто аналитики по-прежнему обращаются к Excel, чтобы добавить стили данных (например, валюты) или условное форматирование, 
прежде чем делиться полученными данными.  
Создатели Pandas разработали API стилей в 2019 году, и с тех пор 
он активно развивается. API (Application Programming Interface) – 
это программный интерфейс, позволяющий связывать между собой 
различные приложения. Он содержит наборы методов, классов, библиотек и функций. API стилей возвращает новый объект Styler, в котором содержится набор методов для применения форматирования 
и стиля к наборам данных. Он позволяет включать CSS в код для улучшения внешнего вида полученных таблиц. Конечное оформление достигается именно с помощью CSS. Также в Pandas доступно условное 
форматирование. С его помощью можно визуализировать данные 
в виде гистограммы или с использованием цветовых шкал: выделять 
данные таблицы, отвечающие определенным условиям, изменять формат представления значений и т. д. Пользователю предоставлена возможность создания функций для выделения значений на основе заданных им условий, добавления подписи к таблицам, скрытия данных. 
4 


В представленном авторами пособии демонстрируется визуализация табличных данных с использованием класса Styler. Объект Styler 
содержит множество методов, которые можно использовать для изменения внешнего вида датафреймов. Он позволяет включать в код CSS 
с целью создания привлекательных таблиц. Для правильного оформления таблиц требуются небольшие знания HTML и CSS. 
Пособие состоит из трех глав. В первой главе приведены примеры форматирования числовых значений, индексов и заголовков 
столбцов с помощью методов format(), format_index(), relabel_index() 
и рассмотрен метод concat(), предназначенный для объединения похожих датафреймов.  
Во второй главе рассмотрены методы, позволяющие выделять 
(цветом, шрифтом, созданием рамки вокруг ячейки и т. д.) ячейки с данными или сами данные, удовлетворяющие определенным условиям: 
ячейки с отсутствующими значениями; ячейки, содержащие максимальные или минимальные значения; ячейки, содержащие данные, значения которых лежат в заданном интервале. Также рассмотрены методы создания тепловых карт и гистограмм внутри ячеек.  
Третья глава посвящена вопросам форматирования таблиц с использованием методов set_properties и set_table_styles, с помощью которых можно изменить стиль как всей таблицы, включая название таблицы, так и отдельных ее частей (строк, столбцов, ячеек, индексов, заголовков столбцов). Кроме этого, в главе рассмотрены методы 
applymap(), apply() и pipe(), предназначенные для передачи в Styler 
функций стиля и определенным образом применяющие их к DataFrame, 
визуализируя стили CSS, метод set_tooltips(), предназначенный для добавления всплывающих подсказок, метод set_caption() для добавления 
заголовка к таблице, и методы, облегчающие просмотр датафрейма: 
set_sticky() и hide(). 
Материал, изложенный в пособии, может быть использован при 
проведении лабораторных занятий по дисциплинам «Обработка экспериментальных данных», «Программирование», «Большие данные», «Теория информации, данные, знания», «Вычислительная математика».  
5 


.  Ф О Р М А Т И Р О В А Н И Е  Ч И С Е Л
В главе рассмотрен метод форматирования строки format, позволяющий вставлять на место плейсхолдеров (placeholder) определенные 
значения. Placeholder – это заключенный в фигурные скобки вспомогательный текст, содержащий специальные параметры – идентификаторы 
формата, меняющие строковое представление. 
Во второй части главы показано, как можно отформатировать отдельные значения ячейки, столбцы и строки датафрейма. 
1 . 1 .  Ф у н к ц и я  f o r m a t  д л я  ф о р м а т и р о в а н и я  ч и с е л
Для форматирования числовых значений предназначена функция 
format(), являющаяся одним из самых распространенных способов форматирования чисел в Python. Эта функция позволяет задать формат вывода числа, используя специальные символы. Общая форма спецификатора стандартного формата: 
format_spec [fill]align][sign]["z"]["#"]["0"][width][grouping_option]["." 
precision][type] 
Если указано допустимое значение выравнивания (align), то ему 
может предшествовать символ заполнения fill. Символ заполнения (fill) 
может быть практически любым символом, которыми будет заполнено 
выделенное пространство, если указано допустимое значение выравнивания align и оно превышает число символов, необходимых для вывода 
числа или строки. По умолчанию это пробел. Ширина поля, если не 
определена его минимальная ширина (параметр width), всегда будет 
иметь тот же размер, что и данные для его заполнения. В этом случае 
параметр fill игнорируется. 
Ширина (width) – десятичное целое число, определяющее минимальную общую ширину поля, включая любые префиксы, разделители 
и другие символы форматирования. Если значение не указано, то ширина поля будет определяться содержимым.  
Точность (precision) – количество цифр, выводимых после фиксированной точки, или количество символов в строке. Для строковых 
типов данных параметр точность указывает максимальный размер 
6 


поля: сколько символов из содержимого поля будет выведено на 
экран. Точность не используется для вывода целых чисел. Значения параметра: 'f', 'F', 'g', 'G'. 
Примеры:  
x=-123.345678444; h='pineapple' 
print(x) 
print("{:.2f}".format(x)) 
print("{:.3}".format(x)) 
print("{:.4}".format(h)) 
print("{:4}".format(h)) 
print("{:^14}".format(h)) 
 
Значения спецификаторов align, sign, type приведены в табл. 1.1–1.4. 
Таблица 1.1  
Выравнивание (align) 
Значение 
Пояснение 
< 
Принудительное выравнивание по левому краю в пределах выделенного пространства, заданного спецификацией width (значение по умолчанию для большинства 
объектов Python). Например: "{: <9}" 
> 
Принудительное выравнивание по правому краю в пределах выделенного пространства (значение по умолчанию для чисел) 
= 
Принудительное размещение отступа после знака (если 
таковой имеется) перед цифрами 
^ 
Центрирование в пределах выделенного пространства 
 
Примеры на вывод значений переменных с применением опций 
align и fill: 
s=1234 
# На вывод числа отведено 6 позиций. После знака стоит пробел 
print("{:=6}".format(-s)) # или print(format(-s, "=6")) 
# На число выделено 9 позиций. Перед числом выведены символы }. Знак выравнивания обязателен 
print(format(s, "}>9"))  
# На число выделено 12 позиций. Число выровнено по центру  
print("{:^12}".format(s)) 
# На число выделено 11 позиций. Слева добавлены нули 
7 


print("{:011d}".format(s)) 
b='summer' 
# На вывод строки отведено 11 позиций 
# Она выровнена по левому краю. Справа добавлены символы * 
print("{:*<11}".format(b)) # Строка выровнена по правому краю 
print("{:>11}".format(b)) 
Выполнив код, получили: 
 
Таблица 1.2  
Вывод знака числа (sign) 
Значение 
Пояснение 
+ 
Параметр указывает, что знак нужно выводить как для отрицательных чисел, так и для положительных 
– 
Параметр указывает, что знак нужно выводить только для 
отрицательных чисел (поведение по умолчанию) 
Пробел 
Параметр указывает, что перед положительным числом 
нужно выводить пробел, а перед отрицательным – знак 
числа  
 
Примеры на вывод чисел со знаком и без него: 
s=1234; v=12.44566667788898 
# 12 позиций на число. Перед числом стоит знак 
# После числа размещен текст 
print("{:+12} кг".format(s)) 
# Простой вывод. Число выводится полностью 
print(format(v)) 
# Перед числом добавлен пробел 
print("{: }".format(s)) 
# Пробела перед числом нет 
print("{:}".format(s))Результаты: 
 
8 


Тип (type) определяет, как должны быть представлены данные.  
Типы числовых данных приведены в табл. 1.3–1.4. 
 
Таблица 1.3  
Типы целочисленного представления 
Тип 
Пояснение 
'b' 
Выводит число в двоичном формате  
'c' 
Выводит символ Юникода, соответствующий значению 
числа  
'd' 
Предназначен для вывода целых десятичных чисел 
'o' 
Переводит число в восьмеричный формат и выводит его на 
экран  
'x' 
Переводит число в шестнадцатеричный формат и выводит 
его на экран, используя строчные буквы для цифр выше 9 
'X' 
Переводит число в шестнадцатеричный формат и выводит 
его на экран, используя прописные буквы для цифр выше 9 
'n' 
Формат для вывода целых чисел 
None То же, что и 'd' 
Пример вывода на экран целого числа с выравниванием по левому краю, заполнением, со знаком и разделителем тысяч в виде подчеркивания: 
s=1234; 
print(format(s, "*<+9_d") # +1_234*** 
Так можно узнать символ Юникода, соответствующий значению 
123: s=123; print(format(s, "c")) # { 
Таблица 1.4 
 Формат дробных чисел 
Тип 
Пояснение 
'e' 
Экспоненциальное представление чисел  
'E' 
Экспоненциальное представление. То же, что и 'e', за исключением того, что при выводе используется верхний регистр E 
в качестве символа-разделителя 
'f' 
Формат чисел с плавающей запятой 
'F' 
Формат чисел с плавающей запятой, верхний регистр 
'g' 
Общий формат, нижний регистр 
'G' 
Общий формат, верхний регистр 
'%' 
Процент. Умножает число на 100 и отображает в фиксированном формате, за которым следует знак процента 
9 


Похожие

Доступ онлайн
500 ₽
В корзину