API Reference

TimeSerie

TimeSerie Object.

class tsgen.time_serie.TimeSerie(index: pandas.core.indexes.datetimes.DatetimeIndex, y_values)

Represent a one-dimensional time serie.

Parameters:
  • index (pd.DatetimeIndex) – Time index.
  • y_values (array_like) – One dimensional array_like object.

Examples

>>> start, end, freq = "2020", "2021", "1M"
>>> index = pd.date_range(start=start, end=end, freq=freq)
>>> ts = TimeSerie(
...     index=index,
...     y_values=np.linspace(1, 1, len(index))
... )
>>> ts
            y_values
2020-01-31  0.000000
2020-02-29  0.090909
2020-03-31  0.181818
2020-04-30  0.272727
2020-05-31  0.363636
2020-06-30  0.454545
2020-07-31  0.545455
2020-08-31  0.636364
2020-09-30  0.727273
2020-10-31  0.818182
2020-11-30  0.909091
2020-12-31  1.000000
>>> ts + 3 - ts
            y_values
2020-01-31       3.0
2020-02-29       3.0
2020-03-31       3.0
2020-04-30       3.0
2020-05-31       3.0
2020-06-30       3.0
2020-07-31       3.0
2020-08-31       3.0
2020-09-30       3.0
2020-10-31       3.0
2020-11-30       3.0
2020-12-31       3.0
plot()

Plot the TimeSerie using pandas pd.Series.plot function.

to_frame() → pandas.core.frame.DataFrame

Convert the TimeSerie to a pandas DataFrame.

to_series() → pandas.core.series.Series

Convert the TimeSerie to a pandas Series.

generators

TimeSerie generators.

This module contains several generator functions which generate TimeSerie objects with different trends.

tsgen.generators.affine(start, end, freq, start_y: Union[int, float], end_y: Union[int, float]) → tsgen.time_serie.TimeSerie

Generate a linear TimeSerie.

tsgen.generators.constant(start, end, freq, value: Union[int, float]) → tsgen.time_serie.TimeSerie

Generate a constant TimeSerie.

tsgen.generators.cosine(start, end, freq, amp: Union[int, float] = 1, n_periods: Union[int, float] = 1) → tsgen.time_serie.TimeSerie

Generate a cosine TimeSerie.

tsgen.generators.randn(start, end, freq, mean: Union[int, float] = 0, std: Union[int, float] = 1) → tsgen.time_serie.TimeSerie

Generate a random normally distributed TimeSerie.

tsgen.generators.sine(start, end, freq, amp: Union[int, float] = 1, n_periods: Union[int, float] = 1) → tsgen.time_serie.TimeSerie

Generate a sine TimeSerie.