Обновить
518.72

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Полезные TreeMap визуализации для MSSQL, Postgres и MySQL

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели11K

Я очень люблю визуализации. Человек лучше всего воспринимает информацию через образы. Для трех часто встречающихся баз (MSSQL, Postgres и MySQL) я смастерил плагины к проекту Bell, хотя этот код на Python можно использовать и отдельно. Поэтому для каждой визуализации я буду в скобочках писать имя файла из репозитория GitHub - вы можете этот файл вытащить и использовать его отдельно от проекта (для этого нудны минимальные модификации).

Отмечу только, что я считаю себя экспертом только в MSSQL, а то что сделал с другими базами - сделал по наитию. Кроме того, в отличие от MSSQL у меня нет реальных баз под большой нагрузкой для Postgres и MySQL. Поэтому ошибки/пожелания для скриптов Postgres и MySQL очень и очень welcome!

В основном я задействовал TreeMap.

Читать далее

BlackMamba или как ChatGPT пишет вредоносы

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели13K

Скорее всего не для кого уже не новость, что ChatGPT от OpenAI способен не только генерировать статьи, идеи, писать код вместо разработчика, но также писать всякого рода вирусы и прочие вредоносные программы. Специалисты кибербезопасности из компании Hyas решили продемонстрировать, на что способно вредоносное программное обеспечении на основе ChatGPT.

По итогу получился интеллектуальный вирус, способный сам принимать решения и генерировать концы своего исходного кода, который не обнаруживают антивирусные решения.

Я решил сам убедиться, возможно ли такое, и вот что вышло.

Читать далее

Экспресс-анализ данных на Python

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9K

В рамках расширения своих компетенций периодически провожу анализ данных датасетов. В какой-то момент осознал, что трачу время на столбцы с аналитиками, в которых все в порядке. Данные полные, тип данных единый, интерпретация понятна. Если столбцов несколько десятков, то обзорная проверка атрибутов каждого столбца занимает довольно значительное время.

Читать далее

Регрессионный анализ в DataScience. Часть 3. Аппроксимация

Уровень сложностиСредний
Время на прочтение72 мин
Охват и читатели26K

В предыдущих обзорах (https://habr.com/ru/articles/690414/, https://habr.com/ru/articles/695556/) мы рассматривали линейную регрессию. Пришло время переходить к нелинейным моделями. Однако, прежде чем рассматривать полноценный нелинейный регрессионный анализ, остановимся на аппроксимации зависимостей.

Про аппроксимацию написано так много, что, кажется, и добавить уже нечего. Однако, кое-что добавить попытаемся.

При выполнении анализа данных может возникнуть потребность оперативно построить аналитическую зависимость. Подчеркиваю - речь не идет о полноценном регрессионном анализе со всеми его этапами, проверкой гипотез и т.д., а только лишь о подборе уравнения и оценке ошибки аппроксимации. Например, мы хотим оценить характер зависимости между какими-либо показателями в датасете и принять решение о целесообразности более глубокого исследования. Подобный инструмент предоставляет нам тот же Excel - все мы помним, как добавить линию тренда на точечном графике:

Читать далее

Как сделать торгового робота для Binance

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели48K

Программирование для меня это хобби и любимое дело. А так я сертифицированный системный архитектор. Поэтому прошу не особо ругать за код :-)

В настоящее время я увлекаюсь написанием торговых роботов. Постепенно изучаю нейросети для их применения к анализу цен/объемов акций/фьючерсов.

Обычно я писал торговых роботов для работы с Брокерами и делал авто-торговлю Акциями или Фьючерсами, но вдруг возникла мысль:

- А что, если уже готовый код можно применять и на других активах??? Например на крипто активах для Биткоина или Эфира или других?

Уже изучив много библиотек и примеров за долгое время написания своих торговых роботов, решил сделать небольшую библиотеку backtrader_binance для интеграции API Binance и библиотеки тестирования торговых стратегий Backtrader.

Вот с помощью backtrader_binance, сейчас и создадим алго-робота для торговли BTC и ETH.

Читать далее

Как перестать беспокоиться и установить Python-проект другу под Windows

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели11K

Итак, вы закончили свою первую версию опенсорс проекта на Питоне, выложили её на Гитхаб, и даже написали честный ридми: "Требуется Python 3.10, поставьте зависимости через pip install -r requirements.txt"

И... через какое-то время вам звонит пользователь друг с вопросом: "Слушай, интересный проект, а как его под Windows поставить?"

Собственно, с этого момента у вас есть 3 варианта:

1. Попытаться сэкономить всем время и попробовать упаковать ваш проект в EXE-файл через утилиты типа pyinstaller или Auto PY to EXE. Минус: при сколь-нибудь сложных зависимостях нужно будет ковыряться довольно долго, чтобы заставить EXE заработать. Второй минус: как вы думаете, на кого ляжет почетная обязанность собирать EXE-шники после каждого апдейта кода?

