Telegram Web
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 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.

@pythonl
13🔥10👍4
🧩 Эффективное кэширование для Python-приложений

dm-cache — это библиотека для кэширования данных в Python, которая обеспечивает высокую производительность и простоту использования. Она поддерживает различные стратегии кэширования и позволяет легко интегрироваться в существующие приложения, улучшая их скорость и отзывчивость.

🚀 Основные моменты:
- Поддержка различных стратегий кэширования.
- Простая интеграция в Python-приложения.
- Высокая производительность и эффективность.
- Легкий в использовании API.

📌 GitHub: https://github.com/mingzhao/dm-cache

#python
5👍5🔥2
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

@pythonl
🔥73👍2
2025/10/20 03:24:04
Back to Top
HTML Embed Code: