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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
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
None (null)

Существует много случаев, когда следует использовать None.
Часто вы хотите выполнить действие, которое может работать либо завершиться неудачно. Используя None, вы можете проверить успех действия.

Python является объектно-ориентированным, и поэтому None - тоже объект, и имеет свой тип.

🔗 Python tricks
Числа: целые, вещественные, комплексные

Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций. Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти). Над целыми числами также можно производить битовые операции.

Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам. Для высокой точности используют другие объекты (например Decimal и Fraction)). Также вещественные числа не поддерживают длинную арифметику
🔗 Python tricks
Исключения в python. Конструкция try - except для обработки исключений

Исключения (exceptions) - ещё один тип данных в python. Исключения необходимы для того, чтобы сообщать программисту об ошибках.
Самый простейший пример исключения - деление на ноль.

В блоке try мы выполняем инструкцию, которая может породить исключение, а в блоке except мы перехватываем их. При этом перехватываются как само исключение, так и его потомки. Например, перехватывая ArithmeticError, мы также перехватываем FloatingPointError, OverflowError и ZeroDivisionError.
🔗 Python tricks
Файлы. Работа с файлами

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

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

Первый - метод read, читающий весь файл целиком, если был вызван без аргументов, и n символов, если был вызван с аргументом (целым числом n). Ещё один способ сделать это - прочитать файл построчно, воспользовавшись циклом for.
🔗 Python tricks