Traceback.ru — сайт traceback.ru

Платформа, посвященная урокам и руководствам по программированию на Python, с акцентом на стандартную библиотеку, данные, визуализацию и оптимизацию кода.

Домен
traceback.ru
Сайт
https://traceback.ru
Отрасль
Информационные технологии
Ключевые слова
python, проектирование, библиотека, модуль, данные, инструменты, память, итertools, csv, визуализация

Технологии

  • analytics: Google Analytics
  • seo_signals: canonical, open_graph, twitter_cards

О сайте

Description: Traceback (most recent post first). Media of python coding, web development, data science and machine learning.

---

- В python есть великолепный модуль functools, в котором находится, пожалуй, моя самая любимая штука во всем python - декораторы lrucache и cachedproperty.

- lrucache позволяет кешировать (иногда еще говорят мемоизировать) результаты работы декорируемых функций - это чертовски ускоряет повторное (или рекурсивное) исполение CPU bound функций, как впрочем и для IO bound функций он бывает полезен. - cachedproperty позволяет кешировать исполнение метода класса, но только если у него дополнительных аргументов, кроме self.

Вместе они позволяют покрыть большинство хотелок по кешированию чего-либо прямо в memory питоньего процесса.

Однако, есть у них как неочивидные фишки, так и некоторые тонкости, о которых сейчас и поговорим.

[Читать дальше →](/awesome-python-functools-cached-property/) - Продолжаем наше исследование модуля itertools.

На очереди 3 конструктора бесконечных итераторов:

from itertools import count, cycle, repeat

[Читать дальше →](/awesome-python-itertools-count-repeat-cycle/) - Представьте, что вам нужно пробежать за один проход по N коллекциям, например по двум вот таким.

In [2]: l1 = list(range(5))

In [3]: l2 = list(range(10))

In [4]: l1 Out[4]: [0, 1, 2, 3, 4]

In [5]: l2 Out[5]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Естественно, возникает желание написать вот такой цикл:

[Читать дальше →](/awesome-python-itertools-chain/) - Pandas - великолепный инструмент для работы с данными в python, а csv - де-факто стандартный формат хранения данных в Data Science (да и много где еще).

Однако, csv файлы могут занимать ооочень много места. Если Вы сохраняете какие-то промежуточные данные или регулярно делаете выгрузки из СУБД, то и количество этих файлов может быстро расти.

Если Вам приходится часто двигать файлы через сеть между различными окружениями - сервера/рабочая станция/Google Colab/Kaggle, то этот процесс может превратиться в настоящую головную боль. Большие файлы долго передаются по сети, дисковое пространство в сервисах быстро заканчивается и они начинают требовать от Вас апгрейдить аккаунт и расширять лимиты.

Но есть решение, причем удивительно простое и удобное.

[Читать дальше →](/pandas-csv-files-compression-on-the-fly/) - Построить тепловую карту (как и почти любую визуализацию данных) в великолепной plotly.express невероятно просто:

px.densityheatmap(df, x='x', y='y', z='z…

Каноническая страница: traceback.ru

Traceback.ru — сайт traceback.ru | Строка