當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.date_range用法及代碼示例


用法:

pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=NoDefault.no_default, inclusive=None, **kwargs)

返回一個固定頻率的 DatetimeIndex。

返回等距時間點的範圍(其中任何兩個相鄰點之間的差異由給定頻率指定),使得它們都滿足 start <[=] x <[=] end ,其中第一個和最後一個分別是第一個和最後一個該範圍內落在 freq 邊界上的時間點(如果作為頻率字符串給出)或對 freq 有效(如果作為 pandas.tseries.offsets.DateOffset 給出)。 (如果未指定 startendfreq 中的一個,則可以在給定 periods (範圍內的時間步數)的情況下計算此缺失參數。請參見下麵的注釋。)

參數

startstr 或datetime-like,可選

生成日期的左邊界。

endstr 或datetime-like,可選

生成日期的右邊界。

periods整數,可選

要生成的周期數。

freqstr 或 DateOffset,默認為“D”

頻率字符串可以有多個,例如'5H'。有關頻率別名的列表,請參見此處。

tzstr 或 tzinfo,可選

返回本地化 DatetimeIndex 的時區名稱,例如“Asia/Hong_Kong”。默認情況下,生成的 DatetimeIndex 為timezone-naive。

normalize布爾值,默認為 False

在生成日期範圍之前將開始/結束日期標準化為午夜。

namestr,默認無

結果 DatetimeIndex 的名稱。

closed{無,‘left’, ‘right’},可選

使間隔相對於給定頻率關閉到‘left’, ‘right’,或兩側(無,默認值)。

inclusive{“both”, “neither”, “left”, “right”},默認 “both”

包括邊界;是否將每個邊界設置為關閉或打開。

**kwargs

為了兼容性。對結果沒有影響。

返回

rng日期時間索引

注意

startendperiodsfreq 四個參數中,必須指定三個。如果省略freq,則生成的DatetimeIndex 將在startend 之間具有periods 線性間隔元素(兩側閉合)。

要了解有關頻率字符串的更多信息,請參閱此鏈接。

例子

指定值

接下來的四個示例生成相同的 DatetimeIndex ,但改變了 startendperiods 的組合。

使用默認的每日頻率指定 startend

>>> pd.date_range(start='1/1/2018', end='1/08/2018')
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'],
              dtype='datetime64[ns]', freq='D')

指定 startperiods ,周期數(天)。

>>> pd.date_range(start='1/1/2018', periods=8)
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'],
              dtype='datetime64[ns]', freq='D')

指定 endperiods ,周期數(天)。

>>> pd.date_range(end='1/1/2018', periods=8)
DatetimeIndex(['2017-12-25', '2017-12-26', '2017-12-27', '2017-12-28',
               '2017-12-29', '2017-12-30', '2017-12-31', '2018-01-01'],
              dtype='datetime64[ns]', freq='D')

指定 startendperiods ;頻率是自動生成的(線性間隔)。

>>> pd.date_range(start='2018-04-24', end='2018-04-27', periods=3)
DatetimeIndex(['2018-04-24 00:00:00', '2018-04-25 12:00:00',
               '2018-04-27 00:00:00'],
              dtype='datetime64[ns]', freq=None)

其他參數

freq(頻率)更改為 'M'(月末頻率)。

>>> pd.date_range(start='1/1/2018', periods=5, freq='M')
DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30',
               '2018-05-31'],
              dtype='datetime64[ns]', freq='M')

允許多個

>>> pd.date_range(start='1/1/2018', periods=5, freq='3M')
DatetimeIndex(['2018-01-31', '2018-04-30', '2018-07-31', '2018-10-31',
               '2019-01-31'],
              dtype='datetime64[ns]', freq='3M')

freq 也可以指定為偏移對象。

>>> pd.date_range(start='1/1/2018', periods=5, freq=pd.offsets.MonthEnd(3))
DatetimeIndex(['2018-01-31', '2018-04-30', '2018-07-31', '2018-10-31',
               '2019-01-31'],
              dtype='datetime64[ns]', freq='3M')

指定 tz 以設置時區。

>>> pd.date_range(start='1/1/2018', periods=5, tz='Asia/Tokyo')
DatetimeIndex(['2018-01-01 00:00:00+09:00', '2018-01-02 00:00:00+09:00',
               '2018-01-03 00:00:00+09:00', '2018-01-04 00:00:00+09:00',
               '2018-01-05 00:00:00+09:00'],
              dtype='datetime64[ns, Asia/Tokyo]', freq='D')

inclusive控製是否包含邊界上的startend。默認值 “both” 包括兩端的邊界點。

>>> pd.date_range(start='2017-01-01', end='2017-01-04', inclusive="both")
DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04'],
              dtype='datetime64[ns]', freq='D')

如果 end 落在邊界上,則使用 inclusive='left' 排除它。

>>> pd.date_range(start='2017-01-01', end='2017-01-04', inclusive='left')
DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03'],
              dtype='datetime64[ns]', freq='D')

使用 inclusive='right' 排除 start 如果它落在邊界上,類似地 inclusive='neither' 將排除 startend

>>> pd.date_range(start='2017-01-01', end='2017-01-04', inclusive='right')
DatetimeIndex(['2017-01-02', '2017-01-03', '2017-01-04'],
              dtype='datetime64[ns]', freq='D')

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.date_range。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。