def select_attrs(table, features, class_var=None, class_vars=None, metas=None):
    """ Select only ``attributes`` from the ``table``.
    """
    if class_vars is None:
        domain = Domain(features, class_var)
    else:
        domain = Domain(features, class_var, class_vars=class_vars)
    if metas:
        domain.add_metas(metas)
    return Table(domain, table)
def select_attrs(table, features, class_var=None,
                 class_vars=None, metas=None):
    """ Select only ``attributes`` from the ``table``.
    """
    if class_vars is None:
        domain = Domain(features, class_var)
    else:
        domain = Domain(features, class_var, class_vars=class_vars)
    if metas:
        domain.add_metas(metas)
    return Table(domain, table)
def take(table, indices, axis=0):
    """ Take values form the ``table`` along the ``axis``. 
    """
    indices = mask_to_indices(indices, (len(table), len(table.domain)), axis)
    if axis == 0:
        # Take the rows (instances)
        instances = [table[i] for i in indices]
        table = Table(instances) if instances else Table(table.domain)
    elif axis == 1:
        # Take the columns (attributes)
        variables = table.domain.variables
        vars = [variables[i] for i in indices]
        domain = Domain(vars, table.domain.class_var in vars)
        domain.add_metas(table.domain.get_metas())
        table = Table(domain, table)
    return table
示例#4
0
def take(table, indices, axis=0):
    """ Take values form the ``table`` along the ``axis``. 
    """
    indices = mask_to_indices(indices, (len(table), len(table.domain)), axis)
    if axis == 0:
        # Take the rows (instances)
        instances = [table[i] for i in indices]
        table = Table(instances) if instances else Table(table.domain)
    elif axis == 1:
        # Take the columns (attributes)
        variables = table.domain.variables
        vars = [variables[i] for i in indices]
        domain = Domain(vars, table.domain.class_var in vars)
        domain.add_metas(table.domain.get_metas())
        table = Table(domain, table)
    return table
def join_domains(domain1, domain2):
    variables = domain1.variables + domain1.variables
    used_set = set()
    def used(vars):
        mask = []
        for var in vars:
            mask.append(var not in used_set)
            used_set.add(var)
            
    used_mask1 = used(domain1.variables)
    used_mask2 = used(domain2.variables)
    if domain2.classVar:
        used_mask2[-1] = True
        
    variables = [v for v, used in zip(variables, used_mask1 + used_mask2)]
    
    joined_domain = Domain(variables, domain2.classVar)
    joined_domain.add_metas(domain1.get_metas())
    joined_domain.add_metas(domain2.get_metas())
    return joined_domain, used_mask1, used_mask2
示例#6
0
def join_domains(domain1, domain2):
    variables = domain1.variables + domain1.variables
    used_set = set()

    def used(vars):
        mask = []
        for var in vars:
            mask.append(var not in used_set)
            used_set.add(var)

    used_mask1 = used(domain1.variables)
    used_mask2 = used(domain2.variables)
    if domain2.classVar:
        used_mask2[-1] = True

    variables = [v for v, used in zip(variables, used_mask1 + used_mask2)]

    joined_domain = Domain(variables, domain2.classVar)
    joined_domain.add_metas(domain1.get_metas())
    joined_domain.add_metas(domain2.get_metas())
    return joined_domain, used_mask1, used_mask2