您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關python中怎么使用pandas實現時序處理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
創建時間序列
函數pd.date_range()
根據指定的范圍,生成時間序列DatetimeIndex,每隔元素的類型為Timestamp。該函數應用較多。
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'
主要的入參解析:
start: 開始時刻,可以是字符串或者datetime類型的值。默認None。
end: 結束時刻,可以是字符串或者datetime類型的值,如果指定了長度,即periods,則可不設置。默認None。
periods: 時序的長度,整型類型。如果有end,可不設置。默認None。
freq: 時序生成的頻率,即每隔多少時刻生成一個時序點。字符串類型或者DateOffset類型。默認'D',即天粒度,見上述代碼輸出。
tz: 時區,字符串類型。默認None。
normalize: bool類型,沒用過,不知道干啥的。
name: 設置時序的名稱,字符串類型,默認None。
closed: 是否包含兩邊的值。默認None,即兩邊都保留。
其中,freq的取值可以為如下的符號表示間隔,可以結合符號和數字,如'3d',表示每隔三天記錄一個時間點。大小寫都可以。
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
字符串轉換為時間戳
pd.to_datetime() 函數可以將表示時間的字符串轉換位TimeStamp。
pd.to_datetime('2017-09-01')
輸出為:
Timestamp('2017-09-01 00:00:00')
常用的參數:
format: 用來設置字符串的格式,默認如上所示。
時間戳的加減
有時候需要將時間進行增減,可以使用類型:DateOffset。
pd.to_datetime('2017-09-01') + pd.DateOffset(days=10)
輸出為:
Timestamp('2017-09-11 00:00:00')
DateOffset常用的參數:
months,設置月。
days,設置天。
years,設置年。
hours,設置小時。
minutes,設置分鐘。
seconds,設置秒。
以上可以同時設置,組合使用。
pd.to_datetime('2017-09-01') + pd.DateOffset(seconds=10, days = 10)
輸出為:
Timestamp('2017-09-11 00:00:10')
看完上述內容,你們對python中怎么使用pandas實現時序處理有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。