Source code for openmnglab.datamodel.pandas.schemas

from pandera import Column, Index, DataFrameSchema, SeriesSchema, MultiIndex, Category

from openmnglab.datamodel.pandas.model import PandasDataSchema

TRACK = "track"
SPIKE_TS = "spike timestamp"
STIM_IDX = "stimulus index"
STIM_TS = "stimulus timestamp"
TRACK_SPIKE_IDX = "track_spike_idx"
TIMESTAMP = "timestamp"
SIGNAL = "signal"
TEMPERATURE = "temperature"
MASS = "mass"
STIM_TYPE = "stimulus type"
COMMENT = "comment"


[docs]def float_timeseries(name: str, index_name: str = TIMESTAMP) -> PandasDataSchema[SeriesSchema]: return PandasDataSchema(SeriesSchema(float, index=Index(float, name=index_name), name=name))
[docs]def str_eventseries(name: str, index_name: str = TIMESTAMP) -> PandasDataSchema[SeriesSchema]: return PandasDataSchema(SeriesSchema(str, index=Index(float, name=index_name), name=name))
[docs]def stimulus_list() -> PandasDataSchema[SeriesSchema]: return PandasDataSchema(SeriesSchema(float, index=MultiIndex( indexes=[Index(int, name=STIM_IDX), Index(Category, name=STIM_TYPE)]), name=STIM_TS))
[docs]def sorted_spikes() -> PandasDataSchema[SeriesSchema]: return PandasDataSchema(SeriesSchema(float, index=MultiIndex( indexes=[Index(int, name=STIM_IDX), Index(str, name=TRACK), Index(int, name=TRACK_SPIKE_IDX)]), name=SPIKE_TS))