python時(shí)間序列函數(shù)的簡(jiǎn)單介紹

python數(shù)據(jù)分析時(shí)間序列如何提取一個(gè)月的數(shù)據(jù)

python做數(shù)據(jù)分析時(shí)下面就是提取一個(gè)月數(shù)據(jù)的教程1. datetime庫(kù)

公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)推出清豐免費(fèi)做網(wǎng)站回饋大家。

1.1 datetime.date

1) datetime.date.today() 返回今日,輸出的類(lèi)型為date類(lèi)

import datetime

today = datetime.date.today()

print(today)

print(type(today))

– 輸出的結(jié)果為:

2020-03-04

class 'datetime.date'

將輸出的結(jié)果轉(zhuǎn)化為常見(jiàn)數(shù)據(jù)類(lèi)型(字符串)

print(str(today))

print(type(str(today)))

date = str(today).split('-')

year,month,day = date[0],date[1],date[2]

print('今日的年份是{}年,月份是{}月,日子是{}號(hào)'.format(year,month,day))

– 輸出的結(jié)果為:(轉(zhuǎn)化為字符串之后就可以直接進(jìn)行操作)

2020-03-04

class 'str'

今日的年份是2020年,月份是03月,日子是04號(hào)

2) datetime.date(年,月,日),獲取當(dāng)前的日期

date = datetime.date(2020,2,29)

print(date)

print(type(date))

– 輸出的結(jié)果為:

2020-02-29

class 'datetime.date'

1.2 datetime.datetime

1) datetime.datetime.now()輸出當(dāng)前時(shí)間,datetime類(lèi)

now = datetime.datetime.now()

print(now)

print(type(now))

– 輸出的結(jié)果為:(注意秒后面有個(gè)不確定尾數(shù))

2020-03-04 09:02:28.280783

class 'datetime.datetime'

可通過(guò)str()轉(zhuǎn)化為字符串(和上面類(lèi)似)

print(str(now))

print(type(str(now)))

– 輸出的結(jié)果為:(這里也可以跟上面的處理類(lèi)似分別獲得相應(yīng)的數(shù)據(jù),但是也可以使用下面更直接的方法來(lái)獲取)

2020-03-04 09:04:32.271075

class 'str'

2) 通過(guò)自帶的方法獲取年月日,時(shí)分秒(這里返回的是int整型數(shù)據(jù),注意區(qū)別)

now = datetime.datetime.now()

print(now.year,type(now.year))

print(now.month,type(now.month))

print(now.day,type(now.day))

print(now.hour,type(now.hour))

print(now.minute,type(now.minute))

print(now.second,type(now.second))

print(now.date(),type(now.date()))

print(now.date().year,type(now.date().year))

– 輸出的結(jié)果為:(首先注意輸出中倒數(shù)第二個(gè)還是上面的datetime.date對(duì)象,這里是用來(lái)做時(shí)間對(duì)比的,同時(shí)除了這里的datetime.datetime有這種方法,datetime.date對(duì)象也有。因?yàn)榇朔椒ǐ@取second是取的整型數(shù)據(jù),自然最后的不確定尾數(shù)就被取整處理掉了)

2020 class 'int'

3 class 'int'

4 class 'int'

9 class 'int'

12 class 'int'

55 class 'int'

2020-03-04 class 'datetime.date'

2020 class 'int'

python時(shí)間序列(2)

時(shí)期(period)表示的是時(shí)間區(qū)間,比如數(shù)日、數(shù)月、數(shù)季、數(shù)年等。Period類(lèi)所 表示的就是這種數(shù)據(jù)類(lèi)型,其構(gòu)造函數(shù)需要用到一個(gè)字符串或整數(shù),以及表11-4中 的頻率:

這里,這個(gè)Period對(duì)象表示的是從2007年1月1日到2007年12月31日之間的整段時(shí)間。

只需對(duì)Period對(duì)象加上或減去一個(gè)整數(shù)即可達(dá)到根據(jù)其頻率進(jìn)行位移的效果:

如果兩個(gè)Period對(duì)象擁有相同的頻率,則它們的差就是它們之間的單位數(shù)量:

period_range函數(shù)可用于創(chuàng)建規(guī)則的時(shí)期范圍:

PeriodIndex類(lèi)保存了一組Period,它可以在任何pandas數(shù)據(jù)結(jié)構(gòu)中被用作軸索引:

