當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。