【问题标题】:Python - generate a timestamp table in pandas given a date periodPython - 在给定日期期间的熊猫中生成时间戳表
【发布时间】:2022-02-19 01:14:17
【问题描述】:

这是这两个问题的混合体:

Pandas is a Timestamp within a Period(因为它在 pandas 中添加了一个时间段)

Generate a random date between two other dates(但我需要多个日期(至少 100 万个,我用变量 LIMIT 指定))

如何在给定日期期间随机生成特定给定数量的随机日期?

性能对我来说相当重要,因此我选择使用 pandas,任何性能提升都会受到赞赏,即使这意味着使用另一个库。

到目前为止,我的方法如下:

tstamp = pd.to_datetime(['01/01/2010', '2020-12-31'])
# ???

但我不知道如何在日期之间随机化。我正在考虑将randint 用于随机的 unix 纪元时间,然后进行转换,但它会减慢很多。

【问题讨论】:

    标签: python pandas date timestamp period


    【解决方案1】:

    你可以试试这个,速度很快:

    start = np.datetime64('2017-01-01')
    end = np.datetime64('2018-01-01')
    limit = 1000000
    delta = np.arange(start,end)
    indices = np.random.choice(len(delta), limit)
    delta[indices]
    

    【讨论】:

      【解决方案2】:

      我所要做的就是将str(fake.date_time_between(start_date='-10y', end_date='now')) 添加到我的 Pandas DataFrame 附加逻辑中。我什至不确定str() 是否有必要。

      附:你像这样初始化它:

      from faker import Faker
      # initialize Faker
      fake = Faker()
      

      【讨论】:

        猜你喜欢
        • 2017-02-23
        • 1970-01-01
        • 1970-01-01
        • 2019-06-16
        • 2021-05-08
        • 2018-09-23
        • 1970-01-01
        相关资源
        最近更新 更多