Проверьте с помощью cumsum
логической серии + where
+ nunique
. Здесь «выше» не включает X
X = 200
df['mtm_level'].le(X).cumsum().where(df['mtm_level'].gt(X)).nunique()
#2
X = 1000
df['mtm_level'].le(X).cumsum().where(df['mtm_level'].gt(X)).nunique()
#0
Этот вопрос также был размещен в списке рассылки Boost, и мы получили ответ на него здесь: http://lists.boost.org/boost-build/2009/04/ 21734.php .
Таким образом, кажется, что ответ таков, что, по крайней мере, из коробки, Boost.Build не имеет этой функции, и решение состоит в том, чтобы настроить Boost.Build для ваших нужд. Это имеет определенный смысл.
Однако мне все еще любопытно, почему это не более распространенная проблема для людей. Я вижу, что кэширование зависимостей сократит время, но, безусловно, если мы сканируем все внешние библиотеки , мы получаем огромное дерево зависимостей, большая часть которого избыточна? Когда я работаю над проектом, я вообще не буду часто менять сторонние библиотеки, кажется, стыдно платить за проверку зависимостей от них.
Возможно, вы захотите проверить альтернативные инструменты сборки, такие как SCons . SCons имеет режим - implicit-cache , где он кэширует неявные зависимости. Это должно помочь в сценарии, который вы описали.
Вот выдержка из справочной страницы .
- implicit-cache
Кэшируйте неявные зависимости. Это заставляет scons использовать неявные (отсканированные) зависимости с момента последнего запуска, а не проверять файлы на наличие неявных зависимостей. Это может значительно ускорить SCons, но со следующими ограничениями: scons will not detect changes to implicit dependency search paths (e.g. CPPPATH, LIBPATH) that would ordinarily cause different versions of same-named files to be used. scons will miss changes in the implicit dependencies in cases where a new implicit dependency is added earlier in the implicit dependency search path (e.g. CPPPATH, LIBPATH) than a current implicit dependency with the same name.--implicit-deps-changed
Forces SCons to ignore the cached implicit dependencies. This causes the implicit dependencies to be rescanned and recached. This implies --implicit-cache.--implicit-deps-unchanged
Force SCons to ignore changes in the implicit dependencies. This causes cached implicit dependencies to always be used. This implies --implicit-cache.