溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中怎么使用pandas實(shí)現(xiàn)時(shí)序處理

發(fā)布時(shí)間:2021-06-17 16:15:13 來源:億速云 閱讀:175 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)python中怎么使用pandas實(shí)現(xiàn)時(shí)序處理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)建時(shí)間序列

函數(shù)pd.date_range()

根據(jù)指定的范圍,生成時(shí)間序列DatetimeIndex,每隔元素的類型為Timestamp。該函數(shù)應(yīng)用較多。

ts = pd.date_range('2017-09-01', periods=10, freq='d', normalize=False)
ts

輸出為:

DatetimeIndex(['2017-09-01', '2017-09-02', '2017-09-03', '2017-09-04',
'2017-09-05', '2017-09-06', '2017-09-07', '2017-09-08',
'2017-09-09', '2017-09-10'],
dtype='datetime64[ns]', freq='D'

主要的入?yún)⒔馕觯?br/>

  • start: 開始時(shí)刻,可以是字符串或者datetime類型的值。默認(rèn)None。

  • end: 結(jié)束時(shí)刻,可以是字符串或者datetime類型的值,如果指定了長度,即periods,則可不設(shè)置。默認(rèn)None。

  • periods: 時(shí)序的長度,整型類型。如果有end,可不設(shè)置。默認(rèn)None。

  • freq: 時(shí)序生成的頻率,即每隔多少時(shí)刻生成一個(gè)時(shí)序點(diǎn)。字符串類型或者DateOffset類型。默認(rèn)'D',即天粒度,見上述代碼輸出。

  • tz: 時(shí)區(qū),字符串類型。默認(rèn)None。

  • normalize: bool類型,沒用過,不知道干啥的。

  • name: 設(shè)置時(shí)序的名稱,字符串類型,默認(rèn)None。

  • closed: 是否包含兩邊的值。默認(rèn)None,即兩邊都保留。

其中,freq的取值可以為如下的符號(hào)表示間隔,可以結(jié)合符號(hào)和數(shù)字,如'3d',表示每隔三天記錄一個(gè)時(shí)間點(diǎn)。大小寫都可以。

B business day frequency
C custom business day frequency (experimental)
D calendar day frequency
W weekly frequency
M month end frequency
SM semi-month end frequency (15th and end of month)
BM business month end frequency
CBM custom business month end frequency
MS month start frequency
SMS semi-month start frequency (1st and 15th)
BMS business month start frequency
CBMS custom business month start frequency
Q quarter end frequency
BQ business quarter endfrequency
QS quarter start frequency
BQS business quarter start frequency
A year end frequency
BA business year end frequency
AS year start frequency
BAS business year start frequency
BH business hour frequency
H hourly frequency
T, min minutely frequency
S secondly frequency
L, ms milliseconds
U, us microseconds
N nanoseconds

字符串轉(zhuǎn)換為時(shí)間戳

pd.to_datetime() 函數(shù)可以將表示時(shí)間的字符串轉(zhuǎn)換位TimeStamp。

pd.to_datetime('2017-09-01')

輸出為:

Timestamp('2017-09-01 00:00:00')

常用的參數(shù):

format: 用來設(shè)置字符串的格式,默認(rèn)如上所示。

時(shí)間戳的加減
有時(shí)候需要將時(shí)間進(jìn)行增減,可以使用類型:DateOffset。

pd.to_datetime('2017-09-01') + pd.DateOffset(days=10)

輸出為:

Timestamp('2017-09-11 00:00:00')

DateOffset常用的參數(shù):

  • months,設(shè)置月。

  • days,設(shè)置天。

  • years,設(shè)置年。

  • hours,設(shè)置小時(shí)。

  • minutes,設(shè)置分鐘。

  • seconds,設(shè)置秒。

以上可以同時(shí)設(shè)置,組合使用。

pd.to_datetime('2017-09-01') + pd.DateOffset(seconds=10, days = 10)

輸出為:

Timestamp('2017-09-11 00:00:10')

看完上述內(nèi)容,你們對python中怎么使用pandas實(shí)現(xiàn)時(shí)序處理有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI