这是一个自我回答的帖子.常见问题是在给定的开始日期和结束日期之间随机生成日期.
有两种情况需要考虑:
例如,给定一些开始日期2015-01-01和结束日期2018-01-01,如何使用pandas在此范围之间采样N个随机日期?
我有pandas.DataFrame各种日期时间格式的日期列,并存储为列表对象,如下所示:
date
1 [May 23rd, 2011]
2 [January 1st, 2010]
...
99 [Apr. 15, 2008]
100 [07-11-2013]
...
256 [9/01/1995]
257 [04/15/2000]
258 [11/22/68]
...
360 [12/1997]
361 [08/2002]
...
463 [2014]
464 [2016]
Run Code Online (Sandbox Code Playgroud)
为了方便起见,我想将它们全部转换为MM/DD/YYYY格式。似乎无法使用regex replace()函数来执行此操作,因为无法对列表对象执行此操作。另外,对每个单元使用strptime()会很费时。
将它们全部转换为所需MM/DD/YYYY格式的更简单方法是什么?我发现很难对数据框内的列表对象执行此操作。
注意:对于格式为[YYYY](例如[2014]和[2016])的单元格值,我将假定它们是该年的第一天(即1968年1月1日),对于诸如[08/2002](或[8/2002])的单元格值,我将假定它们为第一天该年当月(即2002年8月1日)的日期。