Numpy:How 到 select 结果值?
Numpy:How to select values from results?
我想 select 来自 pyomo 抽象模型的列表结果的特定值。我有 240 个值,我想将它分成 10 组并从每个 group.I 中提取值尝试将其作为一个数组并切片 values.But 它不起作用的特定部分。
有人可以帮我吗?谢谢!
代码:
...
for j in instance.J:
for t in instance.T:
print(value(instance.P[j,t]))
结果:
...
80.0
80.0
80.0
80.0
80.0
80.0
119.61130640682207
124.38162436892358
148.5439185323972
151.69344888703213
150.13095948759553
153.9634325088356
151.4005914397506
146.00465298729122
...
有问题的数据对象不是 numpy 数组,因此上面的注释(不幸的是)不起作用。该对象是一个 pyomo 模型对象。
Vivi- 你很接近。您需要在执行操作时使用索引变量对对象进行索引。只需检查 .value
属性(请参阅下面我的编辑)。您可以将所有这些东西放入列表中并忘记它们的索引(我认为这是一个奇怪的选择)或将它们放入 python 数据结构或只是打印它们。
如果你想细分,你还需要以某种聪明的方式切碎你拥有的双索引。或者把你之后放的东西切碎......
all_results = []
for j in instance.J:
for t in instance.T:
all_results.append(instance.P[j,t].value)) # <- note use of "value"
first_half = all_results[:len(all_results)//2]
我想 select 来自 pyomo 抽象模型的列表结果的特定值。我有 240 个值,我想将它分成 10 组并从每个 group.I 中提取值尝试将其作为一个数组并切片 values.But 它不起作用的特定部分。
有人可以帮我吗?谢谢!
代码:
...
for j in instance.J:
for t in instance.T:
print(value(instance.P[j,t]))
结果:
...
80.0
80.0
80.0
80.0
80.0
80.0
119.61130640682207
124.38162436892358
148.5439185323972
151.69344888703213
150.13095948759553
153.9634325088356
151.4005914397506
146.00465298729122
...
有问题的数据对象不是 numpy 数组,因此上面的注释(不幸的是)不起作用。该对象是一个 pyomo 模型对象。
Vivi- 你很接近。您需要在执行操作时使用索引变量对对象进行索引。只需检查 .value
属性(请参阅下面我的编辑)。您可以将所有这些东西放入列表中并忘记它们的索引(我认为这是一个奇怪的选择)或将它们放入 python 数据结构或只是打印它们。
如果你想细分,你还需要以某种聪明的方式切碎你拥有的双索引。或者把你之后放的东西切碎......
all_results = []
for j in instance.J:
for t in instance.T:
all_results.append(instance.P[j,t].value)) # <- note use of "value"
first_half = all_results[:len(all_results)//2]