如何在日期时间中设置随机时间

How to set a random time in a datetime

我的指令如下: 读取日期列作为时间戳,将它们转换为 YYYY/MM/DD hours:minutes:seconds 格式,其中您将时分秒设置为随机 适合其范围的值

这是我们假设更改为日期时间的数据框的列:

Order date
11/12/2016
11/24/2016
6/12/2016
10/12/2016
...

这是我需要的约会时间

2016/11/12 (random) hours:minutes:seconds
2016/11/24 (random) hours:minutes:seconds
...

我的主要问题是如何获得随机的时分秒。其余的我可以通过文档弄清楚

您正在尝试读取 '%Y-%m-%d' 格式的数据,但数据是 "%d/%m/%Y" 格式。请参阅 https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior 了解如何将日期转换为所需格式。

您可以生成 0 到 86399 之间的随机数(一天中的秒数 - 1)并使用 pandas.to_timedelta:

转换为 TimeDelta
import numpy as np
time = pd.to_timedelta(np.random.randint(0, 60*60*24-1, size=len(df)), unit='s')

df['Order date'] = pd.to_datetime(df['Order date']).add(time)

输出:

           Order date
0 2016-11-12 02:21:53
1 2016-11-24 13:26:00
2 2016-06-12 15:13:03
3 2016-10-12 14:45:12