【发布时间】:2020-12-16 20:52:10
【问题描述】:
我有一个开始日期和结束日期,我希望在特定日期(例如每个月的第 10 天)有开始和结束之间的日期范围 示例:
start_date = '2020-01-03'
end_date = '2020-10-19'
wanted_result = ['2020-01-03', '2020-01-10', '2020-02-10', '2020-03-10',...,'2020-10-10', '2020-10-19']
我目前有一个解决方案,它创建 start_date 和 end_date 之间的所有日期,然后仅对 10 日的日期进行子采样,但我不喜欢它,我认为它太麻烦了。有什么想法吗?
import pandas as pd
querydate = 10
dates = pd.date_range(start=start_date, end=end_date)
dates = dates[[0]].append(dates[dates.day == querydate])
【问题讨论】:
-
您可以尝试找到满足您条件的第一个和最后一个日期,然后使用
pd.date_range(start='2020-01-10', end='2020-10-10', freq='1M')。 -
如果
start_date = '2020-01-10' end_date = '2020-10-10'然后只需要这个值一次,我是否理解正确?还是需要加倍2020-01-10, 2020-01-10,2020-02-10...2020-10-10,2020-10-10? -
只有一次!感谢您的帮助@jez