classmethod AMPL.setData(dataframe, assignSets)
用法
setData(dataframe)
setData(dataframe, setName)
說明
setData(dataframe)
` 將 DataFrame 中的數據分配給具有相應名稱的 AMPL 實體
setData(dataframe, setName)
將 DataFrame 中的數據分配給具有相應名稱的 AMPL 實體(以及指定集合的索引列)
輸入參數
dataframe
A
,其名稱對應於底層 AMPL 解釋器中當前定義的實體。DataFrame
setName
要將DataFrame 的索引值分配到的集合的名稱。請注意,最多可以與參數同時分配一組(對於具有多個索引列的
)DataFrame
示例 1
使用一個索引列和任意列名創建DataFrame,填充它並將值設置為參數
d = DataFrame(1, {'PROD', 'price', 'cost'});
d.addRow('shirts', 10, 5);
d.addRow('skirts', 8, 6);
ampl.eval('set PROD; param price{PROD}; param cost{PROD};')
ampl.setData(d, 'PROD');
% now the AMPL parameters price and cost, as well as the set PROD are assigned the listed values
示例 2
創建一個DataFrame 對象,從 AMPL 實體推斷表結構。必須首先列出集合。不要將設置值分配給 AMPL(一次不支持多個設置)。
ampl.eval('set PROD; set COLOUR; param price{PROD, COLOUR};');
ampl.eval('data; set PROD := shirts skirts; set COLOUR := red blue; model;');
PROD = ampl.getSet('PROD');
COLOUR = ampl.getSet('COLOUR');
price = ampl.getParameter('price');
d = DataFrame([PROD, COLOUR, price]);
d.addRow({'shirts', 'red', 5});
d.addRow({'shirts', 'blue', 4.5});
d.addRow({'skirts', 'blue', 5.5});
ampl.setData(d);
% now the AMPL parameter cost will have the assigned value
price.display
會給:
ans =
price :=
shirts blue 4.5
shirts red 5
skirts blue 5.5
相關用法
- Matlab AMPL AMPL.setOption用法及代碼示例
- Matlab AMPL AMPL.solve用法及代碼示例
- Matlab AMPL AMPL.show用法及代碼示例
- Matlab AMPL AMPL.getSets用法及代碼示例
- Matlab AMPL AMPL.eval用法及代碼示例
- Matlab AMPL AMPL.close用法及代碼示例
- Matlab AMPL AMPL.getObjectives用法及代碼示例
- Matlab AMPL AMPL.initializeEvents用法及代碼示例
- Matlab AMPL AMPL.expand用法及代碼示例
- Matlab AMPL AMPL.reset用法及代碼示例
- Matlab AMPL AMPL.display用法及代碼示例
- Matlab AMPL AMPL.isRunning用法及代碼示例
- Matlab AMPL AMPL.getValue用法及代碼示例
- Matlab AMPL AMPL.getVariables用法及代碼示例
- Matlab AMPL AMPL.getConstraints用法及代碼示例
- Matlab AMPL AMPL.getParameters用法及代碼示例
- Matlab AMPL AMPL.getData用法及代碼示例
- Matlab AMPL AMPL.read用法及代碼示例
- Matlab AMPL AMPL.readData用法及代碼示例
- Matlab AMPL AMPL.getOption用法及代碼示例
注:本文由純淨天空篩選整理自ampl.com大神的英文原創作品 setData。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。