【发布时间】:2020-11-14 04:17:21
【问题描述】:
我想从 pyomo 抽象模型的列表结果中选择特定值。我有 240 个值,我想将其分成 10 个组并从每个组中提取值。我尝试将其作为数组并切片值的特定部分。但它不起作用。
有人可以帮我吗?谢谢!
代码:
...
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数组吗?
-
如果 instance.{J/T} 是 numpy 数组,您可以使用
instance.P[instance.J, instance.T]代替 for 循环并在变量中获取结果。 -
请提供一个可重现的例子和预期的结果。或者至少告诉我们
instance及其属性J、T和P是什么。我将“列表结果”和“240 个值”解释为一维列表/数组,但您的instance.P似乎有两个维度。 -
np 数组切片可以工作
np.array(list).reshape(10,24)[0:,3:] -
很抱歉,J 是发电机数量(1-10),T 是小时数(1-24),P 是功率(如上图所示)。它不是 numpy现在数组。结果是上面显示的 240 个值,我认为它应该是一个一维列表。我想把它分成十组,用numpy提取结果。