У меня есть фрейм данных, который выглядит следующим образом:
>data
x y
Name
A NaN 0
B 65,2 NaN
C NaN 100
Я создаю набор-объект pyomo m.index
для индексации изменяемого объекта-параметра pyomo m.parameter_y
.
m.index
:
# code
m.index = pyomo.Set(
initialize=data.index.get_level_values(0).unique(),
doc='Index Set')
# output
(Pdb) m.index.pprint()
index : Index Set
Dim=0, Dimen=1, Size=3, Domain=None, Ordered=False, Mutable=True, Bounds=None
['A', 'B', 'C']
m.parameter_y
:
# code
m.parameter_y = pyomo.Param(
m.index,
default=data['y'].values,
mutable=True
doc='Par y')
# output
(Pdb) m.parameter_y.pprint()
parameter_y : Par y
Size=3, Index=index, Domain=Any, Default=None, Mutable=True
Key : Value
A : [ 0 nan 100. ]
B : [ 0 nan 100. ]
C : [ 0 nan 100. ]
Как вы можете видеть, используя default=df['y'].values
, получает все значения столбца y
как значение параметра.
Как мне установить значения изменяемого индексированного объекта-параметра pyomo, если я хочу ожидать следующего вывода?
(Pdb) m.parameter_y.pprint()
parameter_y : Par y
Size=3, Index=index, Domain=Any, Default=None, Mutable=True
Key : Value
A : [ 0 ]
B : [ nan ]
C : [ 100 ]
PS: имейте в виду, что это не фактический фрейм данных, набор индексов или параметр. Поэтому такие ответы, как добавление значений каким-либо образом вручную, в моем случае не сработают. Что бы сработало, какая-то лучшая функция получения значения из фрейма данных, чтобы я мог установить эти значения для этого параметра по умолчанию.