




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊8Pandas時(shí)間序列操作與應(yīng)用8.1Pandas時(shí)間生成與轉(zhuǎn)換8.1.1Pandas時(shí)間序列時(shí)間序列(timeseries),就是由時(shí)間構(gòu)成的序列,它指的是在一定時(shí)間內(nèi)按照時(shí)間順序測量的某個(gè)變量的取值序列,例如溫度會(huì)隨時(shí)間而發(fā)生變化,股票的價(jià)格會(huì)隨著時(shí)間不斷的波動(dòng),這里用到的一系列時(shí)間,就可以看作這時(shí)間序列。時(shí)間序列主要包含三種應(yīng)用場景:?特定的時(shí)刻(timestamp),也就是時(shí)間戳。?固定的日期(period),例如某年某月某日。?時(shí)間間隔(interval),每隔一段時(shí)間具有規(guī)律性。8.1.1Pandas時(shí)間序列1.使用Python內(nèi)置的datetime模塊來獲取當(dāng)前時(shí)間通過datetime模塊提供的now()方法來獲取當(dāng)前時(shí)間。2.創(chuàng)建時(shí)間戳TimeStamp(時(shí)間戳)是時(shí)間序列中的最基本的數(shù)據(jù)類型,它將數(shù)值與時(shí)間點(diǎn)結(jié)合在一起。Pandas中,如果要生成一個(gè)TimeStamp類數(shù)據(jù),可以先創(chuàng)建一個(gè)字符型的時(shí)間數(shù)據(jù),再轉(zhuǎn)換為TimeStamp類數(shù)據(jù)。可以將整型或浮點(diǎn)型數(shù)據(jù)表示的時(shí)間數(shù)據(jù)轉(zhuǎn)換為時(shí)間戳,默認(rèn)的單位是納秒(時(shí)間戳單位)。8.1.1Pandas時(shí)間序列3.轉(zhuǎn)化為時(shí)間戳可以使用to_datetime()函數(shù)將series對象或字符串的list對象轉(zhuǎn)換為時(shí)間戳,其中l(wèi)ist會(huì)轉(zhuǎn)換為DatetimeIndex。to_datetime()函數(shù)的語法格式如下:pd.to_datetime(series對象或字符串的list對象)8.1.1Pandas時(shí)間序列4.使用date_range()函數(shù)創(chuàng)建日期序列Pandas提供了用來創(chuàng)建日期序列的函數(shù)date_range(),日期序列只包含年、月、日,不包含時(shí)、分、秒。使用date_range()函數(shù)可以創(chuàng)建某段連續(xù)的時(shí)間或者固定間隔的時(shí)間段,該函數(shù)主要用于生成一個(gè)固定頻率的時(shí)間索引,在調(diào)用構(gòu)造方法時(shí),必須指定start、end、periods中的兩個(gè)參數(shù)值,否則報(bào)錯(cuò)。函數(shù)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時(shí)間序列函數(shù)主要函數(shù)參數(shù)說明如下:?start:表示開始時(shí)間?end:表示結(jié)束時(shí)間?periods:固定時(shí)期,取值為整數(shù)或None?freq:表示時(shí)間頻率或日期偏移量,取值為string或DateOffset,默認(rèn)頻率為'D',也就是“日”。freq='Y'表示年,freq='W'表示周,freq='D'表示日,freq='H'表示小時(shí),freq='T'表示分鐘,freq='S'表示秒。?normalize:若該參數(shù)設(shè)置為True,表示將start、end參數(shù)值正則化到午夜時(shí)間戳。?name:生成時(shí)間索引對象的名稱,取值為string或None。?closed:若closed=‘left’表示在返回的結(jié)果基礎(chǔ)上,再取左開右閉的結(jié)果,若closed='right'表示在返回的結(jié)果基礎(chǔ)上,再取做閉右開的結(jié)果。8.1.1Pandas時(shí)間序列5.使用period_range()函數(shù)創(chuàng)建時(shí)間周期period_range()函數(shù)可用于創(chuàng)建規(guī)則的時(shí)間周期,返回固定頻率的PeriodIndex。該函數(shù)的語法格式如下:pandas.period_range(start=None,end=None,periods=None,freq=None,name=None)8.1.1Pandas時(shí)間序列該函數(shù)參數(shù)說明如下:?start:字符串格式的日期或period-like,表示時(shí)間周期的左邊界,默認(rèn)值為None。?end:字符串格式的日期或period-like,表示時(shí)間周期的右邊界,默認(rèn)值為None。?periods:整數(shù)類型,表示要生成的周期數(shù),默認(rèn)值為None。?freq:為可選參數(shù),表示頻率別名,可以為字符串或DateOffset數(shù)據(jù)。默認(rèn)值為"D",即每天的頻率。freq='Y'表示年,freq='W'表示周,freq='D'表示日,freq='H'表示小時(shí),freq='T'表示分鐘,freq='S'表示秒。?name:字符串,即產(chǎn)生的PeriodIndex的名稱,默認(rèn)值為None。8.1.1Pandas時(shí)間序列6.計(jì)算時(shí)間周期時(shí)間周期(period)表示的是時(shí)間區(qū)間,例如數(shù)日、數(shù)月、數(shù)季、數(shù)年等,Period類的構(gòu)造函數(shù)需要用到一個(gè)字符串或整數(shù)。周期計(jì)算指的是對時(shí)間周期進(jìn)行算術(shù)運(yùn)算,所有的操作將在“頻率”的基礎(chǔ)上執(zhí)行。8.1.1Pandas時(shí)間序列7.時(shí)間的頻率轉(zhuǎn)換TimePeriods表示時(shí)間跨度,對應(yīng)一段時(shí)間周期,它被定義在PandasPeriods類中,通過該類提供的方法可以實(shí)現(xiàn)將頻率轉(zhuǎn)換為周期。例如Periods()函數(shù)可以將頻率"M"(月)轉(zhuǎn)換為Period(時(shí)間段)。Period和PeriodIndex對象都可以通過其asfreq()函數(shù)轉(zhuǎn)換成別的頻率,使用asfreq()函數(shù)和start參數(shù),可以輸出"01",若使用end參數(shù),則輸出"31"。對于常用的時(shí)間序列頻率,Pandas為其規(guī)定了一些字符串別名,將這些別名稱為“offset(偏移量)”。8.1.1Pandas時(shí)間序列8.使用shift()函數(shù)移動(dòng)或滯后時(shí)間序列移動(dòng)(shifting)指的是沿著時(shí)間軸將數(shù)據(jù)前移或后移,Series和DataFrame對象都有一個(gè)shift()函數(shù)用于執(zhí)行單純的前移或后移操作,保持索引不變。8.1.1Pandas時(shí)間序列9.Timestamp與Period相互轉(zhuǎn)換(1)將Timestamp轉(zhuǎn)換為Period通過使用to_period()函數(shù),可以將由時(shí)間戳索引的Series和DataFrame對象轉(zhuǎn)換為以時(shí)間周期索引。(2)將Period轉(zhuǎn)換為Timestamp使用to_timestamp()函數(shù)將Period時(shí)間周期轉(zhuǎn)換為時(shí)間戳(timestamp)。8.1.1Pandas時(shí)間序列10.創(chuàng)建工作日日期范圍bdate_range()函數(shù)用于表示創(chuàng)建工作日的日期范圍,它與date_range()不同,它不包括周六、周日。8.1.2Pandas日期時(shí)間格式化1.認(rèn)知日期格式化符號(hào)對時(shí)間進(jìn)行格式化處理時(shí),它們都有固定的表示格式,例如小時(shí)的格式化符號(hào)為%H,分鐘簡寫為%M,秒簡寫為%S。8.1.2Pandas日期時(shí)間格式化2.將字符串日期轉(zhuǎn)換為datetime類型(1)使用strptime()函數(shù)將字符串日期轉(zhuǎn)換為datetime類型Python內(nèi)置的strptime()函數(shù)根據(jù)指定的格式將字符串日期轉(zhuǎn)換為datetime類型。strptime()函數(shù)語法格式如下:time.strptime(string[,format])8.1.2Pandas日期時(shí)間格式化2.將字符串日期轉(zhuǎn)換為datetime類型該函數(shù)參數(shù)說明如下:?string:時(shí)間字符串。?format:格式化字符串,如表8-2所示。strptime()函數(shù)返回struct_time對象。【注意】:strftime()可以將datetime類型轉(zhuǎn)換為字符串類型,與strptime()相反。8.1.3Padans
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電機(jī)工程師(步進(jìn)電機(jī))考試試卷及答案
- 化工設(shè)備工程師(容器設(shè)計(jì))崗位面試問題及答案
- 大型體育賽事門票銷售及廣告植入合同
- 醫(yī)療器械購銷合同包退保障范本
- 股東融資租賃合作協(xié)議書
- 股份制公司股權(quán)變更與繼承糾紛調(diào)解協(xié)議
- 房地產(chǎn)開發(fā)企業(yè)預(yù)售合同范本
- 金融科技領(lǐng)域股權(quán)投資合作協(xié)議范本
- 車輛銷售售后服務(wù)滿意度調(diào)查合同模板
- 跨國公司股權(quán)置換與業(yè)務(wù)整合合同模板
- (2024年)腸梗阻完整版課件
- (2024年)《甲亢病人的護(hù)理》ppt課件完整版
- T-CARM 002-2023 康復(fù)醫(yī)院建設(shè)標(biāo)準(zhǔn)
- 兒童發(fā)展心理學(xué)全套課件
- 2022水利工程生態(tài)護(hù)坡技術(shù)規(guī)范
- 《單片機(jī)C語言》課件
- 新能源與人工智能的融合發(fā)展
- 實(shí)驗(yàn)室搬遷方案
- 人為因素航空安全管理
- 1、山東省專業(yè)技術(shù)職稱評(píng)審表(A3正反面手填)
- 《導(dǎo)游業(yè)務(wù)》第八章
評(píng)論
0/150
提交評(píng)論