首页 文章

每日时间表作为熊猫的指数

提问于
浏览
0

我想将每日时间表(最初作为CSV文件)表示为Pandas DataFrame . 计划中每行的关键是一天中的每小时范围 . 范围不重叠 . 例如:

00:00, 01:00, some data
01:00, 03:00, some more data
03:00, 04:30, some other data

如何创建一个数据框,其中一个索引级别代表开始到结束的小时范围?

1 回答

  • 0

    从您的示例数据帧开始(在其上放置列名称):

    In [78]: df
    Out[78]: 
       start    end            other
    0  00:00  01:00        some data
    1  01:00  03:00   some more data
    2  03:00  04:30  some other data
    

    假设start和end是字符串,我们可以使用 to_datetime 将其转换为日期时间 . 这将使用默认日期,因为数据只有几小时:

    In [79]: pd.to_datetime(df['end'], format='%H:%M')
    Out[79]: 
    0   1900-01-01 01:00:00
    1   1900-01-01 03:00:00
    2   1900-01-01 04:30:00
    Name: end, dtype: datetime64[ns]
    

    但假设开始和结束总是在同一天,如果我们只使用日期时间计算开始和结束之间的时差,则此默认日期无关紧要:

    In [80]: df['range'] = pd.to_datetime(df['end'], format='%H:%M') - pd.to_datetime(df['start'], format='%H:%M')
    
    
    In [81]: df
    Out[81]: 
       start    end            other    range
    0  00:00  01:00        some data 01:00:00
    1  01:00  03:00   some more data 02:00:00
    2  03:00  04:30  some other data 01:30:00
    

相关问题