Создать массив, который кумулятивно повторяется - PullRequest
0 голосов
/ 16 апреля 2020

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

Я, однако, привязываю себя к петлям, и я уверен, что есть более простой способ сделать это.

Проблема, с которой я столкнулся (если я использую приведенный ниже пример, а не код), заключается в следующем: я не могу взять использование из резервуара в совокупности, но таким образом, чтобы он мог вернуться обратно к полному емкость, когда он попадает в триггер пополнения.

Я пытался использовать np.cumsum, но когда он пополняется до <6, он удаляет 5, а не 1. </p>

пример того, чего я хочу достичь :

tank = 10, 9, 8, 7, 6, 10, 9, 8, 7, 6, 10

usage = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

resupply = 2

Это моя текущая попытка кода:

f_resupply_trigger = 6000
f_tank_volume = 10000
f_tank_current = np.full((91,1),f_tank_volume)
f_resupplies = 0

#Calculate the daily usage rate per type
f_flow_o = f_plan_v * flow_rate[0]
f_flow_o2p = f_plan_v * flow_rate[1]
f_flow_v = f_plan_v * flow_rate[2]
f_flow_CV = np.array([f_flow_o + f_flow_o2p + f_plan_v])
f_flow_total_CV = np.cumsum(f_flow_CV, dtype=float)

#calcualate what is in the tank by taking the daily consumption from the tank
for i in f_flow_total_CV:
    for y in f_tank_current:
        a = y - i
        y = a
        y = y+1
    i = i + 1

# predict the resupply requirement
for i in f_tank_current:
    if i < f_resupply_trigger:
        f_tank_current = f_tank_volume
        f_resupplies + 1
    i = i + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...