В ноутбуке Jupyter я OO-моделировал ресурс, но в цикле управления нужно объединять данные по нескольким объектам, что неэффективно по сравнению с ufuncs и подобными операциями.
Чтобы упаковать функциональность, я выбрал OO, но для эффективного и лаконичного кода мне, вероятно, придется вытащить данные в класс хранения (возможно) и поместить все строки ri [0] в 2d массив, в этом случае (2,K).Классу не нужен журнал, только последние записи.
K = 100
class Resource:
def __init__(self):
self.log = np.random( (5,K) )
# log gets filled during simulation
r0 = Resource()
r1 = Resource()
# while control loop:
#aggregate control data
for k in K:
total_row_0 = r0.log[0][k] + r1.log[0][k]
#do sth with the totals and loop again
Это значительно повысит производительность, но у меня возникают трудности с привязкой данных к классу, если они хранятся отдельно.Как бы вы подошли к этому?pandas DataFrames, np View или Shallow Copy?
[[...] #r0
[...] ]#r1 same data into one array, efficient but map back to class difficult