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

1""" 

2@file 

3@brief Dummy timeseries. 

4""" 

5from datetime import datetime, timedelta 

6from numpy.random import RandomState 

7from pandas import DataFrame 

8 

9 

10def daily_timeseries(start=None, end=None, seed=None): 

11 """ 

12 Creates a random positive timeseries. 

13 

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