Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Модуль array

Модуль array в Python предоставляет возможность создавать массивы различных примитивных типов данных, таких как целые числа, вещественные числа и другие. Поскольку массивы в этом модуле хранят элементы одного типа, они обычно используют память более эффективно, чем списки, и предоставляют быстрый доступ к своим элементам.

Основное назначение модуля array — предоставление эффективного механизма для хранения базовых данных, таких как бинарные данные или большие массивы чисел, когда стандартные списки не являются наилучшим выбором из-за требований к производительности или памяти.
🔗 Python tricks
Модуль itertools

Модуль itertools стандартизирует основной набор быстрых эффективных по памяти инструментов, которые полезны сами по себе или в связке с другими инструментами. Вместе они формируют «алгебру итераторов», которая позволяет лаконично и эффективно создавать специализированные инструменты на чистом Python.
🔗 Python tricks
Модуль time

В Python есть модуль с именем time для обработки задач, связанных со временем. Чтобы использовать функции, определенные в модуле, нам нужно сначала импортировать модуль.

Функция time() возвращает количество секунд, прошедших с начала эпохи.
🔗 Python tricks
Модуль sys

Модуль sys в Python предоставляет простые функции, которые позволяют нам напрямую взаимодействовать с интерпретатором. Функции, предоставляемые модулем sys, позволяют нам работать с базовым интерпретатором, независимо от того, является ли он платформой Windows, Macintosh или Linux.
🔗 Python tricks
manim

Manim — это библиотека, которая используется для создания анимированных визуализаций и математических демонстраций.

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

Результат выполнения кода из примера — видеофайл с анимацией данных преобразований.
🔗 Python tricks
PyFlux

PyFlux — это библиотека для анализа временных рядов и моделирования в Python. Она предоставляет инструменты для анализа, прогнозирования и визуализации временных рядов. PyFlux предлагает различные статистические и машинные методы для работы с данными временных рядов, включая ARIMA, GARCH, VAR и другие модели.

🔗 Python tricks
Ppscore

Ppscore (Permutation-based Predictive Score) — это библиотека для оценки важности признаков в машинном обучении с использованием перестановочных тестов. Она позволяет определить, какие признаки влияют на предсказательную способность модели, путем случайного перестанования значений признаков и оценки изменений в метрике оценки (например, R^2, MSE, F1-мера и так далее) после каждой перестановки.

Обратите внимание, что pps.matrix возвращает матрицу PPS, где строки представляют признаки, а столбцы также представляют признаки, но с показателями PPS. PPS ближе к 1 указывает на более сильное влияние признака на целевую переменную, а ближе к 0 - на более слабое влияние.

🔗 Python tricks
exec()

Exec() — это еще одна встроенная функция для выполнения строки кода.
В отличие от eval(), exec() выполняет операторы и блоки кода, а не просто выражения.

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

🔗 Python tricks
Библиотека cvxpy

cvxpy — эта библиотека позволяет описывать оптимизационные задачи в высокоуровневом виде и эффективно решать их с помощью численных методов.

Основные возможности cvxpy:
— Удобный синтаксис для задания целевой функции и ограничений в виде выражений Python.
— Поддержка разных типов переменных: вещественных, целочисленных, булевых.
— Возможность задания неравенств и равенств как ограничений.
— Встроенные функции для задания норм, статистических величин и других полезных выражений.
— Автоматический выбор подходящего численного решателя на основе задачи.
— Интеграция с NumPy, SciPy и другими популярными библиотеками.

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

🔗 Python tricks
Модуль random

При разработке программ иногда возникает потребность сгенерировать случайное число. Для этого в Python можно использовать модуль random. Он предоставляет множество функций, но основными являются:
• randint — сгенерировать целое число в заданном диапазоне
• choice — выбрать случайный элемент из заданного набора

🔗 Python tricks
Модуль math

Математический модуль math в Python представлен наиболее известными математическими функциями, которые включают в себя тригонометрические функции, функции представления, логарифмические функции и т. д. Кроме того, он также определяет две математические константы, т. е. pie и число Эйлера.

