Python Friday: вызов кода # 5

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

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

После просмотра списка методов в Dataframe я заметил пару из них. Они не только кажутся полезными, но и интересными для игры и изучения.

.to_html () и .to_pickle ()

df.to_html () кажется крутым. Я знаю, что HTML-таблицы ужасно немодны, но я работаю в технологическом отделе. Идея использования python для использования файлов Excel для хранения своих данных в веб-среде меня очень интересует. Тем более автоматизирую эту задачу.

Я хотел узнать о dataframe.to_pickle (), потому что понятия не имел, что такое рассол Python. В Python Tips есть сжатое описание маринада и причины его использования. Странное совпадение, что to_pickle () привлекло мое внимание исключительно на основе слова pickle и идеально подходит для некоторых идей проекта, которые у меня возникнут в ближайшем будущем. Машинист старой школы однажды сказал мне:

В любой день удача превыше умения!

Описание проблемы кода: часть первая

Создайте HTML-страницу из файла .csv с помощью .to_html () и некоторых строк на Python. Если вы не разбираетесь в HTML, посмотрите этот документ. Перенесемся в раздел Создание HTML-документа, и у вас будет все, что вам нужно для продвижения вперед.

Задачи

  1. Создайте Dataframe из файла Cars.csv в последнем испытании.
  2. Создайте новый фрейм данных, который содержит только десять автомобилей с максимальным количеством миль на галлон из файла.
  3. Превратите этот новый фрейм данных в таблицу HTML
  4. Создайте базовый HTML-файл с именем top_ten_mpg.html с заголовком, заголовком, заголовком, телом и тегом h1 в теле с надписью «Top Ten MPG Table». Это можно делать как угодно, пока это работает.
  5. Вставьте эту таблицу в основной раздел HTML-строки под тегом h1

(Чтобы узнать, как работать с файлом .csv, ознакомьтесь с публикацией за последние недели)

Описание проблемы кода: часть вторая

  1. выберите свой Dataframe
  2. наблюдайте за файлом, который создает этот процесс
  3. un_pickle файл .pkl обратно в Dataframe.

Посмотрим код

HTML

Для части to_html это было забавное упражнение! Таблицы HTML сейчас очень не популярны по множеству уважительных причин. Однако для этого приложения это был очень удобный способ продемонстрировать, что можно сделать примерно за 10 минут с пандами и набором данных.

Культура в моем отделе предпочитает представление за столом. И есть несколько приложений, которые я могу придумать, где простая таблица HTML (возможно, с несколькими строками CSS для облегчения чтения) - это все, что нужно для отображения результатов какого-либо запроса или запроса отчета.

Кроме того, любой планшет с браузером может просматривать HTML-файл, показывающий простую HTML-таблицу.

Я открыто признаю, что основная HTML-таблица уродлива. Готов поспорить, C3.js обладает некоторыми возможностями обработки данных таблицы HTML, чтобы превратить их в фантастически выглядящую диаграмму. Я 💙C3.js. Оказывается, Bokeh для Python может создавать некоторые html-таблицы… Подробнее об этом на следующей неделе.

На маринование

Это действительно не было проблемой, если вы уже выполнили первую часть, но для меня это прекрасно демонстрирует устойчивость объекта. Вместо того, чтобы хранить кучу фреймов данных в памяти, вы можете выбрать фрейм данных, чтобы освободить память для выполнения других задач. Это также было бы очень полезно в случае потери питания или потери связи с серверами и т. Д.

Есть более открытые, более понятные для человека способы делать то, что делает Python pickling. Но я думаю, что он работает нормально и не устанавливает достаточное количество отрицательных флажков, чтобы быть антипаттерном.

Забрать

  1. to_html можно использовать для создания очень быстрой и очень примитивной таблицы html, которая переносит данные из терминала в браузер.
  2. to_pickle - отличный способ создать постоянство объекта, поставляется предварительно упакованным в python 3 и может использовать 4 или более типов сжатия (ни один из которых я не понимаю)

Что касается ноутбуков Jupyter

Я хотел разместить этот материал в блокноте Jupyter с общедоступным доступом для просмотра. Оказалось, что это была глупая идея (вложение времени + опыт + безопасность), и я этим не занимаюсь. Весь мой код решения будет жить на гитхабе для всех, кому это интересно.

В следующий раз

Я хочу получить набор данных, представить ~ 3 вопроса, на которые я хочу, чтобы он ответил, и создать несколько визуализаций, поддерживающих ответы на эти три вопроса.

Спасибо за чтение! 💚