PM.Python
17 subscribers
22 photos
1 video
22 links
Покажем как легко применять Data Science в Управлении Проектами
Download Telegram
🎙Визуализация данных: Как генерировать вспомогательные графики для повышения наглядности основной диаграммы в Plotly.

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

marginal_x и marginal_y это аргументы в Plotly, который автоматически создадут вспомогательные боковые грфаики по краям основной диаграммы. Получите дополнительную информацию, не занимающую много места и не перекрывающую элементы основного графика.

Простой пример на Python
fig1 = px.scatter(dataset, x='Старт', y='Финиш', 
marginal_x ='histogram',
marginal_y ='box',
color='Статус')
fig1.show()


Есть несколько вариантов графиков, реализуемых аргументом marginal:
💬 histogram – обычная гистограмма по сумме значений.
💬 rug – показывает наличие значения на оси.
💬 box – компактный график одномерного распределения вероятностей.
💬 violin – показывает распределение плотности.

❗️Посмотрите готовый пример собранного блокнота с комментариями, скачайте и используйте в дальнейшем!
🔗Ссылка на блокнот Colab

#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Ускорение получения и обработки данных: парсинг таблиц из html страниц.

Простая и супер эффективная функция парсинга таблиц из вебстраниц в библиотеке Pandas – сегодня показываем read_html()!

Пример на Python
import pandas as pd

dataset = pd.read_html(io='https://www.cbr.ru/hd_base/micex_doc/')[0]

print(dataset)


Как это работает?
Функция загружает все таблицы, которые есть по указанному нами адресу в виде списка таблиц. Есть возможность настраивать разделители десятичных и разрядов.

❗️Посмотрите пример загрузки данных с сайта ЦБ РФ!
🔗Ссылка на блокнот Colab

#pmpython #парсинг #автоматизация #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎙Визуализация данных: Как гибко настраивать символы маркеров для повышения читаемости диаграмм рассеивания в Plotly?

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

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

Простой пример на Python
fig1 = px.scatter(dataset, x='Старт', y='Финиш', 
color='Статус',
symbol = 'Статус')
fig1.show()


Что получим на выходе
🗣Данные классифицированы и по цвету и через символы.
🗣Показали на диаграмме классы сразу по двум столбцам.

И ещё!
Используя дополнительный аргумент symbol_sequence, можно указать порядок назначения иконок в символы. Виды иконок можно посмотреть по ссылке.

❗️Посмотрите готовый пример собранного блокнота с комментариями, скачайте и используйте в дальнейшем!
🔗Ссылка на блокнот Colab

#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📱 Pyvis — библиотека для создания интерактивных сетевых графов. Под капотом она использует мощь Vis.js, но предоставляет удобный Python-интерфейс. Результат — красивые, отзывчивые графы, которые можно крутить, масштабировать и раскрывать прямо в браузере. Крайне продвинутый инструмент для визуализации календарно-сетевых графиков и других многоуровневых зависимостей проекта.

Основные возможности
💬 Интерактивность: Узлы можно перемещать, кликать по ним, скрывать группы.
💬 Гибкая настройка: Группировка, внешний вид, физика взаимодействий.
💬 Экспорт: Сохранение в автономный HTML или изображение.

Установка
pip install pyvis


Пример использования
from pyvis.network import Network

g = Network()
g.add_nodes([1,2,3], value=[10, 100, 400],
label=['Блок 1', 'Блок 2', 'Блок 3'])
g.add_edges([(1, 2),(1, 3),(2, 3)])
g.show('g.html')


Подробнее
🔗 Сайт проекта

#pmpython #библиотеки #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
💯 Ежегодно в первый четверг ноября в мире отмечается Международный день проектного менеджера.

🎁Поздравь себя или близкого сердцу проектного менеджера с помощью этого чудесного промпта для генерации видео:
Cute kitten project manager, energetically organizing paperwork, wearing a tiny suit and glasses, surrounded by miniature office supplies. Playful feline paws sorting files, meowing instructions. Whimsical cartoon animation, vibrant colors, upbeat music. Medium shot, dynamic camera angles.


С праздником!

