有没有办法用两个日期之间的每小时日期时间有效地填充 python 中的 pandas df 列?

Posted

技术标签:

【中文标题】有没有办法用两个日期之间的每小时日期时间有效地填充 python 中的 pandas df 列?【英文标题】:is there a way to efficiently fill a pandas df column in python with hourly datetimes between two dates? 【发布时间】:2022-01-22 03:03:21 【问题描述】:

所以我正在寻找一种方法来用两个日期之间的每小时值填充一个空的数据框列。 例如之间

开始日期 = 2019:01:01 00:00:00

结束日期 = 2019:02:01 00:00:00

我想要一列有

2019:01:01 00:00:00,2019:01:01 01:00:00,2019:02:01 00:00:00...

采用 Y:M:D H:M:S 格式。 我不确定最有效的方法是什么,有没有办法通过熊猫来做到这一点,或者你是否必须在给定的 timedelta 范围内使用 for 循环,例如?

`

【问题讨论】:

【参考方案1】:

date_rangeDataFrame 构造函数一起使用:

StartDate = '2019-01-01 00:00:00'
EndDate = '2019-02-01 00:00:00'
df = pd.DataFrame('dates':pd.date_range(StartDate, EndDate, freq='H'))

如果有自定义日期格式,请先将其转换为日期时间:

StartDate = '2019:01:01 00:00:00'
EndDate = '2019:02:01 00:00:00'

StartDate = pd.to_datetime(StartDate, format='%Y:%m:%d %H:%M:%S')
EndDate = pd.to_datetime(EndDate, format='%Y:%m:%d %H:%M:%S')

df = pd.DataFrame('dates':pd.date_range(StartDate, EndDate, freq='H'))
print (df.head(10))
                dates
0 2019-01-01 00:00:00
1 2019-01-01 01:00:00
2 2019-01-01 02:00:00
3 2019-01-01 03:00:00
4 2019-01-01 04:00:00
5 2019-01-01 05:00:00
6 2019-01-01 06:00:00
7 2019-01-01 07:00:00
8 2019-01-01 08:00:00
9 2019-01-01 09:00:00

【讨论】:

以上是关于有没有办法用两个日期之间的每小时日期时间有效地填充 python 中的 pandas df 列?的主要内容,如果未能解决你的问题,请参考以下文章

如何获得两个日期对象之间的小时差? [复制]

MySQL:即使没有日期行,有没有办法获取两个日期之间所有日期的数据?

如何在两次之间添加每小时计数

JAVA时间日期处理类,主要用来遍历两个日期之间的每一天

如何计算两个日期之间的差异

是否可以编写一个查询来返回两个指定日期之间的每一天的日期?