python科学計算ノート(十一)pandas中date_range生成指定日

8326 ワード

指定した日付範囲の範囲を生成


pandas.date_range()は、指定された長さのDattimeIndexを生成するために使用されます.
1)デフォルトではdate_rangeは、所定の開始時間から終了時間までのタイムスタンプ配列を時間間隔で天として生成する.
2)開始時間または終了時間のみを指定する場合はperiods標定時間の長さも必要です.
import pandas as pd
pd.date_range('2017-6-20','2017-6-27')
    DatetimeIndex(['2017-06-20', '2017-06-21', '2017-06-22', '2017-06-23',
                   '2017-06-24', '2017-06-25', '2017-06-26', '2017-06-27'],
                  dtype='datetime64[ns]', freq='D')

pd.date_range('2017-6-20 12:59:30','2017-6-27')
    DatetimeIndex(['2017-06-20 12:59:30', '2017-06-21 12:59:30',
                   '2017-06-22 12:59:30', '2017-06-23 12:59:30',
                   '2017-06-24 12:59:30', '2017-06-25 12:59:30',
                   '2017-06-26 12:59:30'],
                  dtype='datetime64[ns]', freq='D')
  • 1
  • pd.date_range('2017-6-20 12:59:30',periods = 8)
        DatetimeIndex(['2017-06-20 12:59:30', '2017-06-21 12:59:30',
                       '2017-06-22 12:59:30', '2017-06-23 12:59:30',
                       '2017-06-24 12:59:30', '2017-06-25 12:59:30',
                       '2017-06-26 12:59:30', '2017-06-27 12:59:30'],
                      dtype='datetime64[ns]', freq='D')
    pd.date_range('2017-6-20 12:59:30',periods = 8, normalize = True)
        DatetimeIndex(['2017-06-20', '2017-06-21', '2017-06-22', '2017-06-23',
                       '2017-06-24', '2017-06-25', '2017-06-26', '2017-06-27'],
                      dtype='datetime64[ns]', freq='D')

    頻度と日付オフセット


    pandasにおける周波数は、1つのベース周波数(M,H)であってもよいし(Hour,Minute,h,min等)であってもよい
    pd.date_range('2017-6-27',periods = 7,freq = '1h30min')
        DatetimeIndex(['2017-06-27 00:00:00', '2017-06-27 01:30:00',
                       '2017-06-27 03:00:00', '2017-06-27 04:30:00',
                       '2017-06-27 06:00:00', '2017-06-27 07:30:00',
                       '2017-06-27 09:00:00'],
                      dtype='datetime64[ns]', freq='90T')
    pd.date_range('2017-6-27',periods = 7,freq = 'M')
        DatetimeIndex(['2017-06-30', '2017-07-31', '2017-08-31', '2017-09-30',
                       '2017-10-31', '2017-11-30', '2017-12-31'],
                      dtype='datetime64[ns]', freq='M')
    
    pd.date_range('2017-6-27',periods = 7,freq = 'd')
        DatetimeIndex(['2017-06-27', '2017-06-28', '2017-06-29', '2017-06-30',
                       '2017-07-01', '2017-07-02', '2017-07-03'],
                      dtype='datetime64[ns]', freq='D')
    
    pd.date_range('2017-6-27',periods = 7,freq = 'H')
        DatetimeIndex(['2017-06-27 00:00:00', '2017-06-27 01:00:00',
                       '2017-06-27 02:00:00', '2017-06-27 03:00:00',
                       '2017-06-27 04:00:00', '2017-06-27 05:00:00',
                       '2017-06-27 06:00:00'],
                      dtype='datetime64[ns]', freq='H')
    

    一般的なベース周波数


    別名#ベツメイ#
    オフセット量
    説明
    D/d
    Day
    日めくり
    B
    BusinessDay
    平日
    H/h
    Hour
    毎時
    Tまたはmin
    Minute
    毎分
    S
    Secend
    毎秒
    Lまたはms
    Milli
    ミリ秒あたり(1秒あたり千分)
    U
    Micro
    マイクロ秒あたり
    M
    MonthEnd
    毎月最後のカレンダー
    BM
    BusinessDayEnd
    毎月最後の仕事
    上の表には一部しか展示されていません!

    WOM日付(「毎月第3金曜日」)

    pd.date_range('2017-06-01','2017-07-31',freq='WOM-3FRI')
        DatetimeIndex(['2017-06-16', '2017-07-21'], dtype='datetime64[ns]', freq='WOM-3FRI')