Работа с методом str.replace() в Python
Метод принимает два основных аргумента: первый - это подстрока, которую нужно заменить в исходной строке, а второй - это подстрока, на которую происходит замена.
Кроме того, существует третий необязательный аргумент, определяющий количество замен старой подстроки на новую. Если он не указан, метод заменяет все вхождения.
#python #replace
Python
предлагает множество удобных встроенных методов для работы со строками. Один из таких методов - str.replace()
, который используется для замены частей строки.Метод принимает два основных аргумента: первый - это подстрока, которую нужно заменить в исходной строке, а второй - это подстрока, на которую происходит замена.
Кроме того, существует третий необязательный аргумент, определяющий количество замен старой подстроки на новую. Если он не указан, метод заменяет все вхождения.
#python #replace
dateparser
Обратите внимание, что
#python #dateparser
dateparser
— это библиотека Python
, предоставляющая удобные инструменты для разбора и анализа текстовых дат и времени. Она автоматически определяет формат даты и времени в текстовой строке и преобразует его в объект datetime
. Это особенно полезно, когда у вас есть текстовые описания дат и времени в различных форматах, и вы хотите их структурировать.Обратите внимание, что
dateparser
может использовать текущие локальные настройки для определения форматов даты и времени, поэтому результаты могут зависеть от настроек вашей системы. Вы также можете явно указать нужную локаль с помощью аргумента locales
, если это необходимо.#python #dateparser
NetworkX
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
#python
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
#python
Forwarded from Норникель
Please open Telegram to view this post
VIEW IN TELEGRAM
Вычисляем размер объектов в памяти
Чтобы вычислить размер какого-либо объекта, можно воспользоваться функцией
Однако, следует помнить, что хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.
Аргумент
Функция
#sys #sizeof #oop
Чтобы вычислить размер какого-либо объекта, можно воспользоваться функцией
sys.getsizeof(object[, default])
. Поскольку Python написан в полном соответствии с парадигмой ООП, таким объектом может быть все что угодно.Однако, следует помнить, что хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.
Аргумент
default
позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError
.Функция
getsizeof
вызывает метод __sizeof__
объекта и добавляет дополнительные служебные данные сборщика мусора, если конечно объект управляется сборщиком мусора.#sys #sizeof #oop
Data Scientist (Pricing) в Lamoda Tech
Мы в поиске Data Scientist в команду Pricing.
Чем предстоит заниматься:
— Развивать систему динамического ценообразования;
— Заниматься построением системы конкурентного ценообразования (матчинг), включающей в себя как модели DL (NLP/CV), так и классический ML;
— Использовать модели эластичности в других бизнес продуктах: ранжировании, пополнении стока, промо (купоны) и персональном ценообразовании;
— Предлагать новые инициативы, связанные с развитием data-driven подхода в отделе коммерции.
Стэк технологий: Big data (Hadoop, PySpark, Hive), Python, Catboost, Airflow, Docker, SQL, PyTorch.
Почему у нас классно:
— Хорошо выстроенные процессы: квартальное планирование по методологии OKR, двухнедельные спринты, регулярные стендапы и проектные встречи для синхронизации;
— Сильная команда middle и senior специалистов, развитое DS-сообщество, где есть возможность обмениваться знаниями на внутренних митапах;
— У нас представлен полный жизненный цикл разработки data-driven продуктов с применением ML — от идеи и генерации гипотез до запуска АБ тестов. В части разработки онлайн-сервисов и деплоя моделей нам помогает команда инженеров.
Мы ожидаем:
— Опыт в области анализа данных и машинного обучения (от 2 лет);
— Опыт работы с SQL, Hadoop, Hive, Spark;
— Владение Python, Linux, методами работы с большими данными;
— Опыт работы как минимум с 2 ML библиотеками: Scikit-learn, CatBoost/XGBoost, PyTorch, Spark ML;
— Знания теории вероятностей и математической статистики;
— Знания в области машинного обучения, прогнозного моделирования и методов статистического анализа;
— Знание алгоритмов и структур данных;
— Высшее образование в области прикладной математики, информационных технологий, информатики и т.п;
• Английский язык на уровне технического чтения.
Как мы работаем:
— Пишем на Python 3.6+ и PySpark 3.0;
— Для ресерча доступны два сервера (80 cores, 650Gb RAM), на которых развернут JupyrerHub и есть доступ к Hadoop-кластеру;
— Код с логикой ML-пайплайнов упаковываем в Docker и выкатываем, используя CI/CD-инструменты с запуском code style проверок и тестов;
— Используем Airflow для управления ML-пайплайнами и запуском их по расписанию;
— В командах есть культура code review как для изменений по части продакшен-пайплайнов, так и для ресерч-задач;
— Регулярно проводим командные брейнштормы с целью генерации новых идей по развитию наших data-driven продуктов;
— В компании внедрена культура принятия решений на основании данных и все изменения тестируем через АБ-эксперименты.
Откликнуться: https://budu.jobs/vacancy/b26cd0da-148a-431f-a0df-d24cafb78907?vlid=f53038bd-4efd-47d6-8db1-7f01081528ca
Мы в поиске Data Scientist в команду Pricing.
Чем предстоит заниматься:
— Развивать систему динамического ценообразования;
— Заниматься построением системы конкурентного ценообразования (матчинг), включающей в себя как модели DL (NLP/CV), так и классический ML;
— Использовать модели эластичности в других бизнес продуктах: ранжировании, пополнении стока, промо (купоны) и персональном ценообразовании;
— Предлагать новые инициативы, связанные с развитием data-driven подхода в отделе коммерции.
Стэк технологий: Big data (Hadoop, PySpark, Hive), Python, Catboost, Airflow, Docker, SQL, PyTorch.
Почему у нас классно:
— Хорошо выстроенные процессы: квартальное планирование по методологии OKR, двухнедельные спринты, регулярные стендапы и проектные встречи для синхронизации;
— Сильная команда middle и senior специалистов, развитое DS-сообщество, где есть возможность обмениваться знаниями на внутренних митапах;
— У нас представлен полный жизненный цикл разработки data-driven продуктов с применением ML — от идеи и генерации гипотез до запуска АБ тестов. В части разработки онлайн-сервисов и деплоя моделей нам помогает команда инженеров.
Мы ожидаем:
— Опыт в области анализа данных и машинного обучения (от 2 лет);
— Опыт работы с SQL, Hadoop, Hive, Spark;
— Владение Python, Linux, методами работы с большими данными;
— Опыт работы как минимум с 2 ML библиотеками: Scikit-learn, CatBoost/XGBoost, PyTorch, Spark ML;
— Знания теории вероятностей и математической статистики;
— Знания в области машинного обучения, прогнозного моделирования и методов статистического анализа;
— Знание алгоритмов и структур данных;
— Высшее образование в области прикладной математики, информационных технологий, информатики и т.п;
• Английский язык на уровне технического чтения.
Как мы работаем:
— Пишем на Python 3.6+ и PySpark 3.0;
— Для ресерча доступны два сервера (80 cores, 650Gb RAM), на которых развернут JupyrerHub и есть доступ к Hadoop-кластеру;
— Код с логикой ML-пайплайнов упаковываем в Docker и выкатываем, используя CI/CD-инструменты с запуском code style проверок и тестов;
— Используем Airflow для управления ML-пайплайнами и запуском их по расписанию;
— В командах есть культура code review как для изменений по части продакшен-пайплайнов, так и для ресерч-задач;
— Регулярно проводим командные брейнштормы с целью генерации новых идей по развитию наших data-driven продуктов;
— В компании внедрена культура принятия решений на основании данных и все изменения тестируем через АБ-эксперименты.
Откликнуться: https://budu.jobs/vacancy/b26cd0da-148a-431f-a0df-d24cafb78907?vlid=f53038bd-4efd-47d6-8db1-7f01081528ca
Docxtpl
Библиотека поддерживает различные типы данных и позволяет использовать сложные шаблоны, что делает её мощным инструментом для автоматизации создания документов.
#docxtpl
Docxtpl
— это библиотека Python, которая позволяет генерировать Word-документы на основе шаблонов. С её помощью можно легко создавать динамические документы, вставляя данные из Python в шаблон docx
. Библиотека поддерживает различные типы данных и позволяет использовать сложные шаблоны, что делает её мощным инструментом для автоматизации создания документов.
#docxtpl
PyJWT: Работаем с JSON Web Tokens в Python
В этом примере мы создаём JWT, который содержит идентификатор пользователя и срок его действия. Затем мы декодируем и проверяем токен, чтобы убедиться, что он ещё действителен и подлинен.
#python #pyjwt
PyJWT
— это библиотека Python
, предназначенная для кодирования, декодирования и проверки подлинности JSON Web Tokens (JWT)
.JWT
— это открытый стандарт (RFC 7519), который определяет компактный и независимый способ безопасной передачи информации между сторонами в виде JSON-объекта. Эта информация может быть проверена и доверена, так как она подписана цифровой подписью.В этом примере мы создаём JWT, который содержит идентификатор пользователя и срок его действия. Затем мы декодируем и проверяем токен, чтобы убедиться, что он ещё действителен и подлинен.
#python #pyjwt
Работа с аргументами и параметрами командной строки
В
Для начала нужно создать объект парсера
Первым параметром метод
После добавления всех аргументов их нужно спарсить с помощью метода
#python #argparse
В
Python
для обработки передаваемых аргументов и создания удобного интерфейса командной строки существует отличный модуль argparse
.Для начала нужно создать объект парсера
ArgumentParser
, в который можно добавить аргументы с необходимыми параметрами с помощью метода add_argument
.Первым параметром метод
add_argument
принимает либо имя обязательного позиционного аргумента, либо список опциональных аргументов (опциональные аргументы идентифицируются через -). Также у add_argument
есть множество необязательных опциональных параметров для работы с передаваемыми значениями аргумента.После добавления всех аргументов их нужно спарсить с помощью метода
parse_args
. На выходе получится объект, содержащий все переданные аргументы.#python #argparse
Центральный университет совместно с Авито запускает свою первую стипендиальную программу
Программу по выплатам стипендий в Центральном Университете Авито открывает в рамках собственного проекта по системной подготовке кадров в области ИИ и в IT-отрасли в целом. Стипендияпредоставляется студентам, изучающим специализации "Искусственный интеллект", "Разработка" и "Бизнес и Аналитика" на уровне бакалавриата.
Принять участие в отборе на стипендию смогут будущие первокурсники университета, успешно справившиеся с кейс-заданиями. Программа рассчитана на 2 года с возможностью продления. Общий фонд стипендии составит не менее 5 миллионов рублей, и для ее сохранения со второго по четвертый семестры студентам необходима хорошая успеваемость.
Конкурс на получение стипендии начнется в июле, а результаты будут объявлены в августе. Дополнительную информацию и условия участия можно найти на официальном сайте Центрального Университета.
Программу по выплатам стипендий в Центральном Университете Авито открывает в рамках собственного проекта по системной подготовке кадров в области ИИ и в IT-отрасли в целом. Стипендияпредоставляется студентам, изучающим специализации "Искусственный интеллект", "Разработка" и "Бизнес и Аналитика" на уровне бакалавриата.
Принять участие в отборе на стипендию смогут будущие первокурсники университета, успешно справившиеся с кейс-заданиями. Программа рассчитана на 2 года с возможностью продления. Общий фонд стипендии составит не менее 5 миллионов рублей, и для ее сохранения со второго по четвертый семестры студентам необходима хорошая успеваемость.
Конкурс на получение стипендии начнется в июле, а результаты будут объявлены в августе. Дополнительную информацию и условия участия можно найти на официальном сайте Центрального Университета.
PyQt6
#python #pyqt #pyqt6
PyQt6
— это библиотека на Python
для создания графических интерфейсов (GUI), связывающая Python с Qt. Она предоставляет широкий набор виджетов и функциональностей для создания кроссплатформенных приложений.PyQt6
поддерживает современные стандарты, включая Qt Quick, для разработки интерактивных интерфейсов. Библиотека легко интегрируется с другими фреймворками Python, что делает её подходящей для сложных проектов.#python #pyqt #pyqt6
Упрощенная работа с JSON
Казалось бы, куда еще проще, но есть один интересный пакет
Основные примеры использования показаны на картинке, там нет ничего сложного. Метод
Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации.
#json #jmespath
Казалось бы, куда еще проще, но есть один интересный пакет
JMESpath
, который позволяет декларативно указать, как извлекать элементы из документа JSON. Основные примеры использования показаны на картинке, там нет ничего сложного. Метод
search
принимает паттерн, по которому требуется извлечь данные, а также словарь (который в общем-то похож на JSON). Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации.
#json #jmespath
Метод isspace()
Метод
Примечание:
#python
Метод
isspace()
— это строковый метод, который используется для проверки, состоит ли строка только из пробельных символов (пробелов, символов табуляции, символов новой строки и других символов, которые считаются «пробельными» в контексте языка Python).Примечание:
isspace()
не изменяет исходную строку, а просто возвращает булево значение в зависимости от условия.#python
frozenset
Вот несколько ключевых особенностей
Неизменяемость: Это означает, что вы не можете добавлять, удалять или изменять элементы в
Хешируемость: Поскольку
Обратите внимание, что, поскольку
#python
frozenset
представляет собой неизменяемое множество. Основное отличие между set
и frozenset
заключается в том, что set является изменяемым типом данных, тогда как frozenset
не может быть изменен после создания.Вот несколько ключевых особенностей
frozenset
:Неизменяемость: Это означает, что вы не можете добавлять, удалять или изменять элементы в
frozenset
после его создания.Хешируемость: Поскольку
frozenset
неизменяем, он является хешируемым, что означает, что его можно использовать в качестве ключа в словарях и элемента множества.Обратите внимание, что, поскольку
frozenset
не поддерживает изменения, некоторые методы, которые изменяют множество (например, add
, remove
, discard
), не применимы к frozenset
. Однако, вы можете выполнять операции, возвращающие новые frozenset
, такие как объединение и пересечение.#python
Слайсы
Слайс (или срез, англ. slice) — это способ выбрать часть последовательности (например, строки, списка, кортежа) путем указания начального и конечного индексов, а также шага. Слайсы используются для извлечения подстрок, подсписков или подкортежей из исходной последовательности.
Слайсы полезны для работы с большими последовательностями данных и предоставляют удобный способ извлечения нужных элементов из них.
#python #slice
Слайс (или срез, англ. slice) — это способ выбрать часть последовательности (например, строки, списка, кортежа) путем указания начального и конечного индексов, а также шага. Слайсы используются для извлечения подстрок, подсписков или подкортежей из исходной последовательности.
Слайсы полезны для работы с большими последовательностями данных и предоставляют удобный способ извлечения нужных элементов из них.
#python #slice
Считаем ссылки на объект
В
Счетчик ссылок — это то, что помогает при проверке того, следует ли выполнять сборку мусора или нет. Сборщик мусора удаляет объект из памяти в случае, если на него ничего не ссылается.
Если на объект ссылается другой объект, то он имеет ненулевое значение ссылок и не может быть собран как мусор (если, конечно, вы не удалите вручную).
В примере выше продемонстрирован простой способ, как можно посмотреть количество ссылок у объекта.
#python #ctypes
В
Python
практически никогда не нужно волноваться об управлении памятью, потому что все это делается автоматически.Счетчик ссылок — это то, что помогает при проверке того, следует ли выполнять сборку мусора или нет. Сборщик мусора удаляет объект из памяти в случае, если на него ничего не ссылается.
Если на объект ссылается другой объект, то он имеет ненулевое значение ссылок и не может быть собран как мусор (если, конечно, вы не удалите вручную).
В примере выше продемонстрирован простой способ, как можно посмотреть количество ссылок у объекта.
#python #ctypes
GigaConf 2024: Искусственный интеллект в фокусе разработки программного обеспечения
На предстоящей технологической конференции GigaConf, которая пройдет в Москве, значительное внимание будет уделено роли искусственного интеллекта в разработке программного обеспечения. Об этом стало известно из интервью старшего вице-президента и руководителя блока «Технологическое развитие» Сбербанка Андрея Белевцева, опубликованного в период ПМЭФ в газете «Ведомости».
Андрей Белевцев подчеркнул, что последние достижения в области ИИ становятся возможными благодаря усилиям исследовательских групп. Он также отметил растущий вклад российских ученых в мировую науку, приведя пример более чем 90 научных публикаций от сотрудников Сбера и их партнеров за прошлый год. «Сбер» планирует продолжать поддержку научных исследований, и данная тема окажется в центре внимания на GigaConf.
Конференция состоится 27 июня в креативном пространстве «Дизайн-завод» в Москве. Более 50 спикеров из IT-индустрии обсудят тренды в разработке программного обеспечения, с особым акцентом на применении AI и Open Source-технологий. Участники смогут увидеть, как новейшие инструменты влияют на усовершенствование процессов разработки, на реальных примерах и кейсах.
Для подробной информации о мероприятии и регистрации посетите официальный сайт конференции GigaConf.
На предстоящей технологической конференции GigaConf, которая пройдет в Москве, значительное внимание будет уделено роли искусственного интеллекта в разработке программного обеспечения. Об этом стало известно из интервью старшего вице-президента и руководителя блока «Технологическое развитие» Сбербанка Андрея Белевцева, опубликованного в период ПМЭФ в газете «Ведомости».
Андрей Белевцев подчеркнул, что последние достижения в области ИИ становятся возможными благодаря усилиям исследовательских групп. Он также отметил растущий вклад российских ученых в мировую науку, приведя пример более чем 90 научных публикаций от сотрудников Сбера и их партнеров за прошлый год. «Сбер» планирует продолжать поддержку научных исследований, и данная тема окажется в центре внимания на GigaConf.
Конференция состоится 27 июня в креативном пространстве «Дизайн-завод» в Москве. Более 50 спикеров из IT-индустрии обсудят тренды в разработке программного обеспечения, с особым акцентом на применении AI и Open Source-технологий. Участники смогут увидеть, как новейшие инструменты влияют на усовершенствование процессов разработки, на реальных примерах и кейсах.
Для подробной информации о мероприятии и регистрации посетите официальный сайт конференции GigaConf.
Сокращение ссылок с помощью PyShorteners
Вы наверняка сталкивались с сервисами по сокращению ссылок, даже если никогда не использовали их сами. Сокращённые ссылки часто встречаются в описаниях к видео на YouTube, в статьях и на множестве других ресурсов в интернете.
Создание сокращенной ссылки может показаться сложной задачей, но на самом деле это можно сделать всего за три строчки кода с помощью библиотеки
#python #pyshorteners
Вы наверняка сталкивались с сервисами по сокращению ссылок, даже если никогда не использовали их сами. Сокращённые ссылки часто встречаются в описаниях к видео на YouTube, в статьях и на множестве других ресурсов в интернете.
Создание сокращенной ссылки может показаться сложной задачей, но на самом деле это можно сделать всего за три строчки кода с помощью библиотеки
PyShorteners
, пример кода можно найти на фото.#python #pyshorteners
Обрабатываем номера телефонов
Пакет
Основным классом, который представляет номер, является
В целом, пакет использовать достаточно просто, базовые примеры есть на картинке. Также можете посмотреть документацию для более продвинутого использования.
#python #phonenumbers
Пакет
phonenumbers
основан на библиотеке libphonenumber от Google, которая позволяет форматировать, парсить и проверять номера телефонов.Основным классом, который представляет номер, является
PhoneNumber
. Объект можно создать, вызвав метод parse()
и передав в аргументы номер телефона в виде строки. Вторым аргументом также можно указать страну.В целом, пакет использовать достаточно просто, базовые примеры есть на картинке. Также можете посмотреть документацию для более продвинутого использования.
#python #phonenumbers