def test_range_with_start(self): dates1 = [] for do in delorean.stops(delorean.DAILY, count=5, start=datetime.utcnow()): do.truncate('minute') dates1.append(do) do = delorean.Delorean().truncate('minute') dates2 = [] for x in range(5): dates2.append(do.next_day(x)) self.assertEqual(dates1, dates2)
def test_range_with_interval(self): dates1 = [] for do in delorean.stops(delorean.DAILY, interval=2, count=3, start=datetime.utcnow()): do.truncate('minute') dates1.append(do) do = delorean.Delorean().truncate('minute') dates2 = [] for x in range(6): if (x % 2) == 0: dates2.append(do.next_day(x)) self.assertEqual(dates1, dates2)
def test_range_with_start_and_stop(self): dates1 = [] tomorrow = datetime.utcnow() + timedelta(days=1) for do in delorean.stops(delorean.DAILY, start=datetime.utcnow(), stop=tomorrow): do.truncate('minute') dates1.append(do) do = delorean.Delorean().truncate('minute') dates2 = [] for x in range(2): dates2.append(do.next_day(x)) self.assertEqual(dates1, dates2)
def test_range_count(self): """ tests the range method with count used """ count = list(delorean.stops(delorean.DAILY, count=5)) self.assertEqual(len(count), 5)
#!/usr/bin/env python3 import sys import os import delorean import datetime import pandas as pd import numpy as np start = datetime.datetime(2019, 1, 1) dates = [] vals = [] i = 0. for stop in delorean.stops(freq=delorean.MONTHLY, start=start, count=12, timezone='UTC'): dates.append(stop.datetime) vals.append(i * 3) i += 1. print(dates) print(vals) df = pd.DataFrame({'month': dates, 'usage': vals}) print(df) print(df.dtypes) mask = df['month'] < datetime.datetime( 2019, 7, 1, tzinfo=datetime.timezone.utc)