Python財務數(shù)據(jù)分析與應用(微課版)課件 09-2時間序列數(shù)據(jù)處理_第1頁
Python財務數(shù)據(jù)分析與應用(微課版)課件 09-2時間序列數(shù)據(jù)處理_第2頁
Python財務數(shù)據(jù)分析與應用(微課版)課件 09-2時間序列數(shù)據(jù)處理_第3頁
Python財務數(shù)據(jù)分析與應用(微課版)課件 09-2時間序列數(shù)據(jù)處理_第4頁
Python財務數(shù)據(jù)分析與應用(微課版)課件 09-2時間序列數(shù)據(jù)處理_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

時間序列數(shù)據(jù)處理9-2TimeSeriesDataProcessing內容概述本章學習目標財務數(shù)據(jù)分析財務數(shù)據(jù)分析(1)了解時間序列分析的應用場景;(5)熟悉時間偏置DateOffset對象和窗口函數(shù);(4)掌握dt對象的屬性和方法;(2)掌握Datetimes數(shù)據(jù)類型的屬性和方法;(3)掌握Timedeltas數(shù)據(jù)類型的屬性和方法;(6)利用Pandas進行簡單的時間序列分析。目錄CONTENTS財務數(shù)據(jù)分析財務數(shù)據(jù)分析9.2時間序列數(shù)據(jù)處理

1時間序列概述2時間點 3時間差 4時間偏置5窗口函數(shù)【Python財務數(shù)據(jù)分析】——財務數(shù)據(jù)的時間序列數(shù)據(jù)分析時間序列概述PartOne01財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間序列概述時間序列是按時間順序索引的一系列數(shù)據(jù)點。最常見的時間序列是在連續(xù)的等間隔時間點上獲得的序列有關時間序列的應用場景,分為以下4種情況:(1)時間點。即特定的時刻,記錄時間維度的具體一個位置。(2)時間差。兩個時間點做差就得到了時間差。時間差可以是幾年,幾個月,幾天,幾分,幾秒,甚至小到納秒。因為是時間差值,因此既可以是正數(shù),也可以是負數(shù)。(3)時間跨度。即以時間為計量的迭代單位,時間記錄迭代步長,以時間為計量的規(guī)律變化的一種時間差。(4)時間偏置。日期偏置是一種和日歷相關的特殊時間差,是與時間計量的不同單位進制造成的特殊時間差。時間點PartTwo02財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間點時間點(Datetimes)問題,Pandas提供Timestamp、DatetimeIndex、datetime64[ns]3種數(shù)據(jù)類型。Timestamp對象是時間點元素類型,表示確切的一個時間點;由Timestamp對象組成的序列是DatetimeIndex對象;DatetimeIndex對象可以作為Pandans的一個Series或者DataFrame的一列,數(shù)據(jù)類型為datetime64[ns]。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Timestamp的構造與屬性Pandas提供Timestamp(時間戳)類構造時間戳對象。單個時間戳的生成利用pd.Timestamp()實現(xiàn)Timestamp由date(日期)和time(時間)組成;其中日期又由year、month和day組成;時間由hour、minute和second組成。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Datetime序列一組時間戳可以組成時間序列DatetimeIndex。通過to_datetime()和date_range()函數(shù)生成時間序列,即把時間戳格式的對象轉換成為datetime64[ns]類型的時間序列range()和np.arange()函數(shù),pd.date_range()是一種生成連續(xù)間隔時間的一種方法語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析時序類型dt對象Pandas在時序類型的序列上定義了dt對象來完成時間序列的相關操作。這些操作可以大致分為3類:dt屬性,時間戳判定,取整操作。1)dt屬性dt對象時間分量值屬性包括:date,time,year,month,day,hour,minute,second,microsecond,nanosecond,dayofweek,dayofyear,weekofyear,daysinmonth,quarter等2)時間戳判定dt對象時間戳判定包括主要用于測試是否為月/季/年的第一天或者最后一天等,如is_leap_year,is_month_end,is_month_start,is_quarter_end,is_quarter_start,is_year_end,is_year_start等3)dt取整操作dt取整操作包含round(),ceil(),floor()函數(shù),他們的公共參數(shù)為freq,常用的值包括:H(小時),min(分鐘),S(秒),即完成時間點的不同方式取整。財務數(shù)據(jù)分析財務數(shù)據(jù)分析dt索引和切片財務數(shù)據(jù)分析財務數(shù)據(jù)分析dt索引和切片時間差PartThere03財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間差兩個時間戳(Timestamp)做差就得到了時間差(Timedeltas),Pandas中利用Timedelta對象來表示。類似于DatatimeIndex,一系列的時間差就組成TimedeltaIndex,而TimedeltaIndex置于DataFrame或Series中,其類型為timedelta64[ns]。財務數(shù)據(jù)分析財務數(shù)據(jù)分析創(chuàng)建Timedelta對象時間差可以理解為兩個時間戳的差,這里也可以通過pd.Timedelta()來構造pd.Timestamp('2020010208:00:00')-pd.Timestamp('2020010107:35:00')pd.Timedelta(days=1,minutes=25)#需要注意是minutes,不是minute?;騪d.Timedelta('1days25minutes')#字符串生成財務數(shù)據(jù)分析財務數(shù)據(jù)分析Timedelta序列對于時間差序列的生成,需要pd.to_timedelta()方法,其類型為timedelta64[ns],示例代碼如下。td1=pd.date_range('2023-1-1','2023-3-1',periods=10)td2=td1+pd.Timedelta(days=1,minutes=45)*np.random.randint(10,size=10)ts=pd.to_timedelta(pd.Series(td2-td1))時間差序列也可以用timedelta_range()方法,參數(shù)與date_range()類似,示例代碼如下。pd.timedelta_range('1m','1000m',freq='1h')pd.timedelta_range('0h','1000h',periods=9)財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間差dt對象對于Timedelta序列,同樣也定義了dt對象,接上例代碼。td_dt=(pd.Series(td2-td1)).dtTimedelta的dt對象定義了的屬性包括days,seconds,mircroseconds,nanoseconds等,與DatatimeIndex的dt對象類似。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Timedelta的運算時間點是定距類型數(shù)據(jù),但是時間差卻是比例類型數(shù)據(jù),可以進行加、減、乘、除運算都有意義。時間偏置PartFour04財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析Offset對象Offset對象通過pd.offsets定義。當使用加法(+)運算時獲取離其最近的下一個日期,當使用減法(-)運算時獲取離其最近的上一個日期。[in]pd.Timestamp('20231006')+pd.offsets.WeekOfMonth(week=0,weekday=0)[out]Timestamp('2023-11-0600:00:00')[in]