2. Попытаться объяснить другу, что такое python, GIT и как всё это поставить. Минус: возможны проблемы в отношениях с другом :))) (Вариант: поставить всё самому через дистанционный доступ, но он требует слишком много времени если пользователей друзей больше 5)

3. Дописать под себя набор BAT-файлов, о которых пойдет речь в статье, и которые:

ставят сами Python и GIT в локальную папку проекта (в стиле conda);

выкачивают свежую версию вашего проекта с Гитхаба (а также апдейтят её при необходимости);

ставят нужные зависимости;

можно прописать несколько сценариев запуска приложения;

установленный проект можно перемещать в другие папки и между компами.

Читать далее

Классификация составляющих микроструктуры сталей с помощью компьютерного зрения

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4.2K

Целью данной работы является разработка модели компьютерного зрения для распознавания и классификации составляющих микроструктуры стали. 

В металловедении принято называть составляющие микроструктуры фазами. Важность определения типа микроструктурных фаз продиктована влиянием размера и соотношения объемных долей фаз микроструктуры на механические свойства стали. В основном определение типа микроструктуры выполняется экспертами «на глаз», что в ряде случаев приводит к разногласиям в оценке. 

В данной работе модель обучалась классифицировать такие фазы, как феррит, бейнит и перлит. Обучение модели проводилось на микроструктуре стали в состоянии после прокатки без проведения дополнительной термической обработки. Это важная оговорка, т.к. различие в специфическом «узоре» микроструктуры между фазами с термообработкой и без термообработки является существенным. 

На рисунке 1 приведено изображение микроструктуры стали с выделенной фазой.

Читать далее

Ядро планеты Python. Интерактивный учебник

Время на прочтение67 мин
Охват и читатели61K

Добрый день! Меня зовут Михаил Емельянов, недавно я опубликовал на «Хабре» небольшую статью с примерным путеводителем начинающего Python-разработчика. Пользуясь этим материалом как своего рода оглавлением книги, я написал первые четыре главы мини-учебника «Ядро планеты Python», где постарался коротко, но достаточно ёмко раскрыть специфику, удобство, красоту и силу этого прекрасного языка.


Оригинал учебника лежит на GitHub, вы вольны сколько угодно дополнять и переделывать его. Самое главное — учебник написан на Jupiter Notebook, а это значит, что вы можете интерактивно редактировать код, мгновенно добавляя новые сущности или проясняя непонятные моменты.


Core of the planet Python

Читать дальше →

Восемь признаков недо-yield вашего проекта на Python

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.6K
half-python
Kandinsky 2.1: Умпалумпы программируют python код без yield
Иногда говорят, что код имеет запах. Это относится к стилистике написания, выбору переменных и т.п. Однако, когда речь идет про циклы, я предпочитаю использовать термин «недо-yield», характеризующий стиль работы программиста в циклах и с массивами данных.

Представим себе, что Пупа и Лупа взялись писать код на Python. Но Лупа заболел, и Пупе пришлось писать код за… него. Код, который у них в итоге получился, используется во множестве репозиториев и был тепло оценен Python-сообществом в форме нескольких PEP-соглашений. Предлагаю вам пройтись по такому коду, принюхаться и обратить внимание на некоторые строки.
Читать дальше →

Как получать стипендию Тинькофф, зная лишь ChatGPT?

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели21K

Как получать стипендию Тинькофф зная лишь ChatGPT?

Я студент и увидел, что Тинькофф выплачивает целых 25 тысяч рублей студентам каждый месяц, но надо пройти некий отбор. По описанию на сайте быстро становится понятно, что отбор на самом деле - некий аналог олимпиадных задач.

И тут я вспомнил про ChatGPT, и мне стало интересно, если бы я был практически полным нулем в программировании, смог бы я получить стипендию, используя нейросеть?

Читать далее

Релиз Django LTS 4.2: обзор изменений и необходимости обновления

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K

В апреле 2023 года вышла новая LTS-версия Django Web Framework, одного из самых популярных фреймворков для веб-разработки на Python.

«Вышла новая версия! Почему вы до сих пор не перешли на неё?» — такой вопрос часто возникает у студентов, изучающих этот фреймворк на курсах программирования. Аналогичный вопрос можно услышать и от начинающего специалиста, который недавно приступил к выполнению своих обязанностей в качестве бэкенд-разработчика.

А стоит ли сейчас вообще начинать новый проект на Django или изучать этот фреймворк? В этой статье я, Евгений Бартенев, техлид и автор курса «Python-разработчик», помогу разобраться с этими и другими вопросами. Мы поговорим о разных типах релизов Django, посмотрим на главные изменения в новом и затронем основные аспекты, которые следует учитывать при обновлении версии Django в проекте.

Читать далее

Генеалогическое древо на Python

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.5K

