Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Форматирование таблиц в Pandas. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
81
одного знака после запятой, а среднее значение по каждому столбцу – с двумя знаками после запятой;
– в одном из шести столбцов (выбрать самостоятельно) постро-
ить гистограмму. Задать цветовую модель и настроить ширину гисто­граммы так, чтобы диаграмма не пересекалась с числовыми данными;
– выделить разным цветом минимальные и максимальные эле-
менты в каждой строке.
4. В таблице приведены данные о средней месячной температуре
в г. Казани за последние 10 лет.
Год
Январь
Февраль
Март
Апрель
Май
Июнь
Июль
Август
Сентябрь
Октябрь
Ноябрь
Декабрь
2013
-11
-7,1
-6,9
6,3
15,2
20,8
20,9
20,2
12,2
4,9
2,9
-4,5
2014
-10,5
-10,5
-0,5
4,4
17,1
17,8
19,4
20,2
12,6
1,7
-3,2
-6,6
2015
-9,7
-6,5
-2
4,5
16,4
21
18,5
16,7
15,8 3 -1,3
-3
2016
-12,3
-2,6
-1,3
8
15,6
18,5
22,5
23,9
11,6 4 -4,6
-10,8
2017
-11,5
-7,2
-1,1
4,7
11
15,6
19,7
19,6
12,3
4,7
-0,1
-4,9
2018
-9,4
-11
-8,2
4,6
14,4
16,9
22,3
19,8
14,1
6,2
-2,6
-8,1
2019
-10,3
-7,2
-1,2
6,3
16,4
19
18,5
16
10,9
7,9
-2,1
-4,2
2020
-3
-3,4
2,6
5,2
13,7
16,8
22,2
17,2
13,3
7,2
-2,6
-11
2021
-9,9
-15,2
-4,7
6,6
18,1
22,4
22
22,3
9,8
6,5
-0,4
-8
2022
-9,8
-3,2
-4,5
5,8
10
18,1
21,6
23,3
11,8
6,5
-1,8
-8,1
2023
-11,6
-7,7
1,3
10,3
16,3
16,6
21,8
20,5
15,5
5,8
0,3
-8,5
Создать датафрейм temperature и отформатировать его вывод
в соответствии с заданием:
– при выводе датафрейма temperature указать точность по деся­тых. В столбце «Март» перед значением температуры вывести знак «+» или «-». Выровнять значения по центру;
– выделить синим цветом температуру зимних месяцев в самые холодные годы и оранжевым цветом – температуру летних месяцев в самые жаркие годы;
– применить к датафрейму temperature три различные цветовые карты с использованием метода background_gradient();
– изменить цвет данных в датафрейме temperature с использова­нием метода text_gradient();
– выделить зеленым цветом отрицательные температуры в ноябре;
– выделить цветом значения, находящиеся между 40-м и 60-м перцентилями, и расставить пунктирные границы для ячеек, содержа­щих такие значения;
82
– добавить к выводимой информации о датафрейме temperature строки, содержащие средние значения и среднеквадратические откло­нения, максимумы, минимумы по столбцам. Задать точность – два знака после запятой. Изменить шрифт и фон добавленной информации;
– отформатировать цвета столбцов, используя различные цвето­вые модели:
а) столбец «Январь» – RGB (цвета заданы числами, находящимся
в диапазоне от 0 до 255);
б) столбец «Февраль» – RGB (цвета заданы процентным значе-
нием);
в) столбец «Март» – RGB (с коэффициентом непрозрачности);
г) столбец «Апрель» – RGB (цвета заданы HEX-кодами);
д) столбец «Май» – HSL;
е) столбец «Июнь» – HSL;
ж) столбец «Июль» – LCH (без коэффициента непрозрачности);
з) столбец «Август» – LCH (без коэффициента непрозрачности);
и) столбец «Сентябрь» – OKLCH;
к) столбец «Октябрь» – OKLCH;
л) столбец «Ноябрь» – HTML-цвет;
м) столбец «Декабрь» – HTML-цвет.
5. В таблице приведены сведения по рождаемости за октябрь
в различных округах России за период с 2019 по 2023 г.
Округ – регион
2023
2022
2021
2020
2019
Дальневосточный
федеральный округ
6531
6522
7371
7923
8329
Приволжский
федеральный округ
19079
19157
22300
23308
25353
Северо-Западный
федеральный округ
8988
9300
10346
11066
12270
Северо-Кавказский федеральный округ
11251
10915
12253
12149
12592
Сибирский
федеральный округ
11856
12454
13855
14675
15963
Уральский
федеральный округ
9709
9936
10713
10928
11989
Центральный
федеральный округ
27082
27141
29533
30689
33170
Южный
федеральный округ
11968
11799
13710
13936
15308
83
На основе данной таблицы создать датафрейм, в качестве индек-
сов использовать названия регионов, а имена столбцов будут соответ­ствовать годам. Отформатировать вывод датафрейма в соответствии с заданием:
– с использованием метода applymap закрасить фон ячеек в голу-
бой цвет, если их величины не превышают среднего значения рождае­мости за месяц, вычисленного по данным таблицы;
– с использованием метода apply изменить цвет данных нечетных
столбцов, а ячейки с данными в четных столбцах залить другим цветом. Цвет выбрать самостоятельно;
– создать функцию, которая при передаче в метод apply выделит
одним цветом минимальные элементы строк. Цвет выбрать самостоя­тельно;
– с использованием метода applymap_index закрасить индексы
строк в зеленый цвет, а названия столбцов – в желтый.
6. В таблице приведены сведения о погодных условиях и уровнях
опасности.
Уровни опасности погоды
Цвет
Описание
Рекомендации
Зеленый
Основания для введения уровней опасности от­сутствуют
Подходящий период для прогулок
Желтый
Возможны осадки, по­рывы ветра, высокие или низкие температуры
Не забудьте зонт
Оранжевый
Вероятность стихийных бедствий: шквалы, ливни, грозы, град, жара, метели
Постарайтесь не покидать помещений, не подходите к окнам. Если вы в ма­шине – остановитесь, но не выходите
Красный
Возможность крупных разрушений и катастроф, ураганов, пожаров
Оставайтесь дома. При необходимости подготовь­тесь к эвакуации. Если вы на улице – укройтесь в бли­жайшем здании
Создать датафрейм level, содержащий два столбца – цвет и опи-
Анкета путешественника
1
Фамилия, имя, отчество
2
Дата рождения
3
Профессия
Если нет, указать NaN
4
Любимое занятие
5
Любимая страна (город)
6
Есть ли у тебя аллергия
Если нет, указать NaN
7
Какое отношение к спорту
8
Любишь ли ты общаться с людьми
9
Дополнительная информация о себе
Если нет, указать NaN
10
Сколько раз был в путешествии
Если нет, указать NaN
сание опасности (без рекомендаций), и отформатировать его вывод в соответствии с заданием:
– добавить заголовок таблицы с помощью метода set_caption().
Отформатировать его шрифт (тип, размер, цвет шрифта и фона). Распо­ложить заголовок под таблицей, выровнять по центру. Заключить в рамку;
– закрасить заголовки столбцов датафрейма и отформатировать
их шрифт;
– закрасить строки датафрейма level в соответствии с цветом
уровня опасности;
– задать и отформатировать границы внешних и внутренних гра-
ниц таблицы;
– добавить закрашивание строки при наведении на нее курсора,
а также предусмотреть увеличение размера шрифта этой строки;
– добавить рекомендации в качестве всплывающих подсказок.
7. Составить персональную анкету путешественника в виде объ-
екта DataFrame под названием traveler.
Отформатировать ячейки таблицы с использованием метода pipe():
– добавить название таблицы;
– выровнять вопросы по левому краю, а ответы – по центру;
– изменить шрифт (цвет, тип, размер);
– изменить цвет фона;
– вместо значений NaN указать прочерки и выделить эти ячейки
цветом;
– изменить внутренние и внешние границы таблицы.
84
Сохранить стилизованный объект traveler в Excel-файл (название
файла задать фамилией студента).
8. Загрузить из коллекции Vega datasets датасет movies(), содержа-
щий информацию о фильмах. Создать из него датафрейм со столбцами, содержащими информацию о названии фильма (Title), режиссере фильма (Director), жанре (Major_Genre), бюджете (Production_Budget), сборах в мировом прокате (Worldwide_Gross), рейтинге IMDB (IMDB_Rating), продолжительности фильма (Running_Time_min). Убрать из датафрейма строки, в которых есть отсутствующие данные. Вывести на экран 10 случайно выбранных строк о фильмах, имеющих более 50 % положительных отзывов (значения Rotten_Tomatoes_Rating). Расставить в датафрейме границы, разные для заголовков и данных. Для границ заголовков предусмотреть стиль inset, толщину 4px, цвет ol­ive, для данных – сплошную границу толщиной 2px оранжевого цвета. Шрифт заголовков – Cambria, размер шрифта – 16px, стиль – italic, вы­равнивание текста – по центру. Для данных столбца с названием филь­мов задать фонт Niagara, размер шрифта 18px, стиль italic, цвет seagreen, насыщенность шрифта 900. Для остальных данных задать размер шрифта 12pt. Все данные выровнять по центру. В выведенном дата­фрейме скрыть индексы. Значения столбцов Running_Time_min, Produc­tion_Budget, Worldwide_Gross вывести как целые числа, значения рей­тингов IMDB_Rating вывести с одним знаком после запятой. В качестве разделителя тысяч задать символ подчеркивания (_). Ячейки, содержа­щие названия фильмов, чей доход от проката более чем в 4 раза превы­сил бюджет фильма, залить светло-зеленым цветом.
Примечание. Загрузить пакет vega_datasets можно по обычным
правилам: pip install vega_datasets. Создать датафрейм можно так:
from vega_datasets import data
films = data.movies()
85
З А К Л Ю Ч Е Н И Е
Одним из наиболее распространенных способов создания набора
данных является использование таблиц, содержащих данные. Доступ к базовым данным с помощью их визуального представления часто го­раздо эффективнее работы с обычной таблицей. Возможности класса Styler позволяют предоставлять пользователю информацию в более привлекательном и удобном для анализа виде, чем при работе с тради­ционным датафреймом.
В пособии авторами были рассмотрены некоторые возможности класса Styler для форматирования датафреймов Pandas и показано, как с его помощью создавать таблицы, готовые к презентации, настраи­вая фреймы данных с помощью встроенной функциональности стили­зации Pandas. Эта функциональность позволяет изменять шрифт, цвет и выравнивание текста в любой части таблицы, добавлять границы ячеек, использовать условное форматирование, создавать в ячейках столбчатые диаграммы, помещать во фреймы данных дополнительную информацию и т. д., используя каскадные таблицы стилей CSS (Cascading Style Sheets) и некоторые специальные методы.
Полученные сведения могут быть полезными при изучении таких дисциплин, как «Большие данные», «Вычислительная математика», «Теория вероятностей и математическая статистика», «Обработка экс­периментальных данных», «Программирование», «Теория информа­ции, данные, знания».
86
Л И Т Е Р А Т У Р А
1. Pandas: сайт. – URL: https://pandas.pydata.org/.
2. String. Общие операции со строками. – Документация по Py­thon 3.11.5: сайт – URL: https://docs.python.org/3/library/ string.html#for­mat-specification-mini-language.
3. Pandas – Table Visualization: сайт – URL: https://runebook.dev/ ru/docs/pandas/user_guide/style.
4. Основы CSS: сайт – URL: https://developer.mozilla.org /ru/docs/Learn/Getting_started_with_the_web/CSS_basics.
5. Справочник по API: сайт – URL: https://pandas.pydata.org/ docs/reference/api/pandas.io.formats.style.Styler.set_table_styles.html.
6. CSS – Дока: сайт – URL: https://doka.guide/css/
7. Визуализация таблиц: сайт – URL: https://pandas. pydata.org/pandas-docs/stable/user_guide/style.html.
8. Pandas.io.formats.style.Styler – документация pandas 2.1.1 (pydata.org): сайт – URL: https://pandas.pydata.org/pandas-docs /stable/reference/api/pandas.io.formats.style.Styler.html.
9. Простое руководство по стилю отображения фреймов данных Pandas): сайт – URL: https://coderzcolumn.com/tutorials/python/simple­guide-to-style-display-of-pandas-dataframes.
10. List of named colors: сайт – URL: https://matplotlib.org/sta­ble/gallery/color/named_colors.html.
11. HTML ЦВЕТА: сайт – URL: https://colorscheme.ru/html-col­ors.html.
12. OKLCH в CSS: почему мы ушли от RGB и HSL: сайт – URL: https://web-standards.ru/articles/oklch-in-css-why-quit-rgb-hsl/.
87
УЧЕБНОЕ ИЗДАНИЕ
Подписано в печать 17.10.2024
Формат 6084 1/16
Бумага офсетная
Печать цифровая
5,11 усл. печ. л.
5,5 уч.-изд. л.
Тираж 400 экз.
Заказ 64/24
Издательство Казанского национального исследовательского
технологического университета
Отпечатано в офсетной лаборатории Казанского национального
исследовательского технологического университета
420015, Казань, ул. К. Маркса, 68
Андрей Николаевич Титов
Рамиля Фаридовна Тазиева
ФОРМАТИРОВАНИЕ
ТАБЛИЦ В PANDAS
Редактор Л. Г. Шевчук
Компьютерная верстка и макет – А. К. Рахманкулова
88
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]