Как суммировать диапазоны с Python в зависимости от состояния? - PullRequest
0 голосов
/ 05 мая 2019

Мне трудно найти правильные термины для того, что я хочу сделать, поэтому мой вопрос (название) на данный момент немного неточен (отредактирую, как только будет лучше понят).

Один пример: у меня есть временные диапазоны на каждый день:

[ { "begin": "02:05", "end": "07:05" },
  { "begin": "14:05", "end": "17:05" } ]

В это время ресурс доступен (в моем случае дешевле электричество).

Тогда есть объект, который хочет использовать этот ресурс в качестве приоритета в течение этих временных интервалов. (в моем случае заряжается огромная батарея). Существует также время начала и идеальное время окончания.

Та же проблема существует с другими диапазонами, использующими другие единицы. Например, огромная батарея имеет разную эффективность зарядки в зависимости от ее состояния зарядки. Так что скорость зарядки разная.

[ { "begin": 0,    "end": 0.1, "eff": 0.82 },
  { "begin": 0.11, "end": 0.8, "eff": 0.98 },
  { "begin": 0.81, "end": 1,   "eff": 0.82 } ]

Эта таблица необходима для расчета общего времени, необходимого для зарядки до выбранного состояния, с использованием доступной мощности, емкости аккумулятора и целевого состояния заряда.


Какое правильное название для такого рода проблем? Каковы правильные условия?

Моя текущая реализация зацикливается на этих диапазонах, и куча операторов if и else обрабатывают угловые случаи. Это работает, но я не очень горжусь кодом.

Есть ли в Python библиотека / инструмент, которые могли бы помочь мне упростить мои уродливые циклы?

Существует ли библиотека python, предоставляющая механизм для вычисления

1 Ответ

0 голосов
/ 05 мая 2019

Я все еще не совсем уверен, каким именно будет ваш ожидаемый результат, но из комментария htr.dev я думаю, что вы хотите стремиться к некоторой взвешенной сумме матрицы.

Это можеттребуется немного поиграться с матрицей и вектором, но это может привести к тому, что код станет более чистым, простым и немного более быстрым.

Насколько я знаю, такие библиотеки, как numpy, предлагают функциональность для таких задач.расчеты.Посмотрите на этот вопрос: Суммарный массив с весами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...