Вы можете отфильтровать свои значения перед группировкой, добавить столбец с именем диапазона и затем объединить результаты.
agg_range_0_200 = df
.filter('Amt > 0 and Amt < 200')
.groupBy('Categ').agg(mean('price'))
.withColumn('rang(Amt)', '[0-200]')
agg_range_150_300 = df
.filter('Amt > 150 and Amt < 300')
.groupBy('Categ').agg(mean('price'))
.withColumn('rang(Amt)', '[150-300]')
agg_range = agg_range_0_200.union(agg_range_150_300)
Я не думаю, что существует API в Windows, который может сказать Вам, которых изменили части экрана.
Один возможный путь использует видео зеркальный драйвер как использование UltraVNC.
Я думаю, что Вы найдете некоторые подсказки здесь Экранным Устройством записи События DLL/приложение, здесь О Рычагах и сюда Записи Макро-Устройства записи/Плеера с помощью Рычагов Журнала Win32
Казалось бы, что Вы оказываетесь перед необходимостью делать маленькую работу для обнаружения экранных изменений. Эта регистрация по tech-archive.net, например. С этим можно скопировать в RAM ссылочный экран и затем взять другого и сравнить два. Было бы ваше дело определять, какое изменение является значимым. Это - подобный материал к этой статье о настольном получении.
Я думаю потоки Удаленного рабочего стола GDI как команды. Я не знаю, как они получают их во-первых.
Спасибо за Вашу справку все. Я закончил тем, что писал изображение differencing класс, который, кажется, вычисляет измененные удивительно быстрые прямоугольники. Я отправил суть того, как она работает здесь.
В данный момент я просто делаю его в таймере, но планирую сделать это после входных событий также.
Спасибо помещает в "кучу" для Ваших ссылок Повышение - я только что посмотрел на этот поток снова, таким образом, я скоро проверю их.