В этой коротенькой статье мы обсудим простенький и относительно не сильно извращённый способ сохранения информации о своей семье при помощи скриптов на Python. Для этого мы будем использовать модуль Diagrams.

Читать далее

Пишем приложение на Python для интерактивной визуализации графов с NetworkX, Plotly и Dash

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели18K

Промпт: интерактивная визуализация сети транзакций, абстракция на белом фоне

Говорят, хорошая визуализация данных лучше тысячи слов о них, и с этим трудно спорить.

Эта статья посвящена написанию приложения на Python для интерактивной визуализации графов. В первой части представлен краткий обзор использованных средств и библиотек, а также свойства приложения. Во второй половине — технические детали, касающиеся использования NetworkX, Plotly и Dash, и собственно код.

В результате всего за 300 строк на Python получится веб-приложение с пользовательским интерфейсом, отображающим ориентированный граф с несколькими селекторами для настройки используемых данных.

Погнали!

Ближайшие события

Автоматическое построение плоской панорамы

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели11K

В статье представлен простой алгоритм автоматического сшивания нескольких фотографий в плоское (иногда называют перспективное) панорамное изображение (planar/perspective panoramic image). Статья содержит код на языкеPythonс использованием библиотекиOpenCV.

Читать далее

Полезные методы работы с данными в Pandas. Часть 2

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели27K

В современном мире данных анализ временных рядов играет ключевую роль во многих отраслях, таких как финансы, розничная торговля, производство и маркетинг. Работа с временными рядами может стать сложным процессом из- за наличия трендов, сезонности и структурных изменений в данных.

Я продолжаю рассказывать о полезных, но менее известных методах работы с данными в Pandas, которые могут значительно повысить вашу эффективность при анализе и обработке данных. По данной ссылке вы можете прочитать первую статью.

В этой статье мы погрузимся в применение скользящих окон для вычислений и смещение данных для анализа временных рядов. Скользящие окна позволяют проводить агрегированные вычисления на подмножествах данных, что может быть полезно для определения трендов, сезонности и аномалий во временных рядах. Мы также изучим использование смещения данных для создания лаговых переменных и их применение в различных задачах прогнозирования. 

Читать далее

Ускорение работы моделей Stable Diffusion на процессорах Intel

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели8.5K

Недавно мы рассказывали о последнем поколении процессоров Intel Xeon (кодовое название Sapphire Rapids). Мы говорили об их новых аппаратных возможностях, ориентированных на ускорение задач глубокого обучения,  разбирались с тем, как использовать их для ускорения распределённого дообучения трансформеров, занимающихся обработкой естественного языка, как применять их для ускорения работы таких моделей.

В этом материале мы собираемся остановиться на различных подходах к ускорению моделей Stable Diffusion на процессорах Sapphire Rapids. В следующем похожем посте речь пойдёт о распределённом дообучении.

Читать далее

Дружим chatGPT 3.5 с выдачей Google в Telegram боте

Время на прочтение8 мин
Охват и читатели4.4K

Использование искусственного интеллекта в интернет-поиске становится все более распространенным. Давайте рассмотрим создание Telegram бота, который позволит вам искать ответ в выдаче Google без необходимости заходить на сайты. ChatGPT 3.5 проводит анализ текста сайтов в выдачи Google и формирует чёткий и лаконичный ответ на запрос пользователя.

Читать далее

Python Дайджест: как сделать CI для OpenSource проекта с Github Actions

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели3K

Экватор рассказа про техническое оживление Python Дайджест проекта. Ранее рассказал как перейти с Python 3.4 на Python 3.11 и автоматически актуализировать весь код. В этой части расскажу про организацию CI для Open Source проекта на основе Github Actions — как гонять тесты, проверять код, зависимости, разворачивать приложение и делать бэкапы на внешнее хранилище.


Читать дальше →

Материалы python-митапа: Go для питонистов, syslog и контейнерные рантаймы

Время на прочтение2 мин
Охват и читатели2.7K

Привет, Хабр! Этот пост — отчёт с митапа Moscow Python x YADRO. Мы обсуждали отличия языков Python и Go, подробно разобрали работу с протоколом syslog и почти написали свой Docker. Если вам интересны эти темы — заходите под кат, там вы найдёте видеозаписи докладов, презентации спикеров и небольшой фотоотчёт. 

Читать далее

О чём все эти люди говорят, ChatGPT?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.4K

Всем привет! Я продуктовый аналитик компании Интерсвязь, и у меня, как и у многих, часто всплывает потребность в том чтобы «разложить по полочкам» кучу разных текстов. Например:

1. Я хочу знать, о чем вообще все отзывы в маркете про мой продукт.

2. У меня есть много писем от клиентов на разные темы, и я хочу их систематизировать.

3. Мне может понадобиться проанализировать старые обращения пользователей в техподдержку, которые не были размечены.

Читать далее

Вклад авторов