如果你有一個(gè)字符串?dāng)?shù)組,你也可以使用PeriodIndex類(lèi):

Period和PeriodIndex對(duì)象都可以通過(guò)其asfreq方法被轉(zhuǎn)換成別的頻率。假設(shè)我們有 一個(gè)年度時(shí)期,希望將其轉(zhuǎn)換為當(dāng)年年初或年末的一個(gè)月度時(shí)期。該任務(wù)非常簡(jiǎn) 單:

你可以將Period('2007','A-DEC')看做一個(gè)被劃分為多個(gè)月度時(shí)期的時(shí)間段中的游 標(biāo)。圖11-1對(duì)此進(jìn)行了說(shuō)明。

對(duì)于一個(gè)不以12月結(jié)束的財(cái)政年度,月度子時(shí)期的歸屬情況就不一樣了:

在將高頻率轉(zhuǎn)換為低頻率時(shí),超時(shí)期(superperiod)是由子時(shí)期(subperiod)所 屬的位置決定的。例如,在A-JUN頻率中,月份“2007年8月”實(shí)際上是屬于周期“2008年”的:

完整的PeriodIndex或TimeSeries的頻率轉(zhuǎn)換方式也是如此:

這里,根據(jù)年度時(shí)期的第一個(gè)月,每年的時(shí)期被取代為每月的時(shí)期。

如果我們想要 每年的最后一個(gè)工作日,我們可以使用“B”頻率,并指明想要該時(shí)期的末尾:

未完待續(xù)。。。

Python時(shí)間序列timeline里的參數(shù)有哪些?

Python 中有多種用于處理時(shí)間序列的庫(kù),具體的參數(shù)取決于你使用的庫(kù)。

例如,使用 Pandas 時(shí)間序列的創(chuàng)建可以使用的參數(shù)有:

- start: 起始時(shí)間

- end: 結(jié)束時(shí)間

- periods: 整數(shù),表示生成的時(shí)間點(diǎn)的數(shù)量

- freq: 時(shí)間頻率,例如 'D' 表示每天

- tz: 時(shí)區(qū)

- normalize: 布爾值,表示是否將時(shí)間設(shè)置為午夜

- name: 時(shí)間序列的名稱(chēng)

同樣,其他時(shí)間序列庫(kù)也有自己的參數(shù)設(shè)置。

python中時(shí)間序列數(shù)據(jù)的一些處理方式

datetime.timedelta對(duì)象代表兩個(gè)時(shí)間之間的時(shí)間差,兩個(gè)date或datetime對(duì)象相減就可以返回一個(gè)timedelta對(duì)象。

利用以下數(shù)據(jù)進(jìn)行說(shuō)明:

如果我們發(fā)現(xiàn)時(shí)間相關(guān)內(nèi)容的變量為int,float,str等類(lèi)型,不方便后面的分析,就需要使用該函數(shù)轉(zhuǎn)化為常用的時(shí)間變量格式:pandas.to_datetime

轉(zhuǎn)換得到的時(shí)間單位如下:

如果時(shí)間序列格式不統(tǒng)一,pd.to_datetime()的處理方式:

當(dāng)然,正確的轉(zhuǎn)換是這樣的:

第一步:to_datetime()

第二步:astype(datetime64[D]),astype(datetime64[M])

本例中:

order_dt_diff必須是Timedelta('0 days 00:00:00')格式,可能是序列使用了diff()

或者pct_change()。

前者往往要通過(guò)'/np.timedelta'去掉單位days。后者其實(shí)沒(méi)有單位。

假如我們要統(tǒng)計(jì)某共享單車(chē)一天內(nèi)不同時(shí)間點(diǎn)的用戶(hù)使用數(shù)據(jù),例如

還有其他維度的提取,年、月、日、周,參見(jiàn):

Datetime properties

注意 :.dt的對(duì)象必須為pandas.Series,而不可以是Series中的單個(gè)元素

當(dāng)前名稱(chēng):python時(shí)間序列函數(shù)的簡(jiǎn)單介紹
網(wǎng)站地址:http://www.muchs.cn/article10/doeojdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)網(wǎng)站設(shè)計(jì)公司、手機(jī)網(wǎng)站建設(shè)、微信公眾號(hào)、面包屑導(dǎo)航電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化