Рубрики
Без рубрики

Pandas классный стилер

Я знал, что это может быть быстрее, но я не мог найти способ сделать это … Держись, позвольте мне начать у будь … Теги с Python, Pandas, Styler.

Я знал, что это может быть быстрее, но я не мог найти способ сделать это … Держись, позвольте мне начать в начале.

Я работал над набором вкусных данных, которые поворачиваются до чего-то совсем маленького. Около 20 строк на 30 столбцов. Довольно немного данных было пустым, а цифры были только целыми числами. Мне пришлось показать его в таблице, с одной строкой и некоторые строки, появляющиеся в желтом (итоге или итоге итогов), а некоторые клетки (сопоставление не видимых критериев), в красном.

Я думал, что это было легко. Вы поворачиваете таблицу, получите стилер, примените форматирование, один раз для желтых рядов и один раз для красных ячеек, а затем вы видите все это в HTML. Легко … но видимо медленно.

Должно быть, это мои заявления о применении, которые были медленными (комментируя их, сделали рендеринг намного быстрее). Мне удалось немного уменьшить время выполнения, поставляя подмножество. Не большая победа, а что-то.

Затем я подумал, что вычисление красных клеток было слишком медленно, поэтому я сделал это перед рукой, имея то же самое и однообразное значение DataFrame, указывающее, что для форматирования как красный. Подача в этой части может просто вернуть полное значение DataFrame, как есть (никаких вычислений не требуется). Это также не привело к значительному улучшению производительности.

Я продолжал натащить голову. Я посмотрел на вывод и скажи Стиль много . Я знал, что мне нужно сделать … Я должен был посмотреть на реальный код.

Я начал смотреть на шаблон. Эта часть показывает, что есть атрибуты и класс. Ну, класс был там, но не то, что мне нужно.

Pandas/Pandas/IO/форматы/шаблоны/html.tpl (v0.23.x) ... <Тобб> {% - блок до_rows%} {% - Endblock Free_rows%} {% - для r в организме%} {% - Block TR Scoped%} {% - для C в R%} {% - если c.is_visible%} <{{ctype}} {{c.ttributes | Присоединяйтесь ("")}}> {{c.display_value}} {% - Endif%} {% - EndFor%} {% - Endblock Tr%} {% - EndFor%} {% - блок после_rows%} {% - Endblock After_rows%} ...

И так это я. Я в конечном итоге отслеживал часть там, где есть упоминание о классе … Но я не получил производимый класс, просто укладывающую. Класс должен быть лучше, чем укладки, безусловно, так как Я делаю это ? Я продолжал смотреть на код и прийти к выводу, что никто не использует класс Часть этого кода. Чего ждать…? Никто не использует это? Никто не использует это. Никто. Использует. Этот.

Что такое Это ? Хорошо, кажется, что он является однообразным списком списков, которые рассказывают стилеку, класс использовать, если таковые имеются. Если бы только был способ получить мои предварительно рассчитанные стили в эту переменную, прежде чем она оказалась.

Один обезьяна-патч позже эта вещь производит очиститель HTML и оказывается намного быстрее.

Оригинал: “https://dev.to/grantstead/pandas-classy-styler-38mc”