Pie(n): это хорошо известная математическая константа, определяемая как отношение длины окружности к диаметру круга. Его значение составляет 3,141592653589793.

Число Эйлера(е): определяется как основание натурального логарифма, и его значение составляет 2,718281828459045.
🔗 Python tricks
NumPy

NumPy — это библиотека языка Python, добавляющая поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых (и очень быстрых) математических функций для операций с этими массивами.

Основным объектом NumPy является однородный многомерный массив (в numpy называется numpy.ndarray). Это многомерный массив элементов (обычно чисел), одного типа.

🔗 Python tricks
NumPy, часть 2: базовые операции над массивами

Математические операции над массивами выполняются поэлементно. Создается новый массив, который заполняется результатами действия оператора.

Для этого, естественно, массивы должны быть одинаковых размеров.
🔗 Python tricks
Библиотека ftfy

Библиотека ftfy поможет вам исправить моджибаке, что очень полезно в случаях использования NLP. Помимо этого, ftfy исправит неправильные кодировки, неправильные окончания строк и неправильные кавычки. Согласно документации, ftfy может понимать текст, который был декодирован в любой из следующих кодировок: Latin-1, Windows-1252, Windows-1251, Windows-1250, ISO-8859–2, MacRoman, cp437.

🔗 Python tricks
Bamboolib

Bamboolib — это библиотека для упрощения и ускорения анализа данных в Python, особенно при работе с данными в формате DataFrame. Она предоставляет графический интерфейс для выполнения различных операций с данными, таких как фильтрация, группировка, визуализация и многое другое, без необходимости написания кода. Bamboolib предназначена для упрощения работы с библиотеками Pandas и Jupyter Notebook.

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

🔗 Python tricks
Функция os.listdir()

Функция os.listdir() в Python используется для получения списка файлов и папок в указанной директории. Она возвращает список имен элементов в указанной директории в виде строк.

Замените '/путь/к/директории' на путь к директории, список файлов и папок которой вы хотите получить. Функция os.listdir() вернет список строк с именами элементов в этой директории, и вы можете использовать этот список для дальнейшей обработки файлов и папок в Python.

🔗 Python tricks
Scrubadub

Scrubadub — это библиотека для обнаружения и удаления личной информации (PII) из текста на языке Python. Она может быть полезной при обработке текстовых данных, чтобы защитить конфиденциальность информации.

Этот код обнаружит и удалит PII (номер телефона и адрес электронной почты) из текста и вернет очищенную версию текста.

🔗 Python tricks
Dramatiq

Dramatiq - это библиотека для обработки задач в фоновом режиме в Python. Она предоставляет удобный способ асинхронной обработки задач, таких как отправка электронных писем, обработка изображений, обновление данных и многое другое. Dramatiq разработан для обеспечения простоты использования и производительности.

🔗 Python tricks
NumPy, часть 3: random

Есть несколько способов работы с случайными элементами в NumPy.

Путь первый это создавать списки, используя встроенный модуль random, а затем преобразовывать их в numpy.array.

Второй путь это создание массивов. Самый простой способ задать массив со случайными элементами - использовать функцию sample (или random, или random_sample, или ranf - это всё одна и та же функция).
🔗 Python tricks
NumPy, часть 3: random

Есть несколько способов работы с случайными элементами в NumPy.

Путь первый это создавать списки, используя встроенный модуль random, а затем преобразовывать их в numpy.array.

Второй путь это создание массивов. Самый простой способ задать массив со случайными элементами - использовать функцию sample (или random, или random_sample, или ranf - это всё одна и та же функция).

🔗 Python tricks
NumPy, часть 4: linalg

Теперь же мы приступим к более серьёзным вещам, которые есть в NumPy. Первый на очереди у нас модуль numpy.linalg, позволяющий делать многие операции из линейной алгебры.

Массивы большей размерности в большинстве функций linalg интерпретируются как набор из нескольких массивов нужной размерности. Таким образом, можно одним вызовом функции проделывать операции над несколькими объектами.

🔗 Python tricks