generator

rolex.generator.time_series(start=None, end=None, periods=None, freq='1day', normalize=False, return_date=False)[source]

A pure Python implementation of pandas.date_range().

Given 2 of start, end, periods and freq, generate a series of datetime object.

Parameters:
  • start (str or datetime.datetime (default None)) – Left bound for generating dates
  • end (str or datetime.datetime (default None)) – Right bound for generating dates
  • periods (integer (default None)) – Number of date points. If None, must specify start and end
  • freq (string (default '1day' calendar daily)) –

    string, default ‘1day’ (calendar daily) Available mode are day, hour, min, sec Frequency strings can have multiples. e.g.

    ‘7day’, ‘6hour’, ‘5min’, ‘4sec’, ‘3week`
  • normalize (boolean (default False)) – Trigger that normalize start/end dates to midnight
  • return_date (boolean (default False)) – Trigger that only return date object.
Returns:

A list of datetime.datetime object. An evenly sampled time series.

Usage:

>>> from __future__ import print_function
>>> for dt in rolex.time_series("2014-1-1", "2014-1-7"):
...     print(dt)
2014-01-01 00:00:00
2014-01-02 00:00:00
2014-01-03 00:00:00
2014-01-04 00:00:00
2014-01-05 00:00:00
2014-01-06 00:00:00
2014-01-07 00:00:00

中文文档

生成等间隔的时间序列。

需要给出, “起始”, “结束”, “数量” 中的任意两个。以及指定”频率”。以此唯一 确定一个等间隔时间序列。”频率”项所支持的命令字符有”7day”, “6hour”, “5min”, “4sec”, “3week” (可以改变数字).

rolex.generator.weekday_series(start, end, weekday, return_date=False)[source]

Generate a datetime series with same weekday number.

ISO weekday number: Mon to Sun = 1 to 7

Usage:

>>> start, end = "2014-01-01 06:30:25", "2014-02-01 06:30:25"
>>> rolex.weekday_series(start, end, weekday=2) # All Tuesday
[
    datetime(2014, 1, 7, 6, 30, 25),
    datetime(2014, 1, 14, 6, 30, 25),
    datetime(2014, 1, 21, 6, 30, 25),
    datetime(2014, 1, 28, 6, 30, 25),
]
Parameters:weekday – int or list of int
Returns:list of datetime

中文文档

生成星期数一致的时间序列。

rolex.generator.rnd_date(start=datetime.date(1970, 1, 1), end=None, **kwargs)[source]

Generate a random date between start to end.

Parameters:
  • start (string or datetime.date, (default date(1970, 1, 1))) – Left bound
  • end (string or datetime.date, (default date.today())) – Right bound
Returns:

a datetime.date object

中文文档

随机生成一个位于 startend 之间的日期。

rolex.generator.rnd_date_array(size, start=datetime.date(1970, 1, 1), end=None, **kwargs)[source]

Array or Matrix of random date generator.

Returns:1d or 2d array of datetime.date
rolex.generator.rnd_date_list_high_performance(size, start=datetime.date(1970, 1, 1), end=None, **kwargs)[source]

Generate mass random date.

Parameters:
  • size – int, number of
  • start – date similar object, int / str / date / datetime
  • end – date similar object, int / str / date / datetime, default today’s date
  • kwargs – args placeholder
Returns:

list of datetime.date

rolex.generator.rnd_datetime(start=datetime.datetime(1970, 1, 1, 0, 0), end=datetime.datetime(2019, 1, 28, 21, 19, 59, 238575))[source]

Generate a random datetime between start to end.

Parameters:
Returns:

a datetime.datetime object

中文文档

随机生成一个位于 startend 之间的时间。

rolex.generator.rnd_datetime_array(size, start=datetime.datetime(1970, 1, 1, 0, 0), end=None)[source]

Array or Matrix of random datetime generator.

Returns:1d or 2d array of datetime.date
rolex.generator.day_interval(year, month, day, milliseconds=False, return_string=False)[source]

Return a start datetime and end datetime of a day.

Parameters:
  • milliseconds – Minimum time resolution.
  • return_string – If you want string instead of datetime, set True

Usage Example:

>>> start, end = rolex.day_interval(2014, 6, 17)
>>> start
datetime(2014, 6, 17, 0, 0, 0)

>>> end
datetime(2014, 6, 17, 23, 59, 59)
rolex.generator.month_interval(year, month, milliseconds=False, return_string=False)[source]

Return a start datetime and end datetime of a month.

Parameters:
  • milliseconds – Minimum time resolution.
  • return_string – If you want string instead of datetime, set True

Usage Example:

>>> start, end = rolex.month_interval(2000, 2)
>>> start
datetime(2000, 2, 1, 0, 0, 0)

>>> end
datetime(2000, 2, 29, 23, 59, 59)
rolex.generator.year_interval(year, milliseconds=False, return_string=False)[source]

Return a start datetime and end datetime of a year.

Parameters:
  • milliseconds – Minimum time resolution.
  • return_string – If you want string instead of datetime, set True

Usage Example:

>>> start, end = rolex.year_interval(2007)
>>> start
datetime(2007, 1, 1, 0, 0, 0)

>>> end
datetime(2007, 12, 31, 23, 59, 59)