首頁 > 軟體

關於pandas.date_range()的用法及說明

2022-07-19 14:01:07

pandas.date_range()用法

date_range()是pandas中常用的函數,用於生成一個固定頻率的DatetimeIndex時間索引。

原型:

date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs)

常用引數為start、end、periods、freq。

  • start:指定生成時間序列的開始時間
  • end:指定生成時間序列的結束時間
  • periods:指定生成時間序列的數量
  • freq:生成頻率,預設‘D’,可以是’H’、‘D’、‘M’、‘5H’、‘10D’、…

還可以根據closed引數選擇是否包含開始和結束時間,left包含開始時間,不包含結束時間,right與之相反。

預設同時包含開始時間和結束時間。

函數呼叫時至少要指定引數start、end、periods中的兩個。

(1)指定起止時間

pd.date_range('20200101','20200110')

(2)指定開始時間和時間序列數量

pd.date_range('20200101',periods=10)

(3)指定結束時間和時間序列數量

pd.date_range(end='20200110',periods=10)

(4)指定開始時間、時間序列數量和頻率

pd.date_range(start='20200101',periods=5,freq='2D')

(5)指定結束時間、時間序列數量和頻率

pd.date_range(end='20200110',periods=5,freq='2D')

(6)指定起止時間和closed引數

pd.date_range('20200101','20200110',closed='left')

(7)時間序列做為索引,生成Series一維陣列

dates = pd.date_range(start='20200101',periods=5,freq='2D')
pd.Series(range(10,20,2),index=dates)

(8)時間序列做行索引,生成DateFrame二維陣列

dates = pd.date_range(start='20200101',periods=5,freq='2D')
pd.DataFrame(np.random.randn(5,5), index=dates, columns=list('ABCDE'))

pandas.date_range()詳解

官方檔案

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

返回一個固定頻率的DatetimeIndex

引數

引數資料型別意義
startstr or datetime-like, optional生成日期的左側邊界
endstr or datetime-like, optional生成日期的右側邊界
periodsinteger, optional生成周期
freqstr or DateOffset, default ‘D’可以有多種比如‘5H’,頻率別名參見連結
tzstr or tzinfo, optional返回在地化的DatetimeIndex的時區名,例如’Asia/Hong_Kong’
normalizebool, default False生成日期之前,將開始/結束時間初始化為午夜
namestr, default None產生的DatetimeIndex的名字
closed{None, ‘left’, ‘right’}, optional使區間相對於給定頻率左閉合、右閉合、雙向閉合(預設的None)
**kwargs 為了相容性,對結果沒有影響

案例

>>> 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')
>>> 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')

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com