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]