中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用python時間序列按頻率生成日期

發布時間:2021-06-24 13:55:44 來源:億速云 閱讀:125 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關如何使用python時間序列按頻率生成日期,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1.生成指定開始日期和結束日期的時間范圍:

In:import pandas as pd
	index = pd.date_range('4/1/2019','5/1/2019')
	print(index)
Out:
DatetimeIndex(['2019-04-01', '2019-04-02', '2019-04-03', '2019-04-04',
        '2019-04-05', '2019-04-06', '2019-04-07', '2019-04-08',
        '2019-04-09', '2019-04-10', '2019-04-11', '2019-04-12',
        '2019-04-13', '2019-04-14', '2019-04-15', '2019-04-16',
        '2019-04-17', '2019-04-18', '2019-04-19', '2019-04-20',
        '2019-04-21', '2019-04-22', '2019-04-23', '2019-04-24',
        '2019-04-25', '2019-04-26', '2019-04-27', '2019-04-28',
        '2019-04-29', '2019-04-30', '2019-05-01'],
       dtype='datetime64[ns]', freq='D')

也可以只指定開始日期或結束日期,但這時必須要輸入一個時間長度,并且指定輸入的是開始時間還是結束時間,如果不指定默認是開始時間。

date_range(startdate/enddate,periods)

In:print(pd.date_range(start = '4/1/2019',periods = 10))
Out:DatetimeIndex(['2019-04-01', '2019-04-02', '2019-04-03', '2019-04-04',
        '2019-04-05', '2019-04-06', '2019-04-07', '2019-04-08',
        '2019-04-09', '2019-04-10'],
       dtype='datetime64[ns]', freq='D')
In:print(pd.date_range(start = '5/1/2019',periods = 10))
Out:DatetimeIndex(['2019-05-01', '2019-05-02', '2019-05-03', '2019-05-04',
          '2019-05-05', '2019-05-06', '2019-05-07', '2019-05-08',
          '2019-05-09', '2019-05-10'],
         dtype='datetime64[ns]', freq='D')

現在我們已經知道怎么生成日期范圍了,但是上面我們生成的日期的時間間隔都是天,接下來告訴大家怎么生成其他時間頻率的日期范圍。

要生成按某個頻率計算的日期范圍,只需要在date_range后加上freq就可以了。比如,生成每小時間隔的時間:

In:print(pd.date_range(start = '5/1/2019',periods = 10,freq = 'h'))
Out:DatetimeIndex(['2019-05-01 00:00:00', '2019-05-01 01:00:00',
        '2019-05-01 02:00:00', '2019-05-01 03:00:00',
        '2019-05-01 04:00:00', '2019-05-01 05:00:00',
        '2019-05-01 06:00:00', '2019-05-01 07:00:00',
        '2019-05-01 08:00:00', '2019-05-01 09:00:00'],
       dtype='datetime64[ns]', freq='H')

生成時間間隔為3個小時的時間:

In:print(pd.date_range(start = '5/1/2019',periods = 10,freq = '3h'))
Out:DatetimeIndex(['2019-05-01 00:00:00', '2019-05-01 01:00:00',
        '2019-05-01 02:00:00', '2019-05-01 03:00:00',
        '2019-05-01 04:00:00', '2019-05-01 05:00:00',
        '2019-05-01 06:00:00', '2019-05-01 07:00:00',
        '2019-05-01 08:00:00', '2019-05-01 09:00:00'],
       dtype='datetime64[ns]', freq='H')

生成時間間隔為1小時30分的時間:

In:print(pd.date_range(start = '5/1/2019',periods = 10,freq = '1h40min'))
Out:DatetimeIndex(['2019-05-01 00:00:00', '2019-05-01 01:30:00',
        '2019-05-01 03:00:00', '2019-05-01 04:30:00',
        '2019-05-01 06:00:00', '2019-05-01 07:30:00',
        '2019-05-01 09:00:00', '2019-05-01 10:30:00',
        '2019-05-01 12:00:00', '2019-05-01 13:30:00'],
       dtype='datetime64[ns]', freq='90T')

