利用Python中的pandas(date_range)庫生成時間序列(time series)

2021-01-16 python萬

在講pandas時間序列函數之前,我大概介紹下什麼是時間序列(time series)。時間序列(time series)簡單的說就是各時間點上形成的數值序列,時間序列(time series)分析就是通過觀察歷史數據預測未來的值。比如股票預測、房價預測分析等。本篇文章主要詳細講解生成時間索引的函數date_range及延伸函數。

pandas.date_range

pandas.date_range()這個函數主要是返回固定頻率的時間索引,參數比較多,下面我們依次演示常用的參數用法。

根據指定的起止時間,生成時間序列import pandas as pdpd.date_range(start='2019-1-09', end='2019-1-31')

根據起止時間生成

根據起止時間,並指定時間序列數量pd.date_range(start='2019-1-09', end='2019-1-10',periods=10)

根據指定數量生成

根據開始時間和指定數量生成pd.date_range(start='2019-1-09',periods=10)

根據開始時間和periods生成

根據指定的頻率生成時間點pd.date_range(start='2019-1-09',periods=10,freq='H')

指定以小時為頻率

比較上面可以看出,date_range中默認以天為頻率,如果我們需要其他單位的頻率必須用freq這個參數指定,並且可以是基礎頻率的倍數,如下:

pd.date_range(start='2019-1-09',periods=10,freq='12H')

freq=12H

這裡可選的頻率有很多,大家在使用的時候查看官方文檔即可,這裡不在一一舉例,附一張官方文檔中的圖。

頻率可選值

根據closed參數選擇是否包含開始和結束時間,left包含開始時間,不包含結束時間,right與之相反。pd.date_range(start='2019-01-09', end='2019-01-14', closed=None)pd.date_range(start='2019-01-09', end='2019-01-14', closed='left')pd.date_range(start='2019-01-09', end='2019-01-14', closed='right')

closed空值起止時間

時間序列作為索引並根據索引取值

生成時間序列
根據時間索引取值

truncate過濾

time.truncate(before='2019-01-12')

可以看到truncate這個函數將before指定日期之前的值全部過濾出去。既然有before,那麼就有after,如下:

time.truncate(after='2019-01-12')

過濾after之後的數據

pandas.Timestamp

這個類主要是用來生成時間戳的,如下:

pd.Timestamp('2019-01-10')

pandas.Timedelta

pd.Timedelta('2day')

pd.Timestamp('2019-01-10')+pd.Timedelta('2day')

