Учимся находить лучшее для своего разбойника при помощи программирования. Также разбираемся, не водит ли нас программа «за нос».
Рубрика «python» - 74
Как на Python подобрать экипировку для игрового перса
2020-04-05 в 15:23, admin, рубрики: python, rpg, world of warcraft, анализ, игры, Игры и игровые приставки, комбинаторикаETL процесс получения данных из электронной почты в Apache Airflow
2020-04-04 в 15:19, admin, рубрики: Apache Airflow, data engineering, etl, pythonКак бы сильно не развивались технологии, за развитием всегда тянется вереница устаревших подходов. Это может быть обусловлено плавным переходом, человеческим фактором, технологическими необходимостями или чем-то другим. В области обработки данных наиболее показательными в этой части являются источники данных. Как бы мы не мечтали от этого избавиться, но пока часть данных пересылается в мессенджерах и электронных письмах, не говоря и про более архаичные форматы. Приглашаю под кат разобрать один из вариантов для Apache Airflow, иллюстрирующий, как можно забирать данные из электронных писем.
Создание Python-обвязки для библиотек, написанных на C-C++, с помощью SIP. Часть 2
2020-04-04 в 7:34, admin, рубрики: C, c++, python, python bindings, sipВ первой части статьи мы рассмотрели основы работы с утилитой SIP, предназначенной для создания Python-обвязок (Python bindings) для библиотек, написанных на языках C и C++. Мы рассмотрели основные файлы, которые нужно создать для работы с SIP и начали рассматривать директивы и аннотации. До сих пор мы делали обвязку для простой библиотеки, написанной на языке C. В этой части мы разберемся, как делать обвязку для библиотеки на языке C++, которая содержит классы. На примере этой библиотеки мы посмотрим, какие приемы могут быть полезны при работе с объектно-ориентированной библиотекой, а заодно разберемся с новыми для нас директивами и аннотациями.
Читать полностью »
Перспективны ли просевшие акции? Проанализируем с помощью python
2020-04-03 в 21:00, admin, рубрики: DataFrame, python, акции компаний, анализ данных, Московская Биржа, финансовый анализПроанализируем динамику акций аутсайдеров и лидеров
Недавно прочитал статью о том, что акции-аутсайдеры (те, что максимально упали в цене за месяц) индекса Мосбиржи имеют бОльшие перспективы роста, нежели в среднем по индексу.
В данном исследовании рассмотрю
- динамику акций аутсайдеров и лидеров роста (период 30 дней)
- Имеет ли смысл покупать на просадках и играть на понижение после значительного роста
Важно! Я буду рассматривать абсолютно каждый день по всем акциям, соответственно многие просадки будут дивидендными гэпами (идея — рассмотреть все отклонения).
Буду рассматривать акции индекса Мосбиржы (только акции с долей в индексе >0,5%), а именно:
Читать полностью »
Как я сгенерировал на Python тысячу лиц для своей игры
2020-04-03 в 7:50, admin, рубрики: photoshop, pillow, python, генератор аватар, Дизайн игр, обработка изображений, процедурная генерация, разработка игрНа определённом этапе разработки своей игры я осознал, что мне нужна система диалогов с лицами-аватарами.
Поэтому я решил создать генератор лиц на основе знаменитой игры Papers, Please.

Генератор лиц Dukope (из Papers, Please)
Сбор данных
Я скачал примерно 50 портретов с pixabay.com (все изображения имеют лицензию CC и не требуют указания авторства).
Затем я вырезал фон каждого изображения в Photoshop (просто выбрал всё инструментом выделения многоугольника и нажал на Delete). В дальнейшем я планировал воспользоваться эффектом cutout , чтобы скрыть все недочёты.