#pmpython #нейросети #промпт #wan
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎙Визуализация данных: Как показать распределение данных и выбросы

Хотите наглядно отобразить распределение Ваших данных с плотностью вероятности? Попробуйте график Violin в Plotly! Это комбинация box-plot и kernel density estimation. График позволяет увидеть форму распределения, медианы, квартили и выбросы одновременно по одному параметру.

Простой пример на Python
import plotly.express as px
df = px.data.tips()
fig = px.violin(df, y="total_bill")
fig.show()


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

❗️Посмотрите готовый пример использования в собранном блокноте с комментариями, скачайте и используйте в дальнейшем!
🔗Ссылка на блокнот Colab

#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💯 Дорогие друзья и коллеги, вот и подошел к концу 2025 год! Спасибо всем кто был рядом в счастливые и трудные моменты.

🎁 Как обычно дарим идею как поздравить себя или близкого сердцу человека:
Создай календарь на 2026 год в современном корпоративном стиле, используй трендовые цвета в оформлении. В шапку календаря добавь человека с приложенного фото в образе веселого деда мороза. Заголовок календаря под шапкой в виде креативного леттеринга: Счастья и удачи в новом году. В календаре 1 января попадает строго на четверг и дополнительно отследи корректность перехода между последним днем каждого месяца и первым днем каждого следующего месяца.


С праздником!

#pmpython #нейросети #промпт #nanobanana
Please open Telegram to view this post
VIEW IN TELEGRAM
1🎉1
🎙Визуализация данных: Как одной командой проводить накопительные расчеты в графиках Plotly?

Что нужно сделать чтобы получить накопительные графики в excel? Сделать строки с суммами за предыдущие периоды и построить по ним диаграммы.

Что нужно сделать в Plotly – добавить в функцию px.histogram аргумент cumulative=True.

Простой пример на Python
fig = px.histogram(df, 
x="Прогресс",
cumulative=True)
fig.show()


Что получим на выходе
🗣Следующий столбец будет включать в себя сумму всех предыдущих.
🗣Исходные данные останутся без изменений и добавлений «мусорных» строк.

❗️Посмотрите готовый пример собранного блокнота с комментариями, скачайте и используйте в дальнейшем!
🔗Ссылка на блокнот Colab

#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎙Визуализация данных: Как добавить диаграмму в другую диаграмму?

Если Вы хотите создавать по-настоящему гибкие и информативные графики в Plotly, используйте метод add_trace().

Обычно Plotly строит график "в один клик". Это круто для быстрых набросков. А вот когда нужно объединить на одном холсте разные источники данных и сделать более сложную визуализацию без add_trace() не обойтись.

Простой пример на Python
fig1 = go.Figure()
fig1.add_trace(go.Scatter(x=[1, 2, 3], y=[4, 1, 2]))
fig1.add_trace(go.Scatter(x=[1, 2, 3], y=[2, 4, 1]))
fig1.show()


Для чего использовать:
🗣 Комбинирование: смешиваем разные типы графиков на одной оси.
🗣 Субграфики: наполняем сетку из нескольких графиков.
🗣 Кастомизация: можете управлять цветом, легендой и подписями каждого рисунка независимо.

❗️Посмотрите готовый пример собранного блокнота с комментариями, скачайте и используйте в дальнейшем!
🔗 Ссылка на блокнот Colab

#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎙Визуализация данных: Как разместить несколько графиков на одном холсте в Plotly – сделай свой дашборд с помощью make_subplots()!

Если вам нужно сравнить тренды или показать разные метрики в одном окне, создание отдельных рисунков может быть неудобным. Для таких задач в Plotly есть мощный инструмент – make_subplots().
Эта функция позволяет создавать сетку блоков и размещать в них любые графики, настраивая их взаимное расположение, оси и размеры.

Простой пример на Python
fig = make_subplots(
rows=1, cols=2,
subplot_titles=("Тенденция", "Объемы"))


Фишки которые полезно знать:
🗣 Синхронизация осей – оси графиков могут быть синхронизированы;
🗣 Сложные сетки – настраивай границы графиков;
🗣 Вторичные оси – все еще можно наложить два графика в одну ячейку.

