欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python時間序列按頻率生成日期的方法

 更新時間:2019年05月14日 11:05:21   作者:李太陽❀  
這篇文章主要介紹了python時間序列按頻率生成日期的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

有時候我們的數(shù)據(jù)是按某個頻率收集的,比如每日、每月、每15分鐘,那么我們怎么產(chǎn)生對應(yīng)頻率的索引呢?pandas中的date_range可用于生成指定長度的DatetimeIndex。

我們先看一下怎么生成日期范圍:pd.date_range(startdate,enddate)

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

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

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

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

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

要生成按某個頻率計算的日期范圍,只需要在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 = '1h30min'))
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還可以生成其他不規(guī)則頻率的時間,比如每月的第一個工作日,每月的第一個日歷日等

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

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”,即每月的幾個星期幾。比如每月的第三個星期五。如果我們每月的第三個星期五發(fā)工資,這樣就可以很方便的知道今年每個月的工資日了。

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可使用的時間序列的基礎(chǔ)頻率表:

 

別名 偏移量類型 說明
D Day 每日歷日
B BusinessDay 每工作日
H Hour 每小時
T或min Minute 每分鐘
S Second 每秒
L或ms Milli 每毫秒
U Micro 每微秒
M MonthEnd 每月最后一個日歷日
BM BusinessMonthEnd 每月最后一個工作日
MS MonthBegin 每月第一個日歷日
BMS BusinessMonthBegin 每月第一個工作日
W-MON、W-TUE Week 每周的星期幾
WOM-1MON、WOM-2MON WeekofMonth 每月第幾周的星期幾
Q-JAN、Q-FEB QuarterEnd 每個季度對應(yīng)的該月份的最后一個日歷日
BQ-JAN、BQ-FEB BusinessQuarterEnd 每個季度對應(yīng)的該月份的最后一個工作日
QS-JAN、QS-FEB QuarterBegin 每個季度對應(yīng)的該月份的第一個日歷日
BQS-JAN、BQS-FEB QuarterBegin 每個季度對應(yīng)的該月份的第一個工作日
A-JAN、B-FEB YearEnd 每年指定月份的最后一個日歷日
BA-JAN、BA-FEB BusinessYearEnd 每年指定月份的最后一個工作日
AS-JAN、AS-FEB YearBegin 每年指定月份的第一個日歷日
BAS-JAN、BAS-FEB BusinessYearBegin 每年指定月份的第一個工作日

以上所述是小編給大家介紹的python時間序列按頻率生成日期的方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解Django 中是否使用時區(qū)的區(qū)別

    詳解Django 中是否使用時區(qū)的區(qū)別

    本篇文章主要介紹了詳解Django 中是否使用時區(qū)的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Keras之fit_generator與train_on_batch用法

    Keras之fit_generator與train_on_batch用法

    這篇文章主要介紹了Keras之fit_generator與train_on_batch用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python try except 捕獲所有異常的實例

    python try except 捕獲所有異常的實例

    今天小編就為大家分享一篇python try except 捕獲所有異常的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python時間日期函數(shù)與利用pandas進(jìn)行時間序列處理詳解

    python時間日期函數(shù)與利用pandas進(jìn)行時間序列處理詳解

    python標(biāo)準(zhǔn)庫包含于日期(date)和時間(time)數(shù)據(jù)的數(shù)據(jù)類型,datetime、time以及calendar模塊會被經(jīng)常用到,而pandas則可以對時間進(jìn)行序列化排序
    2018-03-03
  • Python實現(xiàn)讀取機(jī)器硬件信息的方法示例

    Python實現(xiàn)讀取機(jī)器硬件信息的方法示例

    這篇文章主要介紹了Python實現(xiàn)讀取機(jī)器硬件信息的方法,涉及Python針對計算機(jī)注冊表、操作系統(tǒng)、處理器、網(wǎng)絡(luò)等常見硬件信息讀取操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-06-06
  • Django點贊的實現(xiàn)示例

    Django點贊的實現(xiàn)示例

    本文主要介紹了Django點贊的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python隨機(jī)數(shù)分布random測試

    python隨機(jī)數(shù)分布random測試

    這篇文章主要為大家詳細(xì)介紹了python隨機(jī)數(shù)分布random的測試,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 如何基于Python創(chuàng)建目錄文件夾

    如何基于Python創(chuàng)建目錄文件夾

    這篇文章主要介紹了如何基于Python創(chuàng)建目錄文件夾,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Python使用迭代器打印螺旋矩陣的思路及代碼示例

    Python使用迭代器打印螺旋矩陣的思路及代碼示例

    用Python的itertools模塊來創(chuàng)建具有迭代功能的函數(shù)十分具有技巧性,這里我們就來看一下借助itertools模塊、Python使用迭代器打印螺旋矩陣的思路及代碼示例
    2016-07-07
  • Python文件循環(huán)寫入行時防止覆蓋的解決方法

    Python文件循環(huán)寫入行時防止覆蓋的解決方法

    今天小編就為大家分享一篇Python文件循環(huán)寫入行時防止覆蓋的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11

最新評論