Изображения с удалённым фоном
Читать полностью »
Макросы для питониста. Доклад Яндекса
2020-04-03 в 7:37, admin, рубрики: PyPi, pytest, python, Блог компании Яндекс, изучение языков, макросы, ненормальное программирование, паттерны программирования, преобразования, Тестирование веб-сервисовКак можно расширить синтаксис Python и добавить в него необходимые возможности? Прошлым летом на PyCon я постарался разобрать эту тему. Из доклада можно узнать, как устроены библиотеки pytest, macropy, patterns и как они добиваются таких интересных результатов. В конце есть пример кодогенерации с помощью макросов в HyLang — Lisp-образного языка, бегущего поверх Python.
— Привет, ребята. Хочу в первую очередь поблагодарить организаторов PyCon. Я разработчик в Яндексе. Доклад будет совсем не про работу, а про экспериментальные вещи. Возможно, кого-то из вас они наведут на мысль, что в Python можно делать клевые штуки, о которых вы раньше даже не догадывались, не мыслили в эту сторону.
Читать полностью »
Сортировки кучей: n-нарные пирамиды
2020-04-03 в 2:17, admin, рубрики: edisonsoftware, python, Алгоритмы, Блог компании Edison, куча, пирамида, пирамидальная сортировка, Программирование, Совершенный код, сортировка кучей, сортирующее дерево
Сортировку кучей (она же — пирамидальная сортировка) на Хабре уже поминали добрым словом не раз и не два, но это всегда была достаточно общеизвестная информация. Обычную бинарную кучу знают все, но ведь в теории алгоритмов также есть:
n-нарная куча; куча куч, основанная на числах Леонардо; дерамида (гибрид кучи и двоичного дерева поиска); турнирная мини-куча; зеркальная (обратная) куча; слабая куча; юнгова куча; биномиальная куча; и бог весть ещё какие кучи…
И умнейшие представители computer science в разные годы предложили свои алгоритмы сортировки с помощью этих пирамидальных структур. Кому интересно, что у них получилось — для тех начинаем небольшую серию статей, посвящённую вопросам сортировки с помощью этих структур. Мир куч многообразен — надеюсь, вам будет интересно.Читать полностью »
Альтернативная форма тернарного оператора Python
2020-04-01 в 13:56, admin, рубрики: python, ненормальное программирование, тернарный операторНедавно я открыл для себя альтернативу стандартной конструкции "expression_on_true if predicate else expression_on_false", которую я не встречал в справочниках:
(expression_on_false, expression_on_true)[predicate]
Как это работает
- В круглых скобках объявляется кортеж из двух элементов.
- В квадратных скобках вычисляется значение предиката.
- Происходит обращение к кортежу по индексу 1 (если значение предиката True) или 0 (если значение предиката False)
Моя шпаргалка по pandas
2020-03-31 в 9:30, admin, рубрики: pandas, python, Блог компании RUVDS.com, разработка, Разработка веб-сайтовОдин преподаватель как-то сказал мне, что если поискать аналог программиста в мире книг, то окажется, что программисты похожи не на учебники, а на оглавления учебников: они не помнят всего, но знают, как быстро найти то, что им нужно.
Возможность быстро находить описания функций позволяет программистам продуктивно работать, не теряя состояния потока. Поэтому я и создал представленную здесь шпаргалку по pandas
и включил в неё то, чем пользуюсь каждый день, создавая веб-приложения и модели машинного обучения.
Нельзя сказать, что это — исчерпывающий список возможностей pandas
, но сюда входят функции, которыми я пользуюсь чаще всего, примеры и мои пояснения по поводу ситуаций, в которых эти функции особенно полезны.
Читать полностью »
«Вы уж простите, обознался…» или распознаем малину и контроллеры с помощью Tensorflow Object Detection API
2020-03-30 в 13:46, admin, рубрики: anaconda, arduino, machine learning, open source, opencv, python, TensorFlow, машинное зрение, машинное обучение, ПрограммированиеВ конце прошлого года, я написал статью, о том как был заинтригован возможностью распознавания объектов на изображениях с помощью нейронных сетей. В той статье мы с помощью PyTorch классифицировали на видео либо ягоду малину, либо ардуино-подобный контроллер. И не смотря на то, что PyTorch мне понравился, обратился я к нему потому, что не смог с наскока разобраться с TensorFlow. Но я пообещал, что ещё вернусь к вопросу распознавания объектов на видео. Кажется пришло время сдержать обещание.
В данной статье мы попробуем на своей локальной машине дообучить уже готовую модель в Tensorflow 1.13 и Object Detection API на нашем собственном наборе изображений, а потом используем её для распознавания ягод и контроллеров, в видеопотоке веб-камеры с помощью OpenCV.
Хотите к лету улучшить навык распознавания ягод? Тогда милости прошу под кат.