Отображение графиков прямо в датафрейме pandas
Pandas – это веб-IDE. Всякий раз, когда мы печатаем DataFrame, он отображается с использованием HTML и CSS. Это позволяет нам форматировать его так же, как и любую другую веб-страницу. Одна из самых интересных опций — встроить в датафрейм графики (спарклайны). Рассказываем, как это сделать.
P.S. Весь код с картинок также оставляем для вас в комментариях.
😻 #python
Pandas – это веб-IDE. Всякий раз, когда мы печатаем DataFrame, он отображается с использованием HTML и CSS. Это позволяет нам форматировать его так же, как и любую другую веб-страницу. Одна из самых интересных опций — встроить в датафрейм графики (спарклайны). Рассказываем, как это сделать.
P.S. Весь код с картинок также оставляем для вас в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🤯11🔥6❤4🤩4
Легким движением руки ускоряем код на Python в 100 раз
Интерпретатор Python по умолчанию — это CPython. Но будем честны, он бывает туповат, медлителен и не предлагает встроенной оптимизации. Если хотите ускорить свой код, то вместо этого используйте модуль Cython. Сейчас объясним, как зачем и почему.
😻 #python
Интерпретатор Python по умолчанию — это CPython. Но будем честны, он бывает туповат, медлителен и не предлагает встроенной оптимизации. Если хотите ускорить свой код, то вместо этого используйте модуль Cython. Сейчас объясним, как зачем и почему.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38🔥19❤5
Разрушаем мифы pandas: параметр inplace
Распространенное заблуждение: если менять датафрейм "на месте" (
Дело в том, что, вопреки расхожему мнению, большинство операций на месте НЕ предотвращают создание новой копии. Просто inplace возвращает копию по тому же адресу. Но помимо создания копии в этом случае Pandas выполняет некоторые дополнительные проверки, чтобы "убедиться", что DataFrame изменяется правильно. Иногда это может оказаться дорогостоящей операцией.
Вот и выходит: хотели ускорить код, а в итоге замедлили в 2 раза. Не рекомендуем.
😻 #python
Распространенное заблуждение: если менять датафрейм "на месте" (
inplace = True
), то код будет работать быстрее. Мы провели серию экспериментов и готовы разрушить этот миф. Результаты наверху. Выходит, что изменение на месте чаще всего работает медленнее. Но почему так?Дело в том, что, вопреки расхожему мнению, большинство операций на месте НЕ предотвращают создание новой копии. Просто inplace возвращает копию по тому же адресу. Но помимо создания копии в этом случае Pandas выполняет некоторые дополнительные проверки, чтобы "убедиться", что DataFrame изменяется правильно. Иногда это может оказаться дорогостоящей операцией.
Вот и выходит: хотели ускорить код, а в итоге замедлили в 2 раза. Не рекомендуем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58🤯11👌10😁1
В стране DS жили-были два зверя: панда и скуль. И говорили они на разных языках....
От этого временами страдали все мирные жители этого прекрасного государства. Но однажды доблестные редакторы из замка Data Secrets сделали словарь, в котором собрали и перевели все самое важное с одного языка на другой. После этого все жили долго и счастливо и ставили на этот пост лайки. Конец!
😻 #python #SQL
От этого временами страдали все мирные жители этого прекрасного государства. Но однажды доблестные редакторы из замка Data Secrets сделали словарь, в котором собрали и перевели все самое важное с одного языка на другой. После этого все жили долго и счастливо и ставили на этот пост лайки. Конец!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤103👍36🔥17😁6❤🔥3
Numexpr: многопоточная альтернатива Numpy
NumPy, несомненно, бодр и оптимизирован. Тем не менее, он не поддерживает распараллеливание ни в каком виде. А это огромный простор для улучшений. Поэтому придумали Numexpr. По синтаксису он похож на своего старшего товарища, но предлагает две сильные дополнительные фичи:
– многопоточность
– сокращение выделения памяти на промежуточные результаты
На железе с большим количеством ядер и на больших массивах Numexpr может работать в 20 раз быстрее numpy.
👩💻 Документация
😻 #python
NumPy, несомненно, бодр и оптимизирован. Тем не менее, он не поддерживает распараллеливание ни в каком виде. А это огромный простор для улучшений. Поэтому придумали Numexpr. По синтаксису он похож на своего старшего товарища, но предлагает две сильные дополнительные фичи:
– многопоточность
– сокращение выделения памяти на промежуточные результаты
На железе с большим количеством ядер и на больших массивах Numexpr может работать в 20 раз быстрее numpy.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥18❤2🤔2
Как задеплоить модель с помощью FastAPI
Неотъемлемая часть работы дсника в современной индустрии – это деплой своих проектов. А как это сделать? Вот краткий гайд с готовым кодом и объяснением на пальцах.
😻 #python
Неотъемлемая часть работы дсника в современной индустрии – это деплой своих проектов. А как это сделать? Вот краткий гайд с готовым кодом и объяснением на пальцах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52❤12🔥9
Как визуализировать дерево решений
Ну во-первых, это красиво. Во-вторых, самое прекрасное свойство деревьей решений – интерпретируемость, и визуализировать модель в этом случае очень полезно. Помимо того, что мы видим, как модель будет принимать решение, можно еще и оценить разделимость данных (например, посмотрев на индекс Джини и количество айтемов каждого класса в вершинах).
В комментариях написали готовый код для визуализации на примере Ирисов Фишера.
😻 #analytics #python #train
Ну во-первых, это красиво. Во-вторых, самое прекрасное свойство деревьей решений – интерпретируемость, и визуализировать модель в этом случае очень полезно. Помимо того, что мы видим, как модель будет принимать решение, можно еще и оценить разделимость данных (например, посмотрев на индекс Джини и количество айтемов каждого класса в вершинах).
В комментариях написали готовый код для визуализации на примере Ирисов Фишера.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤7
PyTorch 2.0 и новый метод compile()
Для того чтобы ускорить выполнение кода в PyTorch, разработчики PyTorch представили в последней версии новый метод — torch.compile(). В карточках написали про то, как он работает, и когда ускоряет обучение лучше всего. А если хотите углубиться – вот вам подробная статья.
😻 #python
Для того чтобы ускорить выполнение кода в PyTorch, разработчики PyTorch представили в последней версии новый метод — torch.compile(). В карточках написали про то, как он работает, и когда ускоряет обучение лучше всего. А если хотите углубиться – вот вам подробная статья.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40❤6🔥6
Загадки pandas.stack()
Обычно функции в pandas интуативно понятны в использовании. Но иногда это – головная боль. Например, новички особенно часто путаются в stack(). Подробнее про эту функцию и ее подводные камни – в карточках.
😻 #python
Обычно функции в pandas интуативно понятны в использовании. Но иногда это – головная боль. Например, новички особенно часто путаются в stack(). Подробнее про эту функцию и ее подводные камни – в карточках.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥6❤3
Про разреженные матрицы
Часто при обработке текста или категориальных признаков в итоге мы получаем матрицу, в которой очень-очень много нулей. А задумыались ли вы, как хранятся такие матрицы в памяти? Например, как реализовано хранение таких данных в PyTorch или NumPy? Поехали разбираться.
😻 #python
Часто при обработке текста или категориальных признаков в итоге мы получаем матрицу, в которой очень-очень много нулей. А задумыались ли вы, как хранятся такие матрицы в памяти? Например, как реализовано хранение таких данных в PyTorch или NumPy? Поехали разбираться.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤31👍5🔥3
Делаем свой код на pandas лучше легким движением руки
Иногда, пользуясь pandas, можно случайно использовать неоптимизированные или устаревшие методы, не заметить нужной фукнции или упустить из виду какие-то особенности данных. Правда, полезно было бы получать подсказки об этом прямо во время кодинга?
Оказывается, для этого существует специальная
P.S. При установке часто возникает ошибка. Игнорируйте ее: все и так будет работать как надо.
😻 #python
Иногда, пользуясь pandas, можно случайно использовать неоптимизированные или устаревшие методы, не заметить нужной фукнции или упустить из виду какие-то особенности данных. Правда, полезно было бы получать подсказки об этом прямо во время кодинга?
Оказывается, для этого существует специальная
библиотека Dovpanda
, которая работает как дополнение к pandas и генерирует подсказки и советы прямо по ходу действия. P.S. При установке часто возникает ошибка. Игнорируйте ее: все и так будет работать как надо.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47❤11😇8🌚2😎1