python還可以生成其他不規則頻率的時間,比如每月的第一個工作日,每月的第一個日歷日等

生成每月的第一個工作日:

In:print(pd.date_range(start = '1/1/2019',periods = 12,freq = 'BMS'))
Out:DatetimeIndex(['2019-01-01', '2019-02-01', '2019-03-01', '2019-04-01',
        '2019-05-01', '2019-06-03', '2019-07-01', '2019-08-01',
        '2019-09-02', '2019-10-01', '2019-11-01', '2019-12-02'],
       dtype='datetime64[ns]', freq='BMS')

生成每月的第一個日歷日:

In:print(pd.date_range(start = '1/1/2019',periods = 12,freq = 'MS'))
Out:DatetimeIndex(['2019-01-01', '2019-02-01', '2019-03-01', '2019-04-01',
        '2019-05-01', '2019-06-01', '2019-07-01', '2019-08-01',
        '2019-09-01', '2019-10-01', '2019-11-01', '2019-12-01'],
       dtype='datetime64[ns]', freq='MS')

有一種很實用的頻率類,為“WOM”,即每月的幾個星期幾。比如每月的第三個星期五。如果我們每月的第三個星期五發工資,這樣就可以很方便的知道今年每個月的工資日了。

In:print(pd.date_range(start = '1/1/2019',periods = 12,freq = 'WOM-3FRI'))
Out:DatetimeIndex(['2019-01-18', '2019-02-15', '2019-03-15', '2019-04-19',
        '2019-05-17', '2019-06-21', '2019-07-19', '2019-08-16',
        '2019-09-20', '2019-10-18', '2019-11-15', '2019-12-20'],
       dtype='datetime64[ns]', freq='WOM-3FRI')

下面是python可使用的時間序列的基礎頻率表:

別名偏移量類型說明
DDay每日歷日
BBusinessDay每工作日
HHour每小時
T或minMinute每分鐘
SSecond每秒
L或msMilli每毫秒
UMicro每微秒
MMonthEnd每月最后一個日歷日
BMBusinessMonthEnd每月最后一個工作日
MSMonthBegin每月第一個日歷日
BMSBusinessMonthBegin每月第一個工作日
W-MON、W-TUEWeek每周的星期幾
WOM-1MON、WOM-2MONWeekofMonth每月第幾周的星期幾
Q-JAN、Q-FEBQuarterEnd每個季度對應的該月份的最后一個日歷日
BQ-JAN、BQ-FEBBusinessQuarterEnd每個季度對應的該月份的最后一個工作日
QS-JAN、QS-FEBQuarterBegin每個季度對應的該月份的第一個日歷日
BQS-JAN、BQS-FEBQuarterBegin每個季度對應的該月份的第一個工作日
A-JAN、B-FEBYearEnd每年指定月份的最后一個日歷日
BA-JAN、BA-FEBBusinessYearEnd每年指定月份的最后一個工作日
AS-JAN、AS-FEBYearBegin每年指定月份的第一個日歷日
BAS-JAN、BAS-FEBBusinessYearBegin每年指定月份的第一個工作日

關于“如何使用python時間序列按頻率生成日期”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屏边| 商洛市| 虞城县| 冕宁县| 河津市| 新闻| 什邡市| 芦山县| 阿拉善左旗| 定日县| 芜湖县| 阿克陶县| 万全县| 谢通门县| 开鲁县| 长垣县| 泸水县| 时尚| 芦溪县| 毕节市| 文化| 元氏县| 伊金霍洛旗| 安仁县| 卫辉市| 驻马店市| 林州市| 芦山县| 儋州市| 海南省| 商丘市| 舟山市| 木里| 乌鲁木齐县| 托克逊县| 香格里拉县| 浦北县| 柘荣县| 芜湖市| 万山特区| 兖州市|