相關焦點

  • Sktime:用於時間序列機器學習的Python庫
    該庫包括其他通用類庫沒有的、專用的時間序列學習算法和轉換方法。Sktime的設計可以與Scikiti -learn互操作,輕鬆適應相關時間序列任務的算法,並構建複合模型。具體怎麼操作呢?許多時間序列任務是相關聯的,能夠解決一項任務的算法通常可以用來解決相關的任務,這個概念叫做還原。
  • 傻傻分不清楚系列|Python中各種時間處理方法(上)
    相信大多數數據分析師在入手Python的時候,在學習到time庫與datetime庫時,都會對兩個庫裡面長得很像,又相互有關聯的各種類和方法感到非常窩心。當接觸到pandas處理時間序列的方法時,再次發現其中各種類和方法又和前面兩個時間庫的方法「長得好像又似乎有點不同」,此時,想必每個強迫症內心早已經發出「土撥鼠吶喊」。
  • pandas數據可視化原來也這麼厲害
    作者:小伍哥 來源:AI入門學習(公眾號)在python中,常見的數據可視化庫有3個:matplotlib:最常用的庫,可以算作可視化的必備技能庫,比較底層,api多,學起來不太容易。比如這個圖,就非常厲害:畫圖神器pyecharts-旭日圖Pandas:而今天要講的是Pandas的可視化,Pandas主要作為數據分析的庫,雖然沒有上述三個庫那個強大,但是勝在方便,在數據分析的過程中,只要一行代碼就能實現。並且圖形也非常漂亮。
  • D05 Pandas.Series詳解,從構造開始,深度解析Series
    且在0.25版本中三維數組Panel完全被官方移除了,新版本刪除了很多也新增了很多方法屬性。對於那些已經取消或者將要取消的,我們不再提及。時代在進步,一起向前看。什麼是SeriesSeries是pandas特有,能夠保存任何類型數據(整數、字符串、浮點數、Python對象等)的一維數組。
  • PySpark源碼解析,用Python調用高效Scala接口,搞定大規模數據分析
    這裡 PySpark 使用了 Py4j 這個開源庫。當創建 Python 端的 SparkContext 對象時,實際會啟動 JVM,並創建一個 Scala 端的 SparkContext 對象。而 PythonRDD (core/src/main/scala/org/apache/spark/api/python/PythonRDD.scala),則是一個 Scala 中封裝的伴生對象,提供了常用的 RDD IO 相關的接口。另外一些接口會通過 self._jsc 對象去創建 RDD。其中 self._jsc 就是 JVM 中的 SparkContext 對象。
  • 用Python繪製一套「會跳舞」的動態圖形
    是一個基於Python的開源數據繪圖包,僅需幾行代碼就可以幫助開發者生成直方圖,功率譜,條形圖,散點圖等。這個庫裡有個非常實用的擴展包——FuncAnimation,可以讓我們的靜態圖表動起來。 FuncAnimation是Matplotlib庫中的動畫類的一部分,後續會展示多個示例。
  • Python 連接開放航空交通數據,輕鬆構建航班跟蹤應用!
    之前我發表過兩篇用python跟蹤航班的教程。一篇是使用python創建簡單的航班跟蹤應用,另一篇是使用pandas和bokeh創建航班跟蹤應用。那麼那兩篇文章跟本文有什麼區別?主要的區別是數據源。那兩篇文章我使用了ADS-B Exchange,而這篇文章將使用Opensky Network。另一個區別就是模塊的版本。本文將使用最新的python庫,特別是繪圖庫。
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    【每天幾分鐘,從零入門python編程的世界!】numpy的基本的東西我們學習差不多了,後面具體應用中遇到問題具體分析,然後去深入了解遇到的新的知識點就行。現在我們開始學習pandas,pandas一般用的更多,pandas是基於numpy去寫的。
  • Python爬取中國各省疫情確診人員數據生成可視化中國地圖界面
    大家好,接下來我們用python爬蟲技術爬取中國各省疫情確診人員數據,得到數據後自動生成中國地圖可視化界面。可視化界面運用pyecharts模塊、selenium中的webdriver第一:首先分析要爬取的網頁(百家號不可粘貼具體地址,見圖吧)爬取思路:通過分析網頁的原始碼
  • Python2 已終結,入手Python 3,你需要這30個技巧
    列表表達式有了列表表達式,你就不再需要用 for loop 來生成一個 list 了。其基本語法是這樣的:[expressionforiteminlistifconditional]這就是一個生成包含一串數字的 list 的簡單例子。
  • Python的datatable程序包概述
    利用pandas現在,計算一下利用pandas來讀取相同文件所用的時間。: 21.1 sWall time: 21.4 s看來將文件讀取為datatable框架,然後將其轉換為panda的dataframe所需的時間比直接利用pandas的dataframe讀取文件所需的時間要少。
  • 通過Python 代碼實現時間序列數據的統計學預測模型
    來源 | DeepHub IMBA封圖 | CSDN 付費下載於視覺中國在本篇中,我們將展示使用 Python 統計學模型進行時間序列數據分析。 目標是:根據兩年以上的每日廣告支出歷史數據,提前預測兩個月的廣告支出金額。
  • 金融科技領域最受歡迎的八個Python庫
    本文共字,預計閱讀時間。該庫由Quantopian開發和維護,在2015年實現開源。與Zipline開源回測庫兼容性很好。Pyfolio庫可用於根據反饋對tear sheets進行建模,進行貝葉斯分析和其他交易。其他功能包括使用pyfolio.plotting和pyfolio.timeseries繪製tear sheets,以調用各個統計函數。
  • 十分鐘學習pandas!pandas常用操作總結!
    學習Python, 當然少不了pandas,pandas是python數據科學中的必備工具,熟練使用pandas是從sql boy/girl 跨越到一名優秀的數據分析師傅的必備技能。這篇pandas常用操作總結幫大家回顧下pandas的常用語法,尤其是我們分析數據時常用的方法。
  • 在Python中使用Pandas
    Pandas是一個python庫,用於處理數據、生成統計數據、聚合數據等等。在這篇文章中,我們將討論如何使用Pandas庫進行數據選擇、聚合和統計分析。我們開始吧!我們將使用銀行客戶流失建模數據集。數據可以在這裡找到。
  • python之pandas數據分析
    python爬蟲之urllib庫鏈家二手房信息分析》文章裡介紹了如何從鏈家網站爬取房價信息,今天我們來分析下房價總價和其他幾個的關係。分析數據先安裝下相關分析數據的工具,圖一安裝了pandas,圖二安裝了xlrs。pandas是強大的數據分析工具,xlrs是用來讀取excel數據的。
  • 那些讓人驚豔的Python庫
    dateutil–Python datetime模塊的擴展。delorean-解決Python中有關日期處理的棘手問題的庫。moment–一個用來處理時間和日期的Python庫。靈感來自於Moment.js。PyTime–一個簡單易用的Python模塊,用於通過字符串來操作日期/時間。pytz–現代以及歷史版本的世界時區定義。
  • 12306火車票查詢--Python可以這麼玩!!!
    火車票查詢的平臺有很多,比如攜程、去哪兒,飛豬等等,但是萬變不離其宗,所有平臺的數據都需要從12306官網獲取,只是通過前端的渲染以不同的形式展現出來而已,本期通過分析12306官網網頁結構,利用python進行火車票信息查詢,並將信息格式化輸出、保存到本地Excel文件。
  • 使用LSTM深度學習模型進行溫度的時間序列單步和多步預測
    本文的目的是提供代碼示例,並解釋使用python和TensorFlow建模時間序列數據的思路。本文展示了如何進行多步預測並在模型中使用多個特徵。本文的簡單版本是,使用過去48小時的數據和對未來1小時的預測(一步),我獲得了溫度誤差的平均絕對誤差0.48(中值0.34)度。
  • 軟體工程師的試煉之地:53道Python面試問答題
    請注意,將每種用法都包裝在列表解析中,以便看到生成的值。range(stop):生成從0到"stop"整數的整數。[i for i in range(10)]#=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]range(start,stop):生成從" start"到" stop"整數的整數。