Coverage for src/manydataapi/plotting/dummies.py: 100%
17 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-07-02 08:38 +0200
« prev ^ index » next coverage.py v7.2.7, created at 2023-07-02 08:38 +0200
1"""
2@file
3@brief Dummy timeseries.
4"""
5from datetime import datetime, timedelta
6from numpy.random import RandomState
7from pandas import DataFrame
10def daily_timeseries(start=None, end=None, seed=None):
11 """
12 Creates a random positive timeseries.
14 @param start start date, 2 years from end if None
15 @param end end date, today if None
16 @param seed random seed
17 @return dataframe
18 """
19 if end is None:
20 end = datetime.now()
21 if start is None:
22 start = end - timedelta(365 * 2)
23 day = timedelta(1)
24 rows = []
25 while start <= end:
26 rows.append(dict(date=start))
27 start += day
28 df = DataFrame(rows)
29 state = RandomState(seed=seed)
30 df["X"] = state.randn(df.shape[0])
31 return df