class PandasSeriesStore(PandasStore): TYPE = 'pandasseries' SERIALIZER = SeriesSerializer() def can_write(self, version, symbol, data): if isinstance(data, Series): if data.dtype == np.object_ or data.index.dtype == np.object_: return self.SERIALIZER.can_convert_to_records_without_objects( data, symbol) return True return False def write(self, arctic_lib, version, symbol, item, previous_version): item, md = self.SERIALIZER.serialize(item) super(PandasSeriesStore, self).write(arctic_lib, version, symbol, item, previous_version, dtype=md) def append(self, arctic_lib, version, symbol, item, previous_version): item, md = self.SERIALIZER.serialize(item) super(PandasSeriesStore, self).append(arctic_lib, version, symbol, item, previous_version, dtype=md) def read(self, arctic_lib, version, symbol, **kwargs): item = super(PandasSeriesStore, self).read(arctic_lib, version, symbol, **kwargs) return self.SERIALIZER.deserialize(item)
class PandasSeriesStore(PandasStore): TYPE = 'pandasseries' SERIALIZER = SeriesSerializer() @staticmethod def can_write_type(data): return isinstance(data, Series) def can_write(self, version, symbol, data): if self.can_write_type(data): # Series has always a single-column if data.dtype is NP_OBJECT_DTYPE or data.index.dtype is NP_OBJECT_DTYPE: return self.SERIALIZER.can_convert_to_records_without_objects(data, symbol) return True return False def write(self, arctic_lib, version, symbol, item, previous_version): item, md = self.SERIALIZER.serialize(item) super(PandasSeriesStore, self).write(arctic_lib, version, symbol, item, previous_version, dtype=md) def append(self, arctic_lib, version, symbol, item, previous_version, **kwargs): item, md = self.SERIALIZER.serialize(item) super(PandasSeriesStore, self).append(arctic_lib, version, symbol, item, previous_version, dtype=md, **kwargs) def read_options(self): return super(PandasSeriesStore, self).read_options() def read(self, arctic_lib, version, symbol, **kwargs): item = super(PandasSeriesStore, self).read(arctic_lib, version, symbol, **kwargs) # Try to check if force_bytes_to_unicode is set in kwargs else use the config value (which defaults to False) force_bytes_to_unicode = kwargs.get('force_bytes_to_unicode', FORCE_BYTES_TO_UNICODE) return self.SERIALIZER.deserialize(item, force_bytes_to_unicode=force_bytes_to_unicode)
class PandasSeriesStore(PandasStore): TYPE = 'pandasseries' SERIALIZER = SeriesSerializer() @staticmethod def can_write_type(data): return isinstance(data, Series) def can_write(self, version, symbol, data): if self.can_write_type(data): # Series has always a single-column if data.dtype is NP_OBJECT_DTYPE or data.index.dtype is NP_OBJECT_DTYPE: return self.SERIALIZER.can_convert_to_records_without_objects( data, symbol) return True return False def write(self, arctic_lib, version, symbol, item, previous_version): item, md = self.SERIALIZER.serialize(item) super(PandasSeriesStore, self).write(arctic_lib, version, symbol, item, previous_version, dtype=md) def append(self, arctic_lib, version, symbol, item, previous_version, **kwargs): item, md = self.SERIALIZER.serialize(item) super(PandasSeriesStore, self).append(arctic_lib, version, symbol, item, previous_version, dtype=md, **kwargs) def read_options(self): return super(PandasSeriesStore, self).read_options() def read(self, arctic_lib, version, symbol, **kwargs): item = super(PandasSeriesStore, self).read(arctic_lib, version, symbol, **kwargs) return self.SERIALIZER.deserialize(item)