❗️Посмотрите готовый пример использования в собранном блокноте с комментариями, скачайте и используйте в дальнейшем!
🔗 Ссылка на блокнот Colab

#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎙Визуализация данных: Когда хочешь проанализировать концентрацию событий или количество связей применяй Density Heatmap (тепловая карта плотности) из Plotly.

Функция density_heatmap() по сути является 2D гистограммой. Вместо отрисовки каждой отдельной точки, этот график разбивает пространство на прямоугольные ячейки и закрашивает их в зависимости от количества попавших в них наблюдений. Плюс Plotly в том, что график получается интерактивным "из коробки" по выбранным вами столбцам таблицы.

Простой пример на Python
import plotly.express as px
df = px.data.tips()
fig = px.density_heatmap(df, x="total_bill", y="tip")
fig.show()


Дополнительные возможности функции:
🗣 Настройка цвета и диапазона шкалы плотности для точной визуализации.
🗣 Отображение подписей данных прямо на тепловой карте.
🗣 Применение функций marginal_х() и facet_col(), как для обычных графиков.

❗️Посмотрите готовый пример использования в собранном блокноте с комментариями, скачайте и используйте в дальнейшем!
🔗 Ссылка на блокнот Colab

#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
🎙Визуализация данных: Как изящно выделить важный период на графике в Plotly? Используем add_vrect!

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

В Plotly есть простой и очень удобный метод добавления одномерных областей — add_vrect() (для вертикальных зон) и add_hrect() (для горизонтальных).

Простой пример на Python:
fig.add_vrect(
x0="2019-01-01", x1="2019-06-01",# значения
fillcolor="LightSalmon",# цвет заливки
opacity=0.3,# прозрачность
layer="below",# слой (под графиком)
line_width=0,# убираем рамку
annotation_text="Падение рынка",# текст аннотации
annotation_position="top left"# позиция текста
)
fig.show()


Несколько важных фишек и неочевидных трюков:
🗣 Умные оси: Если ваша ось имеет тип datetime, вы можете просто передавать даты в x0 и x1 в виде текста, Plotly сам всё поймет.
🗣 Аннотации из коробки: Параметр annotation_text позволяет сразу подписать выделенную зону. А еще есть вариант подписи label() с настраиваемым шрифтом.
🗣 Работа с категориями: Можно подсвечивать диапазоны и в категориальных осях. Есть вариант с указанием диапазона текстом, но для более точной настройки можно указывать диапазон области через порядковые номера категорий (т.е. 1,5 – 2,5; 1,0 – 2,2 и т.д.)

❗️Посмотрите готовый пример собранного блокнота с комментариями, скачайте и используйте в дальнейшем!
🔗Ссылка на блокнот Colab

#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎙Визуализация данных: Как визуализировать сложную связанную иерархию? Используем Treemap в Plotly!

Когда вам нужно показать структуру вложенных данных (например, бюджет компании по отделам, продажи по континентам и странам или портфель инвестиций), обычные Pie Chart или Bar Chart быстро становятся нечитаемыми.

Тут на помощь приходит treemap() — график, который отображает иерархию в виде вложенных прямоугольников, где площадь и цвет каждого прямоугольника пропорциональна указанным параметрам.
 
Простой пример на Python
fig = px.treemap(df,
    path=[px.Constant("Мир"), 'Регион', 'Страна'], # Задаем иерархию колонок таблицы
    values='Продажи', # Размер блоков
    title='Структура мировых продаж')
fig.show()


Как формировать многомерные визуализации из простой таблицы:
🗣 path: список колонок, которые формируют вашу иерархию. Порядок важен: от самого общего (корень) к самому частному (листья). Использование px.Constant("Название") помогает создать единый корневой блок для всего графика.
🗣 values: колонка со значениями. Она определяет, насколько большим будет прямоугольник.
🗣 color: позволяет раскрасить блоки по дополнительному параметру. Например, размер прямоугольника будет показывать объем выручки, а цвет — процент маржинальности (от красного к зеленому).

