LineaPy
LineaPy — это библиотека для работы с временными рядами и анализа временных данных.
Эта библиотека позволяет быстро решать типовые задачи анализа временных рядов без необходимости "изобретать велосипед".
Она удобна для анализа временных данных в задачах прогнозирования, мониторинга, выявления сезонности, трендов и аномалий. Имеет интуитивный API и хорошую документацию.
В этом примере мы получили прогнозные значения временного ряда на 5 периодов вперед с помощью модели ARIMA из LineaPy за считанные строки кода.
🔗 Python tricks
LineaPy — это библиотека для работы с временными рядами и анализа временных данных.
Эта библиотека позволяет быстро решать типовые задачи анализа временных рядов без необходимости "изобретать велосипед".
Она удобна для анализа временных данных в задачах прогнозирования, мониторинга, выявления сезонности, трендов и аномалий. Имеет интуитивный API и хорошую документацию.
В этом примере мы получили прогнозные значения временного ряда на 5 периодов вперед с помощью модели ARIMA из LineaPy за считанные строки кода.
🔗 Python tricks
Библиотека astropy
astropy — это библиотека для астрономии и астрофизики на Python.
Она содержит функционал для работы с астрономическими данными в разных форматах, включая FITS, ASCII и VOTable.
— Предоставляет классы и утилиты для представления и преобразования координат, дат, времени.
— Содержит поддержку физических величин с общим интерфейсом для работы с единицами измерения.
— Встроены статистические и математические функции, полезные для астрономии.
— Имеются утилиты для чтения данных из астрономических каталогов и баз.
🔗 Python tricks
astropy — это библиотека для астрономии и астрофизики на Python.
Она содержит функционал для работы с астрономическими данными в разных форматах, включая FITS, ASCII и VOTable.
— Предоставляет классы и утилиты для представления и преобразования координат, дат, времени.
— Содержит поддержку физических величин с общим интерфейсом для работы с единицами измерения.
— Встроены статистические и математические функции, полезные для астрономии.
— Имеются утилиты для чтения данных из астрономических каталогов и баз.
аstropy
легко расширяема — можно добавлять собственные пакеты для специфичных задач.🔗 Python tricks
string.encode
Метод encode() возвращает закодированную версию заданной строки. По умолчанию метод encode() не требует никаких параметров. Он возвращает версию строки в кодировке utf-8. В случае сбоя возникает исключение UnicodeDecodeError. Используя метод string encode(), ты можешь конвертировать строки Юникода в любые кодировки, поддерживаемые Python. С помощью параметра errors ты можешь задать ответ при сбое кодирования.
🔗 Python tricks
Метод encode() возвращает закодированную версию заданной строки. По умолчанию метод encode() не требует никаких параметров. Он возвращает версию строки в кодировке utf-8. В случае сбоя возникает исключение UnicodeDecodeError. Используя метод string encode(), ты можешь конвертировать строки Юникода в любые кодировки, поддерживаемые Python. С помощью параметра errors ты можешь задать ответ при сбое кодирования.
🔗 Python tricks
Синтаксис среза
Следует помнить, что взяв элемент по индексу или срезом (slice) мы не как не меняем исходную коллекцию, мы просто скопировали ее часть для дальнейшего использования (например добавления в другую коллекцию, вывода на печать, каких-то вычислений). Поскольку сама коллекция не меняется — это применимо как к изменяемым (список) так и к неизменяемым (строка, кортеж) последовательностям.
🔗 Python tricks
Следует помнить, что взяв элемент по индексу или срезом (slice) мы не как не меняем исходную коллекцию, мы просто скопировали ее часть для дальнейшего использования (например добавления в другую коллекцию, вывода на печать, каких-то вычислений). Поскольку сама коллекция не меняется — это применимо как к изменяемым (список) так и к неизменяемым (строка, кортеж) последовательностям.
🔗 Python tricks
Изменение списка срезом (ч.1)
Важный момент, на котором не всегда заостряется внимание — с помощью среза можно не только получать копию коллекции, но в случае списка можно также менять значения элементов, удалять и добавлять новые.
Даже если хотим добавить один элемент, необходимо передавать итерируемый объект, иначе будет ошибка TypeError: can only assign an iterable
🔗 Python tricks
Важный момент, на котором не всегда заостряется внимание — с помощью среза можно не только получать копию коллекции, но в случае списка можно также менять значения элементов, удалять и добавлять новые.
Даже если хотим добавить один элемент, необходимо передавать итерируемый объект, иначе будет ошибка TypeError: can only assign an iterable
🔗 Python tricks
Изменение списка срезом (ч.2)
Можно менять части последовательности — это применение выглядит наиболее интересным, так как решает задачу просто и наглядно.
🔗 Python tricks
Можно менять части последовательности — это применение выглядит наиболее интересным, так как решает задачу просто и наглядно.
🔗 Python tricks
Именованные срезы
Чтобы избавится от «магических констант», особенно в случае, когда один и тот же срез надо применять многократно, можно задать константы с именованными срезами с пользованием специальной функции slice()()
Примечание: Nonе соответствует опущенному значению по-умолчанию. То есть [:2] становится slice(None, 2), а [1::2] становится slice(1, None, 2).
🔗 Python tricks
Чтобы избавится от «магических констант», особенно в случае, когда один и тот же срез надо применять многократно, можно задать константы с именованными срезами с пользованием специальной функции slice()()
Примечание: Nonе соответствует опущенному значению по-умолчанию. То есть [:2] становится slice(None, 2), а [1::2] становится slice(1, None, 2).
🔗 Python tricks
Конвертация одного типа коллекции в другой
В зависимости от стоящих задач, один тип коллекции можно конвертировать в другой тип коллекции. Для этого, как правило достаточно передать одну коллекцию в функцию создания другой.
🔗 Python tricks
В зависимости от стоящих задач, один тип коллекции можно конвертировать в другой тип коллекции. Для этого, как правило достаточно передать одну коллекцию в функцию создания другой.
🔗 Python tricks
Выход за границы индекса
Обращение по индексу по сути является частным случаем среза, когда мы обращаемся только к одному элементу, а не диапазону. Но есть очень важное отличие в обработке ситуации с отсутствующим элементом с искомым индексом.
Обращение к несуществующему индексу коллекции вызывает ошибку
🔗 Python tricks
Обращение по индексу по сути является частным случаем среза, когда мы обращаемся только к одному элементу, а не диапазону. Но есть очень важное отличие в обработке ситуации с отсутствующим элементом с искомым индексом.
Обращение к несуществующему индексу коллекции вызывает ошибку
🔗 Python tricks
Функция sorted()
Мы может использовать функцию sorted() для вывода списка сортированных элементов любой коллекции для последующее обработки или вывода.
Функция не меняет исходную коллекцию, а возвращает новый список из ее элементов. Не зависимо от типа исходной коллекции, вернётся список (list) ее элементов;
🔗 Python tricks
Мы может использовать функцию sorted() для вывода списка сортированных элементов любой коллекции для последующее обработки или вывода.
Функция не меняет исходную коллекцию, а возвращает новый список из ее элементов. Не зависимо от типа исходной коллекции, вернётся список (list) ее элементов;
🔗 Python tricks
Функция partial
В Python модуль
🔗 Python tricks
В Python модуль
functools
предоставляет функцию partial
, которая позволяет создавать новую функцию путем фиксирования некоторых аргументов существующей функции. Это полезно, когда вы хотите использовать функцию с некоторыми предопределенными аргументами, чтобы уменьшить необходимость повторения кода или улучшить читаемость.functools.partial
позволяет легко создавать адаптированные функции для различных сценариев использования, где часть аргументов остается постоянной, а другие аргументы могут изменяться.🔗 Python tricks
dateparser
dateparser — это библиотека Python, которая предоставляет удобные инструменты для разбора и анализа текстовых дат и времени. Она может автоматически определять формат даты и времени в текстовой строке и преобразовывать его в объект
Обратите внимание, что
🔗 Python tricks
dateparser — это библиотека Python, которая предоставляет удобные инструменты для разбора и анализа текстовых дат и времени. Она может автоматически определять формат даты и времени в текстовой строке и преобразовывать его в объект
datetime
. Это полезно, когда у вас есть текстовые описания дат и времени в разных форматах, и вы хотите их структурировать.Обратите внимание, что
dateparser
может использовать текущую локальную настройку, чтобы определить форматы даты и времени, поэтому результаты могут зависеть от настроек вашей системы. Вы также можете явно указать желаемую локаль с помощью аргумента locales, если это необходимо.🔗 Python tricks
set.union
Метод set.union() возвращает новое множество с различными элементами из всех множеств. Если аргумент не передан в union(), он возвращает поверхностную копию множества.
🔗 Python tricks
Метод set.union() возвращает новое множество с различными элементами из всех множеств. Если аргумент не передан в union(), он возвращает поверхностную копию множества.
🔗 Python tricks
Функция reversed()
Функция reversed() применяется для последовательностей и работает по другому.
Возвращает генератор списка, а не сам список.
Если нужно получить не генератор, а готовый список, результат можно обернуть в list() или же вместо reversed() воспользоваться срезом [: :-1].
🔗 Python tricks
Функция reversed() применяется для последовательностей и работает по другому.
Возвращает генератор списка, а не сам список.
Если нужно получить не генератор, а готовый список, результат можно обернуть в list() или же вместо reversed() воспользоваться срезом [: :-1].
🔗 Python tricks
Методы списка .sort() и .reverse()
У списка (и только у него) есть особые методы .sort() и .reverse() которые делают тоже самое, что соответствующие функции sorted() и reversed(), но при этом:
Меняют сам исходный список, а не генерируют новый.
Возвращают None, а не новый список.
Поддерживают те же дополнительные аргументы;
🔗 Python tricks
У списка (и только у него) есть особые методы .sort() и .reverse() которые делают тоже самое, что соответствующие функции sorted() и reversed(), но при этом:
Меняют сам исходный список, а не генерируют новый.
Возвращают None, а не новый список.
Поддерживают те же дополнительные аргументы;
🔗 Python tricks
Pyppeteer
Pyppeteer — это библиотека для управления браузером с помощью Python с использованием инструмента Puppeteer, который изначально был разработан для Node.js. Puppeteer позволяет автоматизировать взаимодействие с веб-страницами, выполнять сценарии на основе браузера, выполнять скриншоты, создавать PDF-файлы и многое другое.
Pyppeteer предоставляет Python-интерфейс для работы с Puppeteer, и, таким образом, позволяет разработчикам использовать мощные инструменты. Это особенно полезно для автоматизации тестирования веб-приложений, сбора данных с веб-сайтов и других сценариев, требующих взаимодействия с браузером.
🔗 Python tricks
Pyppeteer — это библиотека для управления браузером с помощью Python с использованием инструмента Puppeteer, который изначально был разработан для Node.js. Puppeteer позволяет автоматизировать взаимодействие с веб-страницами, выполнять сценарии на основе браузера, выполнять скриншоты, создавать PDF-файлы и многое другое.
Pyppeteer предоставляет Python-интерфейс для работы с Puppeteer, и, таким образом, позволяет разработчикам использовать мощные инструменты. Это особенно полезно для автоматизации тестирования веб-приложений, сбора данных с веб-сайтов и других сценариев, требующих взаимодействия с браузером.
🔗 Python tricks
pprint()
Функция pprint() предназначена для красивого форматированного вывода данных.
По умолчанию выводит данные с отступами и переносами, чтобы структура была наглядной.
Может принимать ширину вывода в количестве символов для лучшего форматирования.
Имеет параметры
Функционал
🔗 Python tricks
Функция pprint() предназначена для красивого форматированного вывода данных.
pprint()
форматирует произвольные структуры данных, такие как вложенные списки, словари, кортежи для удобочитаемого вывода.По умолчанию выводит данные с отступами и переносами, чтобы структура была наглядной.
Может принимать ширину вывода в количестве символов для лучшего форматирования.
Имеет параметры
depth
и compact
для настройки уровня вложенности и режима компактного вывода.Функционал
pprint()
доступен через модуль pprint
в стандартной библиотеке.🔗 Python tricks
ord()
Функция ord() возвращает целое число, представляющее символ Юникода. Эта функция принимает строку единичной длины в качестве аргумента и возвращает эквивалентность переданного аргумента в Юникоде.
🔗 Python tricks
Функция ord() возвращает целое число, представляющее символ Юникода. Эта функция принимает строку единичной длины в качестве аргумента и возвращает эквивалентность переданного аргумента в Юникоде.
🔗 Python tricks
Устойчивость сортировки
Допустим данные нужно отсортировать сначала по столбцу А по возрастанию, затем по столбцу B по убыванию, и наконец по столбцу C снова по возрастанию.
Если данные в столбце B числовые, то при помощи подходящей функции в key можно поменять знак у элементов B, что приведёт к необходимому результату.
А если все данные текстовые? Тут есть такая возможность.
Дело в том, что сортировка sort в Python устойчивая (начиная с Python 2.2), то есть она не меняет порядок «одинаковых» элементов.
Поэтому можно просто отсортировать три раза по разным ключам.
🔗 Python tricks
Допустим данные нужно отсортировать сначала по столбцу А по возрастанию, затем по столбцу B по убыванию, и наконец по столбцу C снова по возрастанию.
Если данные в столбце B числовые, то при помощи подходящей функции в key можно поменять знак у элементов B, что приведёт к необходимому результату.
А если все данные текстовые? Тут есть такая возможность.
Дело в том, что сортировка sort в Python устойчивая (начиная с Python 2.2), то есть она не меняет порядок «одинаковых» элементов.
Поэтому можно просто отсортировать три раза по разным ключам.
🔗 Python tricks
Дополнительная информация по использованию параметра key при сортировке
Перед тем, как сравнивать два элемента списка к ним применялась функция prepare_item, которая меняла знак у стоимости (функция применяется ровно по одному разу к каждому элементу. В результате при одинаковом первом значении сортировка по второму происходила в обратном порядке.
Чтобы не плодить утилитарные функции, вместо использования сторонней функции, того же эффекта можно добиться с использованием лямбда-функции.
🔗 Python tricks
Перед тем, как сравнивать два элемента списка к ним применялась функция prepare_item, которая меняла знак у стоимости (функция применяется ровно по одному разу к каждому элементу. В результате при одинаковом первом значении сортировка по второму происходила в обратном порядке.
Чтобы не плодить утилитарные функции, вместо использования сторонней функции, того же эффекта можно добиться с использованием лямбда-функции.
🔗 Python tricks