pd.Timestamp('20231001')-pd.offsets.WeekOfMonth(week=0,weekday=0)[out]Timestamp('2023-09-0400:00:00')財務數(shù)據(jù)分析財務數(shù)據(jù)分析偏置字符串pd.date_range()函數(shù)可以生成連續(xù)的日期時間序列語法格式:pd.date_range(start=None,end=None,periods=None,freq=None,tz=None,normalize=False,name=None,inclusive='both',*,unit=None,**kwargs)式中freq取值可用Offset對象,稱為頻率字符串,是

DateOffset

對象及其子類。窗口函數(shù)PartFive05財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析窗口函數(shù)窗口函數(shù)可以為每行數(shù)據(jù)進行一次計算,因為窗口函數(shù)指定了數(shù)據(jù)窗口大小,可以在這個滑動窗口里進行計算并返回一個值。聚合函數(shù)只返回一行或對分組下的所有數(shù)據(jù)進行統(tǒng)計。財務數(shù)據(jù)分析財務數(shù)據(jù)分析滑動窗口函數(shù)窗口函數(shù)就是一個可以在滑動窗口實現(xiàn)各種統(tǒng)計操作的函數(shù)。一個滑動窗口是一個移動變化的小區(qū)間,所以窗口函數(shù)可以在不斷變化的小區(qū)間里實現(xiàn)各種復雜的統(tǒng)計分析。Pandasrolling()函數(shù)的語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析時序的滑動窗口所謂時序的滑窗函數(shù),即把滑動窗口用freq關鍵詞代替。將偏移量傳遞給rolling()函數(shù),并使其根據(jù)傳遞的時間窗口生成可變大小的窗口。函數(shù)作用于每個時間點,以及偏移量的時間增量內出現(xiàn)的所有先前值。財務數(shù)據(jù)分析財務數(shù)據(jù)分析時序的擴張窗口擴張窗口又稱累計窗口,可以理解為一個動態(tài)長度的窗口,其窗口的大小就是從序列開始處到具體操作的對應位置,其使用的聚合函數(shù)會作用于這些逐步擴張的窗口上?!綪ython財務數(shù)據(jù)分析】——財務數(shù)據(jù)的時間序列數(shù)據(jù)分析PartPractice05財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析【小結】本節(jié)主要介紹了時間序列的特殊數(shù)據(jù)處理。時間序列是財經數(shù)據(jù)分析的重要內容,因此Pandas對其有較豐

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論