• Pandas时间差(Timedelta)


    时间差(Timedelta)是时间上的差异,以不同的单位来表示。例如:日,小时,分钟,秒。它们可以是正值,也可以是负值。
    可以使用各种参数创建Timedelta对象,如下所示 -

    字符串

    通过传递字符串,可以创建一个timedelta对象。参考以下示例代码 -

    import pandas as pd
    
    timediff = pd.Timedelta('2 days 2 hours 15 minutes 30 seconds')
    print(timediff)
    
    Python

    执行上面救命代码,得到以下结果 -

    2 days 02:15:30
    
    Shell

    整数

    通过传递一个整数值与指定单位,这样的一个参数也可以用来创建Timedelta对象。

    import pandas as pd
    
    timediff = pd.Timedelta(6,unit='h')
    print(timediff)
    
    Python

    执行上面救命代码,得到以下结果 -

    0 days 06:00:00
    
    Shell

    数据偏移

    例如 - 周,天,小时,分钟,秒,毫秒,微秒,纳秒的数据偏移也可用于构建。

    import pandas as pd
    
    timediff = pd.Timedelta(days=2)
    print(timediff)
    
    Python

    执行上面救命代码,得到以下结果 -

    2 days 00:00:00
    
    Shell

    运算操作

    可以在Series/DataFrames上执行运算操作,并通过在datetime64 [ns]系列或在时间戳上减法操作来构造timedelta64 [ns]系列。参考以下示例代码 -

    import pandas as pd
    
    s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
    td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
    df = pd.DataFrame(dict(A = s, B = td))
    print(df)
    
    Python

    执行上面示例代码,得到以下结果 -

               A      B
    0 2012-01-01 0 days
    1 2012-01-02 1 days
    2 2012-01-03 2 days
    
    Shell

    相加操作

    import pandas as pd
    
    s = pd.Series(pd.date_range('2018-1-1', periods=3, freq='D'))
    td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
    df = pd.DataFrame(dict(A = s, B = td))
    df['C']=df['A']+df['B']
    print(df)
    
    Python

    执行上面示例代码,得到以下结果 -

               A      B          C
    0 2018-01-01 0 days 2018-01-01
    1 2018-01-02 1 days 2018-01-03
    2 2018-01-03 2 days 2018-01-05
    
    Shell

    相减操作

    import pandas as pd
    
    s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
    td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
    df = pd.DataFrame(dict(A = s, B = td))
    df['C']=df['A']+df['B']
    df['D']=df['C']-df['B']
    print(df)
    
    Python

    执行上面示例代码,得到以下结果 -

               A      B          C          D
    0 2018-01-01 0 days 2018-01-01 2018-01-01
    1 2018-01-02 1 days 2018-01-03 2018-01-02
    2 2018-01-03 2 days 2018-01-05 2018-01-03
  • 相关阅读:
    LVDS 数据通道详解 单8 单6
    MFC中CTime获取日期时间的方法
    Sqlite 修改字段的名称。
    SQLite 字段数据类型
    把View转化成Image
    iOS 键盘类型UIKeyboardType
    验证银行卡号格式是否正确
    获取手机wifi下的网络地址
    图形处理专题(文章收集)
    收藏的博客
  • 原文地址:https://www.cnblogs.com/navysummer/p/9641199.html
Copyright © 2020-2023  润新知