def __init__(self, wrapper, mapped_arr, col_arr, id_arr=None, idx_arr=None, value_map=None, **kwargs): Wrapping.__init__(self, wrapper, mapped_arr=mapped_arr, col_arr=col_arr, id_arr=id_arr, idx_arr=idx_arr, value_map=value_map, **kwargs) mapped_arr = np.asarray(mapped_arr) col_arr = np.asarray(col_arr) checks.assert_shape_equal(mapped_arr, col_arr, axis=0) if id_arr is None: id_arr = np.arange(len(mapped_arr)) if idx_arr is not None: idx_arr = np.asarray(idx_arr) checks.assert_shape_equal(mapped_arr, idx_arr, axis=0) if value_map is not None: if checks.is_namedtuple(value_map): value_map = to_value_map(value_map) self._mapped_arr = mapped_arr self._id_arr = id_arr self._col_arr = col_arr self._idx_arr = idx_arr self._value_map = value_map self._col_mapper = ColumnMapper(wrapper, col_arr)
def __init__(self, wrapper: ArrayWrapper, data: tp.Data, tz_localize: tp.Optional[tp.TimezoneLike], tz_convert: tp.Optional[tp.TimezoneLike], missing_index: str, missing_columns: str, download_kwargs: dict, **kwargs) -> None: Wrapping.__init__( self, wrapper, data=data, tz_localize=tz_localize, tz_convert=tz_convert, missing_index=missing_index, missing_columns=missing_columns, download_kwargs=download_kwargs, **kwargs ) StatsBuilderMixin.__init__(self) PlotsBuilderMixin.__init__(self) checks.assert_instance_of(data, dict) for k, v in data.items(): checks.assert_meta_equal(v, data[list(data.keys())[0]]) self._data = data self._tz_localize = tz_localize self._tz_convert = tz_convert self._missing_index = missing_index self._missing_columns = missing_columns self._download_kwargs = download_kwargs
def __init__(self, wrapper, data, tz_localize=None, tz_convert=None, missing_index=None, missing_columns=None, download_kwargs=None, **kwargs): Wrapping.__init__(self, wrapper, data=data, tz_localize=tz_localize, tz_convert=tz_convert, missing_index=missing_index, missing_columns=missing_columns, download_kwargs=download_kwargs, **kwargs) checks.assert_type(data, dict) for k, v in data.items(): checks.assert_meta_equal(v, data[list(data.keys())[0]]) self._data = data self._tz_localize = tz_localize self._tz_convert = tz_convert self._missing_index = missing_index self._missing_columns = missing_columns self._download_kwargs = download_kwargs
def __init__(self, wrapper: ArrayWrapper, records_arr: tp.RecordArray, col_mapper: tp.Optional[ColumnMapper] = None, **kwargs) -> None: Wrapping.__init__( self, wrapper, records_arr=records_arr, col_mapper=col_mapper, **kwargs ) StatsBuilderMixin.__init__(self) # Check fields records_arr = np.asarray(records_arr) checks.assert_not_none(records_arr.dtype.fields) field_names = { dct.get('name', field_name) for field_name, dct in self.field_config.get('settings', {}).items() } dtype = self.field_config.get('dtype', None) if dtype is not None: for field in dtype.names: if field not in records_arr.dtype.names: if field not in field_names: raise TypeError(f"Field '{field}' from {dtype} cannot be found in records or config") self._records_arr = records_arr if col_mapper is None: col_mapper = ColumnMapper(wrapper, self.col_arr) self._col_mapper = col_mapper
def __init__(self, wrapper: ArrayWrapper, col_arr: tp.Array1d, **kwargs) -> None: Wrapping.__init__( self, wrapper, col_arr=col_arr, **kwargs ) self._wrapper = wrapper self._col_arr = col_arr
def __init__(self, obj: tp.SeriesFrame, wrapper: tp.Optional[ArrayWrapper] = None, **kwargs) -> None: checks.assert_instance_of(obj, (pd.Series, pd.DataFrame)) self._obj = obj wrapper_arg_names = get_func_arg_names(ArrayWrapper.__init__) grouper_arg_names = get_func_arg_names(ColumnGrouper.__init__) wrapping_kwargs = dict() for k in list(kwargs.keys()): if k in wrapper_arg_names or k in grouper_arg_names: wrapping_kwargs[k] = kwargs.pop(k) if wrapper is None: wrapper = ArrayWrapper.from_obj(obj, **wrapping_kwargs) else: wrapper = wrapper.replace(**wrapping_kwargs) Wrapping.__init__(self, wrapper, obj=obj, **kwargs)
def __init__(self, wrapper: ArrayWrapper, mapped_arr: tp.ArrayLike, col_arr: tp.ArrayLike, id_arr: tp.Optional[tp.ArrayLike] = None, idx_arr: tp.Optional[tp.ArrayLike] = None, mapping: tp.Optional[tp.MappingLike] = None, col_mapper: tp.Optional[ColumnMapper] = None, **kwargs) -> None: Wrapping.__init__(self, wrapper, mapped_arr=mapped_arr, col_arr=col_arr, id_arr=id_arr, idx_arr=idx_arr, mapping=mapping, col_mapper=col_mapper, **kwargs) StatsBuilderMixin.__init__(self) mapped_arr = np.asarray(mapped_arr) col_arr = np.asarray(col_arr) checks.assert_shape_equal(mapped_arr, col_arr, axis=0) if id_arr is None: id_arr = np.arange(len(mapped_arr)) else: id_arr = np.asarray(id_arr) if idx_arr is not None: idx_arr = np.asarray(idx_arr) checks.assert_shape_equal(mapped_arr, idx_arr, axis=0) if mapping is not None: if isinstance(mapping, str): if mapping.lower() == 'index': mapping = self.wrapper.index elif mapping.lower() == 'columns': mapping = self.wrapper.columns mapping = to_mapping(mapping) self._mapped_arr = mapped_arr self._id_arr = id_arr self._col_arr = col_arr self._idx_arr = idx_arr self._mapping = mapping if col_mapper is None: col_mapper = ColumnMapper(wrapper, col_arr) self._col_mapper = col_mapper
def __init__(self, wrapper, records_arr, idx_field='auto', **kwargs): Wrapping.__init__(self, wrapper, records_arr=records_arr, idx_field=idx_field, **kwargs) records_arr = np.asarray(records_arr) checks.assert_not_none(records_arr.dtype.fields) checks.assert_in('id', records_arr.dtype.names) checks.assert_in('col', records_arr.dtype.names) if idx_field == 'auto': if 'idx' in records_arr.dtype.names: idx_field = 'idx' elif idx_field is not None: checks.assert_in(idx_field, records_arr.dtype.names) self._records_arr = records_arr self._idx_field = idx_field self._col_mapper = ColumnMapper(wrapper, records_arr['col'])