




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python數據分析基礎與應用模塊8Pandas時間序列操作與應用8.1Pandas時間生成與轉換8.1.1Pandas時間序列時間序列(timeseries),就是由時間構成的序列,它指的是在一定時間內按照時間順序測量的某個變量的取值序列,例如溫度會隨時間而發生變化,股票的價格會隨著時間不斷的波動,這里用到的一系列時間,就可以看作這時間序列。時間序列主要包含三種應用場景:?特定的時刻(timestamp),也就是時間戳。?固定的日期(period),例如某年某月某日。?時間間隔(interval),每隔一段時間具有規律性。8.1.1Pandas時間序列1.使用Python內置的datetime模塊來獲取當前時間通過datetime模塊提供的now()方法來獲取當前時間。2.創建時間戳TimeStamp(時間戳)是時間序列中的最基本的數據類型,它將數值與時間點結合在一起。Pandas中,如果要生成一個TimeStamp類數據,可以先創建一個字符型的時間數據,再轉換為TimeStamp類數據。可以將整型或浮點型數據表示的時間數據轉換為時間戳,默認的單位是納秒(時間戳單位)。8.1.1Pandas時間序列3.轉化為時間戳可以使用to_datetime()函數將series對象或字符串的list對象轉換為時間戳,其中list會轉換為DatetimeIndex。to_datetime()函數的語法格式如下:pd.to_datetime(series對象或字符串的list對象)8.1.1Pandas時間序列4.使用date_range()函數創建日期序列Pandas提供了用來創建日期序列的函數date_range(),日期序列只包含年、月、日,不包含時、分、秒。使用date_range()函數可以創建某段連續的時間或者固定間隔的時間段,該函數主要用于生成一個固定頻率的時間索引,在調用構造方法時,必須指定start、end、periods中的兩個參數值,否則報錯。函數date_range()的語法格式如下:date_range(start=None,end=None,periods=None,freq='D',tz=None,normalize=False,name=None,closed=None,**kwargs)pd.data_range(start,stop,periods,freq)8.1.1Pandas時間序列函數主要函數參數說明如下:?start:表示開始時間?end:表示結束時間?periods:固定時期,取值為整數或None?freq:表示時間頻率或日期偏移量,取值為string或DateOffset,默認頻率為'D',也就是“日”。freq='Y'表示年,freq='W'表示周,freq='D'表示日,freq='H'表示小時,freq='T'表示分鐘,freq='S'表示秒。?normalize:若該參數設置為True,表示將start、end參數值正則化到午夜時間戳。?name:生成時間索引對象的名稱,取值為string或None。?closed:若closed=‘left’表示在返回的結果基礎上,再取左開右閉的結果,若closed='right'表示在返回的結果基礎上,再取做閉右開的結果。8.1.1Pandas時間序列5.使用period_range()函數創建時間周期period_range()函數可用于創建規則的時間周期,返回固定頻率的PeriodIndex。該函數的語法格式如下:pandas.period_range(start=None,end=None,periods=None,freq=None,name=None)8.1.1Pandas時間序列該函數參數說明如下:?start:字符串格式的日期或period-like,表示時間周期的左邊界,默認值為None。?end:字符串格式的日期或period-like,表示時間周期的右邊界,默認值為None。?periods:整數類型,表示要生成的周期數,默認值為None。?freq:為可選參數,表示頻率別名,可以為字符串或DateOffset數據。默認值為"D",即每天的頻率。freq='Y'表示年,freq='W'表示周,freq='D'表示日,freq='H'表示小時,freq='T'表示分鐘,freq='S'表示秒。?name:字符串,即產生的PeriodIndex的名稱,默認值為None。8.1.1Pandas時間序列6.計算時間周期時間周期(period)表示的是時間區間,例如數日、數月、數季、數年等,Period類的構造函數需要用到一個字符串或整數。周期計算指的是對時間周期進行算術運算,所有的操作將在“頻率”的基礎上執行。8.1.1Pandas時間序列7.時間的頻率轉換TimePeriods表示時間跨度,對應一段時間周期,它被定義在PandasPeriods類中,通過該類提供的方法可以實現將頻率轉換為周期。例如Periods()函數可以將頻率"M"(月)轉換為Period(時間段)。Period和PeriodIndex對象都可以通過其asfreq()函數轉換成別的頻率,使用asfreq()函數和start參數,可以輸出"01",若使用end參數,則輸出"31"。對于常用的時間序列頻率,Pandas為其規定了一些字符串別名,將這些別名稱為“offset(偏移量)”。8.1.1Pandas時間序列8.使用shift()函數移動或滯后時間序列移動(shifting)指的是沿著時間軸將數據前移或后移,Series和DataFrame對象都有一個shift()函數用于執行單純的前移或后移操作,保持索引不變。8.1.1Pandas時間序列9.Timestamp與Period相互轉換(1)將Timestamp轉換為Period通過使用to_period()函數,可以將由時間戳索引的Series和DataFrame對象轉換為以時間周期索引。(2)將Period轉換為Timestamp使用to_timestamp()函數將Period時間周期轉換為時間戳(timestamp)。8.1.1Pandas時間序列10.創建工作日日期范圍bdate_range()函數用于表示創建工作日的日期范圍,它與date_range()不同,它不包括周六、周日。8.1.2Pandas日期時間格式化1.認知日期格式化符號對時間進行格式化處理時,它們都有固定的表示格式,例如小時的格式化符號為%H,分鐘簡寫為%M,秒簡寫為%S。8.1.2Pandas日期時間格式化2.將字符串日期轉換為datetime類型(1)使用strptime()函數將字符串日期轉換為datetime類型Python內置的strptime()函數根據指定的格式將字符串日期轉換為datetime類型。strptime()函數語法格式如下:time.strptime(string[,format])8.1.2Pandas日期時間格式化2.將字符串日期轉換為datetime類型該函數參數說明如下:?string:時間字符串。?format:格式化字符串,如表8-2所示。strptime()函數返回struct_time對象。【注意】:strftime()可以將datetime類型轉換為字符串類型,與strptime()相反。8.1.3Padans
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 殘聯康復資金管理辦法
- 團隊基金管理辦法課件
- 獸藥原料銷售管理辦法
- 杭州租車公司管理辦法
- 華為海外稅務管理辦法
- 杭州動物診療管理辦法
- 隔聲結構優化-洞察及研究
- 高溫燃燒環境下木質纖維元素分析條件優化研究
- 村級干部績效管理辦法
- 醫院重點崗位管理辦法
- 2025年重慶市中考化學試卷真題(含標準答案)
- JG/T 202-2007工程管道用聚氨酯、蛭石絕熱材料支吊架
- T/CEMIA 026-2021濕電子化學品技術成熟度等級劃分及定義
- 空壓機改造合同協議
- 訴前調解協議書模板
- 房建項目施工組織設計
- 熱帶作物品種審定規范 葛編制說明
- 安徽省2024年普通高校招生普通高職(專科)批院校投檔分數及名次(歷史科目組合)
- TSZJL 10-2024 機動車污染物排放檢測設備運行和保養技術規范
- 智能溫室環境控制-第2篇-深度研究
- LS/T 1235-2024糧食倉房分類分級
評論
0/150
提交評論