如何利用15分钟间隔的Datetime Index生成含hour和minute列的DataFrame
实现方案
完全可以实现,用Pandas就能快速完成需求,以下是具体代码示例:
假设你的Datetime Index存储在变量dt_index中(比如是某DataFrame的df.index),直接通过字符串格式化提取小时和分钟即可:
import pandas as pd # 示例生成15分钟间隔的Datetime Index(如果已有现成的可跳过此步) dt_index = pd.date_range(start='2024-01-01 08:00:00', end='2024-01-01 09:30:00', freq='15min') # 生成目标DataFrame target_df = pd.DataFrame({ 'hour': dt_index.strftime('%H'), 'minute': dt_index.strftime('%M') })
运行后得到的target_df格式如下:
hour minute 0 08 00 1 08 15 2 08 30 3 08 45 4 09 00 5 09 15 6 09 30
如果你的Datetime Index来自已有DataFrame,只需把dt_index替换为你的DataFrame名.index即可。
若需要将小时、分钟以数值类型存储但保持两位数显示,也可以用zfill方法处理:
target_df = pd.DataFrame({ 'hour': dt_index.hour.astype(str).str.zfill(2), 'minute': dt_index.minute.astype(str).str.zfill(2) })
内容的提问来源于stack exchange,提问作者Robin_hood_963
相关产品推荐
相关产品推荐

