示例#1
0
def _to_frame_inner(cellsiter, args):

    from modelx.io.pandas import cellsiter_to_dataframe

    if len(args) == 1:
        if isinstance(args[0], Sequence) and len(args[0]) == 0:
            pass  # Empty sequence
        else:
            args = args[0]

    if len(args) and shareable_parameters(cellsiter) is None:
        raise RuntimeError("Parameters not shared")

    argkeys = []
    for arg in args:
        for cells in cellsiter.values():

            newarg = tuplize_key(cells, arg, remove_extra=True)
            cells.get_value(newarg)
            arg = tuplize_key(cells, arg, remove_extra=False)

            if arg not in argkeys:
                argkeys.append(arg)

    return cellsiter_to_dataframe(cellsiter, argkeys)
示例#2
0
    def tuplize_arg_sequence(self, argseq):

        if len(argseq) == 1:
            if isinstance(argseq[0], Sequence) and len(argseq[0]) == 0:
                pass  # Empty sequence
            else:
                argseq = argseq[0]

        for arg in argseq:
            self.get_value(tuplize_key(self, arg, remove_extra=True))

        return tuple(tuplize_key(self, arg) for arg in argseq)
示例#3
0
def _new_cells_from_series(self, series, name, param, source):

    if is_valid_name(name):
        pass
    else:
        if is_valid_name(series.name):
            name = series.name

    cells = self.new_cells(name=name,
                           formula=get_param_func(
                               _get_param_names(series, param)),
                           source=source)

    for i, v in series.items():
        cells.set_value(tuplize_key(cells, i),
                        v.item() if isinstance(v, np.generic) else v)

    return cells
示例#4
0
 def __setitem__(self, key, value):
     """Set value of a particular cell"""
     self._impl.set_value(tuplize_key(self, key), value)
示例#5
0
 def __getitem__(self, key):
     return self._impl.get_value(tuplize_key(self, key))
示例#6
0
 def __contains__(self, key):
     return self._impl.has_cell(tuplize_key(self, key))
示例#7
0
 def __getitem__(self, key):
     return self._impl.get_dynspace(tuplize_key(self, key)).interface