Собрали подборку интересных и полезных инструментов для работы с датами в Pandas, которые сэкономит Вам кучу времени и нервов.
1. Конвертация в формат даты
pd.to_datetime()Это основа основ. Превращает всё что угодно в нормальный DateTime объект Pandas.
dataset['Финиш'] = pandas.to_datetime(dataset['Финиш'])
date_str = "20231115"
correct_date = pandas.to_datetime(date_str, format='%Y%m%d')
2. Извлечение компонентов даты
.dt()Для многих задач полезно извлекать компоненты даты: год, месяц, день.
dataset['Финиш_Год'] = dataset['Финиш'].dt.year
dataset['Финиш_Месяц'] = dataset['Финиш'].dt.month_name(locale='ru_RU.UTF-8')
dataset['Финиш_День'] = dataset['Финиш'].dt.dayofweek
dataset['Финиш_Квартал'] = dataset['Финиш'].dt.quarter
3. Дополнительные операции с датами
И еще несколько примеров работы с датами.
dataset['Финиш_Выходной'] = dataset['Финиш'].dt.dayofweek > 4
dataset['Финиш_сдвиг'] = dataset['Финиш'] + pandas.offsets.BDay(1)
dataset['Финиш_конецмесяца'] = dataset['Финиш'].dt.is_month_end
#pmpython #фича #python #pandas
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Основные возможности
Установка
pip install random
Примеры использования
import random
list = ["Подрядчик 1", "Подрядчик 2", "Подрядчик 3", "Подрядчик 4", "Подрядчик 5"]
# выбор значения из списка
print(random.choice(list))
# выбор нескольких уникальных значений
print(random.sample(list, k=2))
# перемешать список
random.shuffle(list)
print(list)
Можно протестировать самому в Colab!
#pmpython #библиотеки #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Один из типовых шаблонов графиков Plotly - Scatterplot Matrix (SPLOM). Скэттерплот матрица это массив точечных диаграмм, показывающих связь между всеми данными одного столбца и всеми данными каждого столбцов таблицы. Шаблон станет незаменимым инструментом для выявления корреляций и зависимостей между признаками набора данных, а также выявления пустых категорий данных.
Простой пример на Python
import plotly.express as px
df = px.data.iris()
fig = px.scatter_matrix(df)
fig.show()
Какие есть возможности
❗️Посмотрите готовый пример использования в собранном блокноте с комментариями, скачайте и используйте в дальнейшем!
🔗Ссылка на блокнот Colab
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Наряду с загрузкой файлов с облачного хранилища или добавления файлов в меню проекта, Colab дает возможность загружать свои файлы через всплывающие диалоговое окно при запуске кода! Для этого используется модуль
files() библиотеки google.colab.Простой пример на Python
from google.colab import files
uploaded = files.upload()
При исполнении кода всплывает окно с указанием пути к пользовательскому файлу, а после выбора загруженный документ появится в боковом меню «Файлы».
files(), выведи график по всем столбцам в формате scatter_matrix() и раскрась его по столбцу, случайно выбранному через random().#pmpython #фича #python #googlecolab
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Если Вы не хотите сильно перегружать визуализацию данных и сохранить детальность на случай вопросов – в 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 – показывает распределение плотности.#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
Простая и супер эффективная функция парсинга таблиц из вебстраниц в библиотеке Pandas – сегодня показываем
read_html()!Пример на Python
import pandas as pd
dataset = pd.read_html(io='https://www.cbr.ru/hd_base/micex_doc/')[0]
print(dataset)
Как это работает?
Функция загружает все таблицы, которые есть по указанному нами адресу в виде списка таблиц. Есть возможность настраивать разделители десятичных и разрядов.
#pmpython #парсинг #автоматизация #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Когда не хватает классификации данных по цвету или нужно показать пересечение категорий между разными столбцами данных применяйте настройку отображения символов.
Symbol — это аргумент Plotly добавляющий дополнительную классификацию по уникальным значениям дополнительно выбранной колонки. Теперь можно искать многомерные зависимости на Ваших диаграммах.Простой пример на Python
fig1 = px.scatter(dataset, x='Старт', y='Финиш',
color='Статус',
symbol = 'Статус')
fig1.show()
Что получим на выходе
И ещё!
Используя дополнительный аргумент symbol_sequence, можно указать порядок назначения иконок в символы. Виды иконок можно посмотреть по ссылке.
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Основные возможности
Установка
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()
Для чего использовать
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Создай календарь на 2026 год в современном корпоративном стиле, используй трендовые цвета в оформлении. В шапку календаря добавь человека с приложенного фото в образе веселого деда мороза. Заголовок календаря под шапкой в виде креативного леттеринга: Счастья и удачи в новом году. В календаре 1 января попадает строго на четверг и дополнительно отследи корректность перехода между последним днем каждого месяца и первым днем каждого следующего месяца.
С праздником!
#pmpython #нейросети #промпт #nanobanana
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🎉1
Что нужно сделать чтобы получить накопительные графики в 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()
Для чего использовать:
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
make_subplots()!Если вам нужно сравнить тренды или показать разные метрики в одном окне, создание отдельных рисунков может быть неудобным. Для таких задач в
Plotly есть мощный инструмент – make_subplots().Эта функция позволяет создавать сетку блоков и размещать в них любые графики, настраивая их взаимное расположение, оси и размеры.
Простой пример на Python
fig = make_subplots(
rows=1, cols=2,
subplot_titles=("Тенденция", "Объемы"))
Фишки которые полезно знать:
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
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(), как для обычных графиков.#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
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 сам всё поймет.label() с настраиваемым шрифтом.#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Когда вам нужно показать структуру вложенных данных (например, бюджет компании по отделам, продажи по континентам и странам или портфель инвестиций), обычные Pie Chart или Bar Chart быстро становятся нечитаемыми.
Тут на помощь приходит
treemap() — график, который отображает иерархию в виде вложенных прямоугольников, где площадь и цвет каждого прямоугольника пропорциональна указанным параметрам.Простой пример на Python
fig = px.treemap(df,
path=[px.Constant("Мир"), 'Регион', 'Страна'], # Задаем иерархию колонок таблицы
values='Продажи', # Размер блоков
title='Структура мировых продаж')
fig.show()
Как формировать многомерные визуализации из простой таблицы:
px.Constant("Название") помогает создать единый корневой блок для всего графика.#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Если у вас есть данные с региональной привязкой (продажи по областям, население стран, уровень выбросов) в Plotly их можно подвязать к карте стран мира или собственной контурной карте.
Хороплет — это вид карты раскрашиваемой в зависимости от числовых или категориальных значений атрибутов таблицы. Главное чтобы кодировка области карты совпадала с кодировкой региона в вашей таблице.
Простой пример на Python
fig = px.choropleth(df,
locations="iso_alpha",
geojson = your_map,
featureidkey="properties.id”,
color="lifeExp”
fig.show()
Главные параметры, которые нужно знать:
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Основные возможности
Установка
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()
Главные параметры, которые нужно знать:
#pmpython #визуализация #python #plotly
Please open Telegram to view this post
VIEW IN TELEGRAM