whylogs
whylogs — это библиотека для мониторинга и аудита машинного обучения.
Она помогает делать ML системы более прозрачными, стабильными и надёжными за счёт постоянного мониторинга и аудита.
Она используется для того, чтобы:
— Отслеживать статистику и метрики моделей и данных в режиме реального времени.
— Выявлять дрейф данных - изменения в распределении данных со временем.
— Собирать примеры исключений и выбросов.
— Проводить аудит моделей и данных в поисках проблем.
— Генерировать автоматические отчёты и визуализации.
— Интегрировать с MLflow, TensorBoard и другими инструментами.
🔗 Python tricks
whylogs — это библиотека для мониторинга и аудита машинного обучения.
Она помогает делать ML системы более прозрачными, стабильными и надёжными за счёт постоянного мониторинга и аудита.
Она используется для того, чтобы:
— Отслеживать статистику и метрики моделей и данных в режиме реального времени.
— Выявлять дрейф данных - изменения в распределении данных со временем.
— Собирать примеры исключений и выбросов.
— Проводить аудит моделей и данных в поисках проблем.
— Генерировать автоматические отчёты и визуализации.
— Интегрировать с MLflow, TensorBoard и другими инструментами.
🔗 Python tricks
Точка входа в программу
Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля.
Эта конструкция позволяет запустить какой-то код только при прямом вызове модуля, так как name будет равно 'main' только если модуль запущен напрямую.
Это позволяет запускать программу полностью только когда она основная, а не импортируется в качестве модуля.
🔗 Python tricks
Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля.
Эта конструкция позволяет запустить какой-то код только при прямом вызове модуля, так как name будет равно 'main' только если модуль запущен напрямую.
Это позволяет запускать программу полностью только когда она основная, а не импортируется в качестве модуля.
🔗 Python tricks
Переименование файлов в Python
rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.
Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.
Также позволяет перемещать файлы между разными директориями.
🔗 Python tricks
rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.
Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.
Также позволяет перемещать файлы между разными директориями.
🔗 Python tricks
Тернарный оператор
Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия
— Для присваивания переменной
🔗 Python tricks
Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия
a > b
.— Для присваивания переменной
result
одного из двух значений в зависимости от четности a
.🔗 Python tricks
Оператор pass
Оператор
Она может применяться в следующих ситуациях:
— Заглушка для незавершенных блоков кода. Если написано только определение функции или класса, но нет тела - можно вставить
— Пустые блоки в циклах. Вместо тела цикла можно написать
— Пропускать блоки кода в условных конструкциях. Если в ветви if-else ничего делать не нужно, можно использовать
— Создание абстрактных базовых классов и заготовок методов, которые будут переопределены позже в подклассах.
— Обозначение функций или классов, которые планируется реализовать в будущем.
Как видно из примера, все числа от 0 до 9 выводятся кроме 5.
🔗 Python tricks
Оператор
pass
— это особая конструкция, которая не делает ничего. Она может применяться в следующих ситуациях:
— Заглушка для незавершенных блоков кода. Если написано только определение функции или класса, но нет тела - можно вставить
pass
, чтобы код был допустимым синтаксически.— Пустые блоки в циклах. Вместо тела цикла можно написать
pass
, если на данном этапе нет необходимости выполнять какие-либо действия. — Пропускать блоки кода в условных конструкциях. Если в ветви if-else ничего делать не нужно, можно использовать
pass
.— Создание абстрактных базовых классов и заготовок методов, которые будут переопределены позже в подклассах.
— Обозначение функций или классов, которые планируется реализовать в будущем.
Как видно из примера, все числа от 0 до 9 выводятся кроме 5.
🔗 Python tricks
raise
Конструкция
Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой
Например:
После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.
В этом примере функция
🔗 Python tricks
Конструкция
raise
используется для генерации исключений.Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой
raise
.Например:
raise ValueError('Invalid value')Здесь мы генерируем исключение ValueError с сообщением об ошибке.
После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.
В этом примере функция
calculate_discount
проверяет входные данные. Если скидка меньше 0 или больше 100 — с помощью raise
генерируется исключение ValueError с сообщением.🔗 Python tricks
string.isnumeric
Метод isnumeric() проверяет, все ли символы в строке являются числовыми. Возвращает True, если все символы являются числовыми. В противном случае – False. В данном примере для symbol number возвращается True, так как “012345” являются числами. Для text возвращается False.
🔗 Python tricks
Метод isnumeric() проверяет, все ли символы в строке являются числовыми. Возвращает True, если все символы являются числовыми. В противном случае – False. В данном примере для symbol number возвращается True, так как “012345” являются числами. Для text возвращается False.
🔗 Python tricks
Set.add
Метод add() добавляет заданный элемент в множество. Если элемент уже присутствует, он не добавляет никакого элемента. Ты также можешь добавить кортежи в множество. Как и в случае с обычными элементами, один и тот же кортеж можно добавить только один раз.
🔗 Python tricks
Метод add() добавляет заданный элемент в множество. Если элемент уже присутствует, он не добавляет никакого элемента. Ты также можешь добавить кортежи в множество. Как и в случае с обычными элементами, один и тот же кортеж можно добавить только один раз.
🔗 Python tricks
Проверьте, удовлетворяет ли каждый элемент списка какому-либо условию
Мы можем легко и быстро проверить, соответствует ли каждый элемент списка определенному условию. Это полезно для проверки свойств или характеристик всех элементов списка перед выполнением определенных операций с ними.
🔗 Python tricks
Мы можем легко и быстро проверить, соответствует ли каждый элемент списка определенному условию. Это полезно для проверки свойств или характеристик всех элементов списка перед выполнением определенных операций с ними.
🔗 Python tricks
Группируйте различные элементы в списке на основе некоторого условия и превращайте его в словарь.
Польза данного метода заключается в том, что это позволяет удобно организовать данные по какому-то критерию (в данном случае, четность/нечетность чисел) и быстро обращаться к сгруппированным элементам по ключам словаря. Это упрощает работу с данными и позволяет легко выполнять операции над группами элементов.
🔗 Python tricks
Польза данного метода заключается в том, что это позволяет удобно организовать данные по какому-то критерию (в данном случае, четность/нечетность чисел) и быстро обращаться к сгруппированным элементам по ключам словаря. Это упрощает работу с данными и позволяет легко выполнять операции над группами элементов.
🔗 Python tricks
Сортировать список, используя другой список в качестве индексов
Плюс использования этого метода заключается в том, что вы можете определить специальный порядок сортировки, указывая индексы элементов списка. Например, это может быть полезно при сортировке элементов по какому-то признаку или условию, представленному в другом списке.
🔗 Python tricks
Плюс использования этого метода заключается в том, что вы можете определить специальный порядок сортировки, указывая индексы элементов списка. Например, это может быть полезно при сортировке элементов по какому-то признаку или условию, представленному в другом списке.
🔗 Python tricks
list.sort
Метод sort() сортирует элементы списка по возрастанию или убыванию. В качестве альтернативы ты можешь использовать встроенную функцию sorted() для той же цели.
🔗 Python tricks
Метод sort() сортирует элементы списка по возрастанию или убыванию. В качестве альтернативы ты можешь использовать встроенную функцию sorted() для той же цели.
🔗 Python tricks
Инвертировать словарь
Этот код инвертирует словарь original_dict, сопоставляя значения ключам и наоборот, создавая новый словарь inverted_dict.
🔗 Python tricks
Этот код инвертирует словарь original_dict, сопоставляя значения ключам и наоборот, создавая новый словарь inverted_dict.
🔗 Python tricks
Реализуйте перетасовку списков без использования готовых функций
Используем алгоритм Фишера-Йейтса. Он создает беспристрастные случайные перестановки списков, что часто имеет решающее значение для выборки. Популяризированный Кнутом, он беспристрастен, имеет оптимальную линейную эффективность по времени; использует постоянное пространство; и является инкрементным.
🔗 Python tricks
Используем алгоритм Фишера-Йейтса. Он создает беспристрастные случайные перестановки списков, что часто имеет решающее значение для выборки. Популяризированный Кнутом, он беспристрастен, имеет оптимальную линейную эффективность по времени; использует постоянное пространство; и является инкрементным.
🔗 Python tricks
Комбинируйте словарные значения
Defaultdict — это подкласс класса словаря, который возвращает объект, подобный словарю. Чем это отличается от обычного словаря? Хотя словарь и словарь по умолчанию почти идентичны, последний позволяет нам избежать KeyErrors. Другими словами, он предоставляет значение по умолчанию для несуществующего ключа. Эта характеристика defaultdictionary упрощает следующие операции.
🔗 Python tricks
Defaultdict — это подкласс класса словаря, который возвращает объект, подобный словарю. Чем это отличается от обычного словаря? Хотя словарь и словарь по умолчанию почти идентичны, последний позволяет нам избежать KeyErrors. Другими словами, он предоставляет значение по умолчанию для несуществующего ключа. Эта характеристика defaultdictionary упрощает следующие операции.
🔗 Python tricks
tell()
Метод
При открытии файла указатель текущей позиции находится в начале. По мере чтения/записи он смещается.
Чтобы узнать текущее значение этого смещения, применяется метод
Это позволяет:
— Узнать размер файла, сравнив позицию после чтения с начальной.
— Вернуться к определенной позиции с помощью
— Отслеживать прогресс обработки больших файлов.
— Получить позицию в строковых буферах и потоках байтов.
Метод
🔗 Python tricks
Метод
tell()
используется для получения текущей позиции (смещения) при работе с файлами и файлоподобными объектами.При открытии файла указатель текущей позиции находится в начале. По мере чтения/записи он смещается.
Чтобы узнать текущее значение этого смещения, применяется метод
tell()
.Это позволяет:
— Узнать размер файла, сравнив позицию после чтения с начальной.
— Вернуться к определенной позиции с помощью
seek()
.— Отслеживать прогресс обработки больших файлов.
— Получить позицию в строковых буферах и потоках байтов.
Метод
tell()
возвращает текущую позицию в файле в байтах от начала.🔗 Python tricks
Распечатайте все комбинации списка
Пакет Itertools, как следует из названия, содержит множество функций, включающих итерации. Комбинации также требуют итераций и поэтому включены в этот пакет в двух разных формах (т.е. combinations, combinations_with_replacement) в зависимости от того, что именно вы ищете. Itertools также является пакетом по умолчанию в Python.
🔗 Python tricks
Пакет Itertools, как следует из названия, содержит множество функций, включающих итерации. Комбинации также требуют итераций и поэтому включены в этот пакет в двух разных формах (т.е. combinations, combinations_with_replacement) в зависимости от того, что именно вы ищете. Itertools также является пакетом по умолчанию в Python.
🔗 Python tricks
Самый частый элемент в списке
Функция Counter из пакета Collections удобна для отслеживания количества различных элементов в списке. Пакет Collections является пакетом по умолчанию и поэтому не требует дополнительной установки, если у вас уже установлен Python.
🔗 Python tricks
Функция Counter из пакета Collections удобна для отслеживания количества различных элементов в списке. Пакет Collections является пакетом по умолчанию и поэтому не требует дополнительной установки, если у вас уже установлен Python.
🔗 Python tricks
Деструкторы
Деструкторы используются для освобождения ресурсов, занятых объектом, перед уничтожением самого объекта.
Деструктор определяется методом
Используется в основном для закрытия файлов, подключений к БД.
Применение деструкторов ограничено в связи с наличием сборщика мусора. Их стоит использовать только когда нужно правильно освободить внешние ресурсы, например файлы.
🔗 Python tricks
Деструкторы используются для освобождения ресурсов, занятых объектом, перед уничтожением самого объекта.
Деструктор определяется методом
__del__()
в классе и вызывается, когда счетчик ссылок на объект достигает нуля. Используется в основном для закрытия файлов, подключений к БД.
Применение деструкторов ограничено в связи с наличием сборщика мусора. Их стоит использовать только когда нужно правильно освободить внешние ресурсы, например файлы.
🔗 Python tricks
Humanize
Humanize — это библиотека, которая предоставляет функции для более удобочитаемого форматирования данных.
Основные возможности:
— Преобразование чисел в удобочитаемые строки.
— Форматирование дат и времени в понятные фразы типа "3 дня назад".
— Преобразование идентификаторов в удобные для чтения слоги.
— Сокращение длинных строк по словам для компактного отображения.
Humanize полезен в приложениях, где нужно отображать данные в интерфейсе:
— Веб-приложения для отображения статистики.
— Информационные табло и панели мониторинга.
— Системы аналитики для визуализации данных.
— CLI-интерфейсы для вывода данных пользователю.
Использование Humanize позволяет сделать отображение данных более естественным и понятным для человека. Это улучшает user experience приложения.
🔗 Python tricks
Humanize — это библиотека, которая предоставляет функции для более удобочитаемого форматирования данных.
Основные возможности:
— Преобразование чисел в удобочитаемые строки.
— Форматирование дат и времени в понятные фразы типа "3 дня назад".
— Преобразование идентификаторов в удобные для чтения слоги.
— Сокращение длинных строк по словам для компактного отображения.
Humanize полезен в приложениях, где нужно отображать данные в интерфейсе:
— Веб-приложения для отображения статистики.
— Информационные табло и панели мониторинга.
— Системы аналитики для визуализации данных.
— CLI-интерфейсы для вывода данных пользователю.
Использование Humanize позволяет сделать отображение данных более естественным и понятным для человека. Это улучшает user experience приложения.
🔗 Python tricks