当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Matlab AMPL AMPL.getData用法及代码示例


classmethod AMPL.getData(displayExpressions)

用法

df = getData(displayExpressions)

说明

df = getData(displayExpression) 获取 DataFrame 中显示语句对应的数据。语句可以是 AMPL 表达式或实体。它捕获命令的等效项:display ds1, ..., dsn; 其中 ds1, ..., dsn 是传递给函数的字符串。由于只返回一个DataFrame,如果显示语句的结果不能在同一个集合上被索引,操作将失败。因此,任何从多个集合中获取数据的尝试,或从具有不同索引集数量的多个参数中获取数据的任何尝试都将失败。

输入参数

displayExpression 表示要提取到 DataFrame 中的显示表达式的字符串列表

输出参数

df A DataFrame 包含显示表达式返回的值

示例 1

将 AMPL 表达式的值获取到 DataFrame 中

ampl.eval('var x{i in 1..100} := i;);
df = ampl.getData('{i in 1..100 : x[i] >= 98} x[i]')

给出:

df =

index0  |  x[i]
98.0    |  98.0
99.0    |  99.0
100.0   |  100.0

示例 2

在同一 DataFrame 中获取多个值

ampl.eval('var x{i in 1..2, j in 3..4} := i+10*j;');
ampl.eval('var y{i in 2..4, j in 4..5} := i*j;');
df = ampl.getData('x', 'y')

会给:

df =
index0  index1  |  x     y
1.0     3.0     |  31.0
1.0     4.0     |  41.0
2.0     3.0     |  32.0
2.0     4.0     |  42.0  8.0
2.0     5.0     |        10.0
3.0     4.0     |        12.0
3.0     5.0     |        15.0
4.0     4.0     |        16.0
4.0     5.0     |        20.0

相关用法


注:本文由纯净天空筛选整理自ampl.com大神的英文原创作品 getData。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。