zoukankan      html  css  js  c++  java
  • Python pandas Date

    Pandas主要有4中与时间相关的类型。Timestamp, Period, DatetimeIndex,PeriodIndex.

    import pandas as pd
    import numpy as np
    #
    #Timestamp
    pd.Timestamp('9/1/2016 10:05AM')
    #output: Timestamp('2016-09-01 10:05:00')
    #
    #Period
    pd.Period('1/2016')
    #output: Period('2016-01', 'M')
    pd.Period('3/5/2016')
    #output: Period('2016-03-05', 'D')
    #
    #DatetimeIndex
    t1 = pd.Series(list('abc'), [pd.Timestamp('2016-09-01'), pd.Timestamp('2016-09-02'), pd.Timestamp('2016-09-03')])
    t1
    """
    2016-09-01    a
    2016-09-02    b
    2016-09-03    c
    dtype: object
    """
    type(t1.index)
    #pandas.tseries.index.DatetimeIndex
    
    #
    #PeriodIndex
    t2 = pd.Series(list('def'), [pd.Period('2016-09'), pd.Period('2016-10'), pd.Period('2016-11')])
    t2
    """
    2016-09    d
    2016-10    e
    2016-11    f
    Freq: M, dtype: object
    """
    type(t2.index)
    # pandas.tseries.period.PeriodIndex

    1. 关于时间类型的转换

    #Converting-to-Datetime
    d1 = ['2 June 2013', 'Aug 29, 2014', '2015-06-26', '7/12/16']
    ts3 = pd.DataFrame(np.random.randint(10, 100, (4,2)), index=d1, columns=list('ab'))
    ts3

    ts3.index = pd.to_datetime(ts3.index)
    ts3

    pd.to_datetime('4.7.12', dayfirst=True)
    #output: Timestamp('2012-07-04 00:00:00')

    2. 时间间隔

    ##Timedeltas
    pd.Timestamp('9/3/2016')-pd.Timestamp('9/1/2016')
    # Timedelta('2 days 00:00:00')
    pd.Timestamp('9/2/2016 8:10AM') + pd.Timedelta('12D 3H')
    # Timestamp('2016-09-14 11:10:00')

    3. Dataframe中的时间

    dates = pd.date_range('10-01-2016', periods=9, freq='2W-SUN')
    dates
    """
    DatetimeIndex(['2016-10-02', '2016-10-16', '2016-10-30', '2016-11-13',
                   '2016-11-27', '2016-12-11', '2016-12-25', '2017-01-08',
                   '2017-01-22'],
                  dtype='datetime64[ns]', freq='2W-SUN')
    """
    df = pd.DataFrame({'Count 1': 100 + np.random.randint(-5, 10, 9).cumsum(),
                      'Count 2': 120 + np.random.randint(-5, 10, 9)}, index=dates)
    df

    df.index.weekday_name
    """
    array(['Sunday', 'Sunday', 'Sunday', 'Sunday', 'Sunday', 'Sunday',
           'Sunday', 'Sunday', 'Sunday'], dtype=object)
    """
    df.diff()

    df.resample('M').mean()

    df['2017']

    df['2016-12']

    df['2016-12':]

    The Safest Way to Get what you Want is to Try and Deserve What you Want.
  • 相关阅读:
    Python字符串学习相关问题
    Python函数学习遇到的问题
    How to configure ODBC DSN to access local DB2 for Windows
    如何在Eclipse CDT中编译含有多个main函数的项目
    MakeFile 文件的作用
    云技术:负载均衡SLB
    云技术:弹性计算ECS
    《老罗的Android之旅》导读PPT
    服务器集群负载均衡技术
    杭电ACM 1004题
  • 原文地址:https://www.cnblogs.com/Shinered/p/9231619.html
Copyright © 2011-2022 走看看