【问题标题】:How to read elapsed time spans into pandas time series如何将经过的时间跨度读入熊猫时间序列
【发布时间】:2018-06-26 07:45:30
【问题描述】:

我想将具有以下列经过时间(以毫秒为单位)的数据转换为带有 pandas 的时间序列:

我假设我必须以某种方式将此列转换为时间增量,但我不知道如何。

还有一点:虽然看起来像这样,但我不会假设时间跨度总是等距的。

期待您的帮助。

【问题讨论】:

    标签: pandas


    【解决方案1】:

    我觉得你需要to_timedelta:

    df = pd.DataFrame({'MILLISEC':[0,33,67,100]})
    
    td = pd.to_timedelta(df['MILLISEC'], unit='ms')
    print (td)
    0          00:00:00
    1   00:00:00.033000
    2   00:00:00.067000
    3   00:00:00.100000
    

    如果需要时间序列,请将日期时间添加到 timedelatas:

    ts = pd.datetime.now() + td
    print (ts)
    0   2018-01-17 13:27:42.104580
    1   2018-01-17 13:27:42.137580
    2   2018-01-17 13:27:42.171580
    3   2018-01-17 13:27:42.204580
    Name: MILLISEC, dtype: datetime64[ns]
    
    ts = pd.datetime(2018,1,1) + td
    print (ts)
    0   2018-01-01 00:00:00.000
    1   2018-01-01 00:00:00.033
    2   2018-01-01 00:00:00.067
    3   2018-01-01 00:00:00.100
    Name: MILLISEC, dtype: datetime64[ns]
    

    【讨论】:

    • 谢谢!这看起来不错并且对我有帮助:) 但是,我确实想知道是否有必要引入一些参考时间点才能将其视为时间序列。我认为 pandas 也可以处理时间增量的时间序列。但我看到可能大多数绘图功能都需要日历中的实际日期。
    • 在 pandas timedelatas 中工作得非常好,但要进行绘图需要将其转换为数字,请检查 this 或使用日期时间。
    • 感谢您的帮助!
    猜你喜欢
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 2013-01-06
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    相关资源
    最近更新 更多