Example #1
0
    def dependent_columns(self, dataset):
        value = parse_float(self.value)
        if value is not None:
            return []

        # if value is not number or date, add as a column
        return [self.value]
Example #2
0
    def group(self):
        """For when aggregation is called with a group parameter."""
        self.column = self.column.apply(lambda value: parse_float(value))
        group_dframe = self.dframe[self.groups].join(self.column)
        indices = group_dframe.reset_index().set_index(
            self.groups + [self.name])

        def max_index_for_row(row):
            groups = row[self.groups]
            value = row[self.name]

            xsection = indices.xs(groups, level=self.groups)

            if isnan(value):
                return minint()

            max_index = xsection.get_value(value, 'index')

            if isinstance(max_index, Series):
                max_index = max_index.max()

            return max_index

        groupby_max = self._groupby().max().reset_index()
        column = groupby_max.apply(max_index_for_row, axis=1).apply(int)
        column.name = self.name

        return DataFrame(column).join(groupby_max[self.groups])
Example #3
0
    def group(self):
        """For when aggregation is called with a group parameter."""
        self.column = self.column.apply(lambda value: parse_float(value))
        group_dframe = self.dframe[self.groups].join(self.column)
        indices = group_dframe.reset_index().set_index(
            self.groups + [self.name])

        def max_index_for_row(row):
            groups = row[self.groups]
            value = row[self.name]

            xsection = indices.xs(groups, level=self.groups)

            if isnan(value):
                return minint()

            max_index = xsection.get_value(value, 'index')

            if isinstance(max_index, Series):
                max_index = max_index.max()

            return max_index

        groupby_max = self._groupby().max().reset_index()
        column = groupby_max.apply(max_index_for_row, axis=1).apply(int)
        column.name = self.name

        return DataFrame(column).join(groupby_max[self.groups])
Example #4
0
    def dependent_columns(self, dataset):
        value = parse_float(self.value)
        if value is not None:
            return []

        # if value is not number or date, add as a column
        return [self.value]
Example #5
0
    def eval(self, row, dataset):
        value = parse_float(self.value)
        if value is not None:
            return value

        # it may be a variable
        field = self.field(row)

        # test is date and parse as date
        return self.__parse_field(field, dataset)
Example #6
0
    def eval(self, row, dataset):
        value = parse_float(self.value)
        if value is not None:
            return value

        # it may be a variable
        field = self.field(row)

        # test is date and parse as date
        return self.__parse_field(field, dataset)