コード例 #1
0
ファイル: pd_groupby_ext.py プロジェクト: Sanyam07/sdc
        def generic(self, args, kws):
            assert not kws
            df, values, index, columns, aggfunc, _pivot_values = args

            if not (isinstance(values, types.StringLiteral)
                    and isinstance(index, types.StringLiteral)
                    and isinstance(columns, types.StringLiteral)):
                raise ValueError(
                    "pivot_table() only support string constants for"
                    "'values', 'index' and 'columns' arguments")

            values = values.literal_value
            index = index.literal_value
            columns = columns.literal_value

            # get output data type
            data = df.data[df.columns.index(values)]
            func = get_agg_func(None, aggfunc.literal_value, None)
            f_ir = numba.ir_utils.get_ir_of_code(
                {
                    'np': np,
                    'numba': numba,
                    'sdc': sdc
                }, func.__code__)
            _, out_dtype, _ = numba.typed_passes.type_inference_stage(
                self.context, f_ir, (data, ), None)
            out_arr_typ = _get_series_array_type(out_dtype)

            pivot_vals = _pivot_values.meta
            n_vals = len(pivot_vals)
            out_df = DataFrameType((out_arr_typ, ) * n_vals, None,
                                   tuple(pivot_vals))

            return signature(out_df, *args)
コード例 #2
0
ファイル: pd_groupby_ext.py プロジェクト: Sanyam07/sdc
 def resolve_std(self, grp, args, kws):
     func = get_agg_func(None, 'std', None)
     return self._get_agg_typ(grp, args, func.__code__)