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
Kibana

Kibana — это инструмент визуализации данных, который обычно используется совместно с Elasticsearch для анализа и визуализации данных, хранящихся в Elasticsearch. Kibana предоставляет веб-интерфейс для создания и настройки дашбордов, графиков, таблиц и других визуальных элементов, позволяя пользователям анализировать данные и мониторить состояние системы.

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

🔗 Python tricks
pandas.pivot_table()

pandas.pivot_table() — это функция в библиотеке Pandas для создания сводных таблиц (pivot tables) из данных в формате DataFrame. Сводная таблица позволяет агрегировать, суммировать, усреднять и выполнять другие операции над данными в DataFrame для создания более удобного и структурированного представления данных.

Вот её базовый синтаксис:

import pandas as pd

pivot_table = pd.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, margins_name='All')

data: DataFrame, из которого вы хотите создать сводную таблицу.
values: Опционально, столбцы, по которым вы хотите провести агрегацию.
index: Опционально, столбцы, которые будут использоваться в качестве индексов сводной таблицы.
columns: Опционально, столбцы, которые будут использоваться в качестве столбцов сводной таблицы.
aggfunc: Опционально, функция, которая будет применяться к данным при агрегации. По умолчанию используется mean.

🔗 Python tricks
Модуль bisect

Модуль bisect позволяет вызывать различные методы в списке Python и помогает сохранять список отсортированным. Это особенно полезно, если вы хотите изменить элементы списка, но в то же время сохранить его порядок. Например, если вы хотите вставить элемент в список, метод bisect вернет индекс, в который можно вставить новый элемент таким образом, чтобы после вставки список оставался отсортированным.
🔗 Python tricks
Модуль collections

Модуль collections является частью стандартной библиотеки Python и предоставляет удобные и эффективные альтернативы встроенным типам данных, таким как списки, словари и множества. Он содержит множество классов и функций, которые упрощают работу с различными структурами данных, такими как namedtuple, deque, Counter, defaultdict, OrderedDict, ChainMap, UserList, UserDict и UserString.
🔗 Python tricks
Генераторы словарей и множеств

Различия между генераторами словарей и списков. Состоит в парах ключ-значение. Такие генераторы удобны для начальной инициализации значений последовательностей.
🔗 Python tricks
Списковые включения

Понятие «list comprehensions» это такой способ уместить цикл for, блок if и присваивание в одну строку.

Если возвести в квадрат все элементы списка. Функция map принимает в качестве аргументов функцию и список и применяет функцию к каждому элементу списка.
🔗 Python tricks
Модуль 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