🔥 Pandas трюк: ускоряем группировки с map вместо merge_groupby
Когда нужно добавить агрегированные значения (например, среднее по группе) обратно в исходный DataFrame, большинство разработчиков делают groupby().transform() или merge().
Но есть менее известный способ — использовать map() после groupby().mean(), который в некоторых случаях работает в 2–3 раза быстрее и требует меньше памяти.
Фокус в том, что groupby().mean() создаёт компактный Series, где индекс — это категория, а значения — результат агрегации.
А map() просто подставляет их обратно в исходный DataFrame без тяжёлого join.
import pandas as pd
import numpy as np
# пример данных
N = 5_000_000
df = pd.DataFrame({
"group": np.random.choice(["A", "B", "C", "D"], N),
"value": np.random.randn(N)
})
# классический подход
df["mean_value_merge"] = df["group"].map(df.groupby("group")["value"].mean())
# сравнение с transform
df["mean_value_transform"] = df.groupby("group")["value"].transform("mean")
# идентичность результата
print(df["mean_value_merge"].equals(df["mean_value_transform"]))
Это особенно полезно на миллионах строк, когда transform начинает “проседать”.
Метод даёт тот же результат, но заметно экономнее по CPU и RAM.
@Python_Community_ru
Когда нужно добавить агрегированные значения (например, среднее по группе) обратно в исходный DataFrame, большинство разработчиков делают groupby().transform() или merge().
Но есть менее известный способ — использовать map() после groupby().mean(), который в некоторых случаях работает в 2–3 раза быстрее и требует меньше памяти.
Фокус в том, что groupby().mean() создаёт компактный Series, где индекс — это категория, а значения — результат агрегации.
А map() просто подставляет их обратно в исходный DataFrame без тяжёлого join.
import pandas as pd
import numpy as np
# пример данных
N = 5_000_000
df = pd.DataFrame({
"group": np.random.choice(["A", "B", "C", "D"], N),
"value": np.random.randn(N)
})
# классический подход
df["mean_value_merge"] = df["group"].map(df.groupby("group")["value"].mean())
# сравнение с transform
df["mean_value_transform"] = df.groupby("group")["value"].transform("mean")
# идентичность результата
print(df["mean_value_merge"].equals(df["mean_value_transform"]))
Это особенно полезно на миллионах строк, когда transform начинает “проседать”.
Метод даёт тот же результат, но заметно экономнее по CPU и RAM.
@Python_Community_ru
🧩 Эффективное кэширование для Python-приложений
dm-cache — это библиотека для кэширования данных в Python, которая обеспечивает высокую производительность и простоту использования. Она поддерживает различные стратегии кэширования и позволяет легко интегрироваться в существующие приложения, улучшая их скорость и отзывчивость.
🚀 Основные моменты:
- Поддержка различных стратегий кэширования.
- Простая интеграция в Python-приложения.
- Высокая производительность и эффективность.
- Легкий в использовании API.
📌 GitHub:
#python
@Python_Community_ru
https://github.com/mingzhao/dm-cache
dm-cache — это библиотека для кэширования данных в Python, которая обеспечивает высокую производительность и простоту использования. Она поддерживает различные стратегии кэширования и позволяет легко интегрироваться в существующие приложения, улучшая их скорость и отзывчивость.
🚀 Основные моменты:
- Поддержка различных стратегий кэширования.
- Простая интеграция в Python-приложения.
- Высокая производительность и эффективность.
- Легкий в использовании API.
📌 GitHub:
#python
@Python_Community_ru
https://github.com/mingzhao/dm-cache
GitHub
GitHub - mingzhao/dm-cache: Generic block-level cache utility based on Linux device mapper framework
Generic block-level cache utility based on Linux device mapper framework - mingzhao/dm-cache
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🦾 Собери собственного человекоподобного робота!
OpenArm - это открытый проект гуманоидного робота, включающий всё необходимое для сборки, модификации и управления собственными роботизированными руками.
В комплект входят CAD-модели, прошивка, управляющее ПО и симуляторы, так что можно сразу перейти от идеи к реальному устройству.
Система поддерживает телеоперацию с обратной связью по усилию и гравитационную компенсацию, позволяя оператору управлять рукой естественно и точно.
💡 OpenArm интегрируется с MuJoCo и Isaac Sim, что позволяет тестировать управление в виртуальной среде перед запуском на железе.
Проект ориентирован на исследовательские лаборатории, стартапы и энтузиастов, желающих изучать манипуляцию и взаимодействие человека с роботом.
🔩 Можно собрать из набора деталей или заказать готовую сборку - цель OpenArm сделать робототехнику доступной и прозрачной для всех.
Разработкой занимается команда Enactic (Токио, Япония).
GitHub: https://github.com/enactic/OpenArm
@Python_Community_ru
OpenArm - это открытый проект гуманоидного робота, включающий всё необходимое для сборки, модификации и управления собственными роботизированными руками.
В комплект входят CAD-модели, прошивка, управляющее ПО и симуляторы, так что можно сразу перейти от идеи к реальному устройству.
Система поддерживает телеоперацию с обратной связью по усилию и гравитационную компенсацию, позволяя оператору управлять рукой естественно и точно.
💡 OpenArm интегрируется с MuJoCo и Isaac Sim, что позволяет тестировать управление в виртуальной среде перед запуском на железе.
Проект ориентирован на исследовательские лаборатории, стартапы и энтузиастов, желающих изучать манипуляцию и взаимодействие человека с роботом.
🔩 Можно собрать из набора деталей или заказать готовую сборку - цель OpenArm сделать робототехнику доступной и прозрачной для всех.
Разработкой занимается команда Enactic (Токио, Япония).
GitHub: https://github.com/enactic/OpenArm
@Python_Community_ru
🔥1
Один One Day Offer вам или целых три — всем? 😉
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков (https://developers.sber.ru/kak-v-sbere/one-day-offer/gigabus_october_2025?utm_source=telegram&utm_medium=fix&utm_campaign=3_ODO_Kandinsky_Gigadata_oct_2025_post&utm_content=&utm_term=pythonl&erid=2Vtzqw9VTxS).
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV) (https://developers.sber.ru/kak-v-sbere/one-day-offer/mle_october_2025?utm_source=telegram&utm_medium=fix&utm_campaign=3_ODO_Kandinsky_Gigadata_oct_2025_post&utm_content=&utm_term=pythonl&erid=2Vtzqw9VTxS).
— One Day Offer для Research и Deep Learning Engineers (https://developers.sber.ru/kak-v-sbere/one-day-offer/dl_re_october_2025?utm_source=telegram&utm_medium=fix&utm_campaign=3_ODO_Kandinsky_Gigadata_oct_2025_post&utm_content=&utm_term=pythonl&erid=2Vtzqw9VTxS).
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
@Python_Community_ru
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков (https://developers.sber.ru/kak-v-sbere/one-day-offer/gigabus_october_2025?utm_source=telegram&utm_medium=fix&utm_campaign=3_ODO_Kandinsky_Gigadata_oct_2025_post&utm_content=&utm_term=pythonl&erid=2Vtzqw9VTxS).
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV) (https://developers.sber.ru/kak-v-sbere/one-day-offer/mle_october_2025?utm_source=telegram&utm_medium=fix&utm_campaign=3_ODO_Kandinsky_Gigadata_oct_2025_post&utm_content=&utm_term=pythonl&erid=2Vtzqw9VTxS).
— One Day Offer для Research и Deep Learning Engineers (https://developers.sber.ru/kak-v-sbere/one-day-offer/dl_re_october_2025?utm_source=telegram&utm_medium=fix&utm_campaign=3_ODO_Kandinsky_Gigadata_oct_2025_post&utm_content=&utm_term=pythonl&erid=2Vtzqw9VTxS).
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
@Python_Community_ru
developers.sber.ru
Ждем талантливых Python‑разработчиков с опытом более 6 лет
Получи оффер в Сбере за один день — 25 октября. Знакомься с командой, проходи техническое интервью и получай обратную связь в тот же день
👩💻 FastMCP (https://github.com/jlowin/fastmcp) — Быстрый, Python-способ создания MCP-серверов!
🌟 Серверы Model Context Protocol (MCP) — это новый стандартизированный способ предоставления контекста и инструментов вашим LLM, а FastMCP делает создание серверов MCP простым и интуитивно понятным. Создавайте инструменты, предоставляйте ресурсы и определяйте подсказки с помощью чистого кода Python!
🔐 Лицензия: MIT
🖥 Github (https://github.com/jlowin/fastmcp)
@Python_Community_ru
🌟 Серверы Model Context Protocol (MCP) — это новый стандартизированный способ предоставления контекста и инструментов вашим LLM, а FastMCP делает создание серверов MCP простым и интуитивно понятным. Создавайте инструменты, предоставляйте ресурсы и определяйте подсказки с помощью чистого кода Python!
🔐 Лицензия: MIT
🖥 Github (https://github.com/jlowin/fastmcp)
@Python_Community_ru
🔥1
🤖 MimicKit: Алгоритмы имитации движений для тренировки контроллеров
MimicKit предлагает набор алгоритмов для имитации движений, включая DeepMimic и другие. Поддерживает обучение с использованием методов глубокого обучения и RL, таких как PPO и AWR. Идеально подходит для создания реалистичных анимаций.
🚀Основные моменты:
- Алгоритмы имитации движений и RL.
- Поддержка многопроцессорного и многопоточного обучения.
- Визуализация тренировочных данных и логов.
- Простая интеграция с IsaacGym.
📌 GitHub: https://github.com/xbpeng/MimicKit
#python
@Python_Community_ru
MimicKit предлагает набор алгоритмов для имитации движений, включая DeepMimic и другие. Поддерживает обучение с использованием методов глубокого обучения и RL, таких как PPO и AWR. Идеально подходит для создания реалистичных анимаций.
🚀Основные моменты:
- Алгоритмы имитации движений и RL.
- Поддержка многопроцессорного и многопоточного обучения.
- Визуализация тренировочных данных и логов.
- Простая интеграция с IsaacGym.
📌 GitHub: https://github.com/xbpeng/MimicKit
#python
@Python_Community_ru
🎧 Хотите превратить любую книгу в аудиокнигу?
Нашли бесплатную нейронку, которая за считанные секунды озвучит даже огромный роман.
✨ Возможности:
— Поддержка множества языков
— Реалистичные голоса от модели KokoroTTS
— Можно создать собственный голос, если готовые не подходят
— Простая установка без лишних заморочек
— Полностью open-source и бесплатный инструмент
🔗 Забираем на GitHub — и слушаем либимые книги 📚🎶
https://github.com/denizsafak/abogen
@Python_Community_ru
Нашли бесплатную нейронку, которая за считанные секунды озвучит даже огромный роман.
✨ Возможности:
— Поддержка множества языков
— Реалистичные голоса от модели KokoroTTS
— Можно создать собственный голос, если готовые не подходят
— Простая установка без лишних заморочек
— Полностью open-source и бесплатный инструмент
🔗 Забираем на GitHub — и слушаем либимые книги 📚🎶
https://github.com/denizsafak/abogen
@Python_Community_ru
🔥 Video2X (https://github.com/k4yt3x/video2x) — фреймворк с открытым исходным кодом, предназначенный для повышения разрешения видео и интерполяции кадров с использованием методов машинного обучения!
🌟 Изначально созданный в 2018 году на хакатоне Hack the Valley II, проект претерпел значительные изменения, и в версии 6.0.0 был полностью переписан на C/C++, что обеспечило более высокую производительность и эффективность. Video2X поддерживает кроссплатформенную работу на Windows и Linux, предоставляя пользователям возможность улучшать качество видео с помощью таких технологий, как Anime4K v4, RealESRGAN, RealCUGAN и RIFE.
💡 Основные возможности Video2X включают два режима работы: фильтрация (увеличение разрешения) и интерполяция кадров. Инструмент поддерживает различные модели и шейдеры, совместимые с MPV, а также обеспечивает обработку без необходимости в дополнительном дисковом пространстве, требуя только место для конечного результата.
🔐 Лицензия: AGPL-3.0
🖥 Github (https://github.com/k4yt3x/video2x)
@Python_Community_ru
🌟 Изначально созданный в 2018 году на хакатоне Hack the Valley II, проект претерпел значительные изменения, и в версии 6.0.0 был полностью переписан на C/C++, что обеспечило более высокую производительность и эффективность. Video2X поддерживает кроссплатформенную работу на Windows и Linux, предоставляя пользователям возможность улучшать качество видео с помощью таких технологий, как Anime4K v4, RealESRGAN, RealCUGAN и RIFE.
💡 Основные возможности Video2X включают два режима работы: фильтрация (увеличение разрешения) и интерполяция кадров. Инструмент поддерживает различные модели и шейдеры, совместимые с MPV, а также обеспечивает обработку без необходимости в дополнительном дисковом пространстве, требуя только место для конечного результата.
🔐 Лицензия: AGPL-3.0
🖥 Github (https://github.com/k4yt3x/video2x)
@Python_Community_ru
👩💻 django-cors-headers (https://github.com/adamchainz/django-cors-headers) — Django-приложение для обработки заголовков Cross-Origin Resource Sharing (CORS)!
🌟 Этот инструмент позволяет вашему Django-приложению принимать запросы из браузеров, отправленные с других доменов. Это особенно полезно для API-серверов или приложений, которые обслуживают фронтенд и бэкенд с разных доменов или портов.
🌟 Инструмент позволяет гибко управлять настройками CORS, включая поддержку конкретных методов, заголовков и настроек безопасности. Например, вы можете настроить разрешение только для определённых доменов или включить временный доступ для локальной разработки. Однако важно понимать риски, связанные с CORS, поскольку неправильная конфигурация может открыть доступ к вашим данным для нежелательных источников.
🔐 Лицензия: MIT
🖥 Github (https://github.com/adamchainz/django-cors-headers)
@Python_Community_ru
🌟 Этот инструмент позволяет вашему Django-приложению принимать запросы из браузеров, отправленные с других доменов. Это особенно полезно для API-серверов или приложений, которые обслуживают фронтенд и бэкенд с разных доменов или портов.
🌟 Инструмент позволяет гибко управлять настройками CORS, включая поддержку конкретных методов, заголовков и настроек безопасности. Например, вы можете настроить разрешение только для определённых доменов или включить временный доступ для локальной разработки. Однако важно понимать риски, связанные с CORS, поскольку неправильная конфигурация может открыть доступ к вашим данным для нежелательных источников.
🔐 Лицензия: MIT
🖥 Github (https://github.com/adamchainz/django-cors-headers)
@Python_Community_ru
🧠 Human3R: Инновации в 3D-моделировании человека
Human3R предлагает эффективный подход к 3D-восстановлению человека с использованием единой модели и этапа. Система позволяет проводить обучение всего за один день на одном GPU, обеспечивая высокую производительность и простоту в использовании.
🚀 Основные моменты:
- Одноэтапное восстановление 3D-моделей.
- Быстрое обучение на одном GPU.
- Поддержка различных форматов ввода.
- Интуитивно понятный интерфейс для визуализации результатов.
📌 GitHub:
#python
@Python_Community_ru
https://github.com/fanegg/Human3R
Human3R предлагает эффективный подход к 3D-восстановлению человека с использованием единой модели и этапа. Система позволяет проводить обучение всего за один день на одном GPU, обеспечивая высокую производительность и простоту в использовании.
🚀 Основные моменты:
- Одноэтапное восстановление 3D-моделей.
- Быстрое обучение на одном GPU.
- Поддержка различных форматов ввода.
- Интуитивно понятный интерфейс для визуализации результатов.
📌 GitHub:
#python
@Python_Community_ru
https://github.com/fanegg/Human3R
GitHub
GitHub - fanegg/Human3R: An unified model for 4D human-scene reconstruction
An unified model for 4D human-scene reconstruction - fanegg/Human3R