如何生成必须介于其他两个给定日期之间的随机日期?
函数的签名应该是这样的:
random_date("1/1/2008 1:30 PM", "1/1/2009 4:50 AM", 0.34)
                   ^                       ^          ^
            date generated has  date generated has  a random number
            to be after this    to be before this并返回一个日期,如下所示:
发布于 2017-12-23 04:57:51
这是一个从emyller的方法修改而来的解决方案,它返回任意分辨率的随机日期数组
import numpy as np
def random_dates(start, end, size=1, resolution='s'):
    """
    Returns an array of random dates in the interval [start, end]. Valid 
    resolution arguments are numpy date/time units, as documented at: 
        https://docs.scipy.org/doc/numpy-dev/reference/arrays.datetime.html
    """
    start, end = np.datetime64(start), np.datetime64(end)
    delta = (end-start).astype('timedelta64[{}]'.format(resolution))
    delta_mat = np.random.randint(0, delta.astype('int'), size)
    return start + delta_mat.astype('timedelta64[{}]'.format(resolution))这种方法的好处之一是
非常擅长将事情转换为日期,所以你可以将开始/结束日期指定为字符串、日期时间、熊猫时间戳……几乎任何东西都可以工作。
https://stackoverflow.com/questions/553303
复制相似问题