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


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

classmethod DataFrame.DataFrame()

用法

df = DataFrame([amplEntities])

df = DataFrame(int numberOfIndexColumns, header1, ..., headern)

说明

df = DataFrame([amplEntities]) 创建一个骨架结构,其中根据用作标题的 AMPL 实体自动推断索引列

df = DataFrame(numberOfIndexColumns, header1, ..., headern)创建一个 scheleton 结构,其中任意对象可以用作列标题(在与 AMPL 解释器通信时,它们将被转换为它们的字符串表示形式)。

输入参数

numberOfIndexColumns 在此对象表示的表中被视为索引的列数。在DataFrames 表示标量数据的情况下可以为零。

amplEntities AMPL 实体的向量(通过 AMPL.getEntity 处的函数之一获得)。集合应该首先列出,因为它必须是表的第一列。

header1,...,headern 用作列标题的标题列表。这些名称将指定在使用 AMPL.setData 时如何将数据绑定到 AMPL 实体。

输出参数

df

可用于分配和操作数据的DataFrame 对象。

示例 1

创建一个具有从 AMPL 实体开始的两个索引列的 DataFrame ,并逐行填充它们:

ampl.eval('set PROD; set COLOUR; param price{PROD, COLOUR};');
PROD = ampl.getSet('PROD');
COLOUR = ampl.getSet('COLOUR');
price = ampl.getParameter('price');

df = DataFrame(PROD, COLOUR, price);
df.addRow('shirts', 'red', 5);
df.addRow('shirts', 'blue',  4.5);
df.addRow('skirts', 'blue',  5.5);
df

给出:

df =
PROD    COLOUR  |  price
shirts  red     |  5.0
shirts  blue    |  4.5
skirts  blue    |  5.5

示例 2

创建一个包含一个索引列和两个数据列的 DataFrame ,开始逐行添加数据,然后添加一整列数据

df = DataFrame(1, 'PROD', 'price');
df.addRow('shirts', 5);
df.addRow('skirts', 4.5);
df.addColumn('cost', [4.5 5])
df

给出:

df =
PROD    |  price  cost
shirts  |  5.0    4.5
skirts  |  4.5    5.0

相关用法


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