如何用Python的pandas生成按小时递增的指定格式日期时间列表
解决方案
方法一:使用Pandas生成并格式化时间序列
直接利用pd.date_range生成指定日期的小时级时间序列,再通过strftime将时间格式化为下划线分隔的目标样式:
import pandas as pd # 生成2023-05-10 00:00到23:00的每小时时间序列 hourly_times = pd.date_range( start='2023-05-10', end='2023-05-10 23:00:00', freq='H' # 设置频率为1小时 ) # 格式化为"YYYY-MM-DD_HH:MM:SS"字符串并转为列表 formatted_list = hourly_times.strftime('%Y-%m-%d_%H:%M:%S').tolist() # 验证结果 for dt in formatted_list: print(dt)
运行后会直接输出你需要的列表,每个元素都是2023-05-10_00:00:00、2023-05-10_01:00:00……2023-05-10_23:00:00的格式。
方法二:拆分日期与时间后拼接(原生Python实现)
如果你想按自己最初的思路拆分处理,也可以用原生Python完成:
# 基础日期字符串 base_date = '2023-05-10' # 生成00:00:00到23:00:00的时间字符串列表 hour_strings = [f'{hour:02d}:00:00' for hour in range(24)] # 拼接日期和时间 formatted_list = [f'{base_date}_{time}' for time in hour_strings] print(formatted_list)
这种方法无需依赖Pandas,仅用列表推导式就能构造出符合要求的时间字符串,再和固定日期拼接即可。
内容的提问来源于stack exchange,提问作者Shreta Ghimire
相关产品推荐
相关产品推荐