❗️Посмотрите готовый пример собранного блокнота с комментариями, скачайте и используйте в дальнейшем!
🔗Ссылка на блокнот Colab
 
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🎙Визуализация данных: Делаем карты из табличных данных! Функция Choropleth для работы с геопространственными полигонами в Plotly!

Если у вас есть данные с региональной привязкой (продажи по областям, население стран, уровень выбросов) в Plotly их можно подвязать к карте стран мира или собственной контурной карте.

Хороплет — это вид карты раскрашиваемой в зависимости от числовых или категориальных значений атрибутов таблицы. Главное чтобы кодировка области карты совпадала с кодировкой региона в вашей таблице.
 
Простой пример на Python
fig = px.choropleth(df,
locations="iso_alpha",
geojson = your_map,
featureidkey="properties.id”,
color="lifeExp”
fig.show()

 
Главные параметры, которые нужно знать:
🗣 locations: сюда мы передаем названия или коды регионов из таблицы данных (например, стандарты ISO-3 для стран).
🗣 geojson: специальная пользовательская карта для отрисовки (можно без этой переменной чтобы пользоваться встроенной картой мира).
🗣 featureidkey: поле карты отвечающее за идентификацию региона, нужно для связки с locations.
🗣 color: целевая метрика из таблицы по которой будем классифицировать области.

❗️Посмотрите готовый пример собранного блокнота с комментариями, скачайте и используйте в дальнейшем!
🔗Ссылка на блокнот Colab
 
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📱 Altair — декларативная библиотека для статистической визуализации данных. Под капотом она использует мощь Vega и Vega-Lite, но предоставляет элегантный и лаконичный Python-интерфейс. Результат — сложные, интерактивные графики. Отличный инструмент для тех, кто хочет строить сложные аналитические диаграммы с минимальным количеством строк кода.

Основные возможности
💬 Декларативный подход: Вы просто указываете связи между колонками данных и визуальными осями, а не прописываете циклы для отрисовки.
💬 Встроенная интерактивность: Тултипы, зум, выделение (selection) и связь нескольких графиков между собой добавляются парой строк.
💬 Экспорт: Сохраняйте результат в интерактивный HTML, статический PNG/SVG или JSON.

Установка
pip install altair 


Пример использования
# Строим интерактивный бар-чарт
chart = alt.Chart(df).mark_bar(cornerRadius=4).encode(
    x=alt.X('прогресс:Q', title='Выполнение (%)'),
    y=alt.Y('проект:N', title='Название проекта'),
color='проект:N',
    tooltip=['проект', 'прогресс']
).interactive()
 
# Показываем результат (или сохраняем: chart.save('chart.html'))
chart.show()


Подробнее 🔗 Сайт проекта

#pmpython #библиотеки #python #altair
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎙Визуализация данных: Диаграммы из эмодзи – наконец-то!

Клиповое мышление тормозит принятие решений? Начальство скучает глядя на сложные графики вашей презентации. Что если добавить в отчет немного фана и заменить скучные точки на эмодзи?

Библиотека Altair позволяет сделать это буквально за пару строк с помощью визуализации изотопов (умное название пиктограмм). Количество записей в вашей таблице будет классифицировано в эмодзи и отображено по порядку.
 
Простой пример на Python
fig = alt.Chart(source).mark_text(size=45, baseline='middle').encode(
    alt.X('x:O').axis(None),
    alt.Y('animal:O').axis(None),
    alt.Row('country:N').title(''),
    alt.Text('emoji:N')
).transform_calculate(
    emoji="{'cattle': '🐄', 'pigs': '🐖', 'sheep': '🐏'}[datum.animal]"
).transform_window(
    x='rank()',
    groupby=['country', 'animal']
)
 
fig.show()

 
Главные параметры, которые нужно знать:
🗣 mark_text: размер и выравнивание эмодзи.
🗣 transform_calculate: метод создания виртуальной колонки с мэппингом классов и эмодзи.
🗣 alt.Row / Column: можно дополнительно группировать признаки по колонкам и рядам.

❗️ Посмотрите готовый пример собранного блокнота с комментариями, скачайте и используйте в дальнейшем!
🔗 Ссылка на блокнот Colab
 
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM