利用python進行資料分析(八) 時間序列

2021-08-11 05:56:25 字數 2934 閱讀 4396

時間的資料分為三種:

時間戳,即特定的時刻

固定日期

時間間隔

首先

from datetime import datetime

from datetime import timedelta

from dateutil.parser import parse

(1)日期和時間資料型別

datetime.now()  #可以通過now屬性來調取年月日

delta=datetime(2011,1,7)-datetime(2008,6,24,8,15) #求時間間隔

timedelta(12) #12天

date=datetime(2011,12,3)+timedelta(12) #可以與日期直接相加

delta就是datetime型別的資料

(2)字串和datetime型別的互相轉換

parse函式可以將大部分格式的日期字串變換為datetime物件

parse('2013-2-16')

parse(『6/12/2011』,dayfirst=true) #如果是day在最前面,可以使用

##pandas可以用來處理成組的日期,利用to_datetime方法。

datestrs=['7/6/2011','8/6/2011']

pd.to_datetime(datestrs)

datetimeindex(['2011-07-06', '2011-08-06'], dtype='datetime64[ns]', freq=none)

(3)時間序列基礎

pandas 最基礎的時間序列型別就是以時間戳為索引的series。這個索引就是datetimeindex。

ts

2011-01-02 0.690002

2011-01-05 1.001543

2011-0 1-07 -0.503087

對於timeseries 要調取某幾行

ts[『2011-01-02』]

對於較長的時間序列,只要傳入年或者年月就可以了。

ts[『2011』]   ts[『2011-01』]
可以利用時間戳來切片。

ts[『2011-01-23』:』2011-02-21』]
(4)頻率和日期偏移

有時,時間的頻率並不固定(不同日期之間的間隔不同),要把它們轉換成相同頻率(在中間新增缺失值),可以使用

ts.serample(『d』) #'d'代表的是day

pandas.date_range(『4/1/2012』,』6/1/2012』)  #可以產生特定長度的datetimeindex

datetimeindex(['2012-04-01', '2012-04-02', '2012-04-03', '2012-04-04',

'2012-04-05', '2012-04-06', '2012-04-07', '2012-04-08',

'2012-04-09', '2012-04-10', '2012-04-11', '2012-04-12',

'2012-04-13', '2012-04-14', '2012-04-15', '2012-04-16',

'2012-04-17', '2012-04-18', '2012-04-19', '2012-04-20',

'2012-04-21', '2012-04-22', '2012-04-23', '2012-04-24',

'2012-04-25', '2012-04-26', '2012-04-27', '2012-04-28',

'2012-04-29', '2012-04-30', '2012-05-01', '2012-05-02',

'2012-05-03', '2012-05-04', '2012-05-05', '2012-05-06',

'2012-05-07', '2012-05-08', '2012-05-09', '2012-05-10',

'2012-05-11', '2012-05-12', '2012-05-13', '2012-05-14',

'2012-05-15', '2012-05-16', '2012-05-17', '2012-05-18',

'2012-05-19', '2012-05-20', '2012-05-21', '2012-05-22',

'2012-05-23', '2012-05-24', '2012-05-25', '2012-05-26',

'2012-05-27', '2012-05-28', '2012-05-29', '2012-05-30',

'2012-05-31', '2012-06-01'],

dtype='datetime64[ns]', fre q='d')

pd.date_range('1/1/2000',periods=10,freq='1h30min')   #從2000-01-01開始,每隔乙個半小時取乙個節點,一共取10個

datetimeindex(['2000-01-01 00:00:00', '2000-01-01 01:30:00',

'2000-01-01 03:00:00', '2000-01-01 04:30:00',

'2000-01-01 06:00:00', '2000-01-01 07:30:00',

'2000-01-01 09:00:00', '2000-01-01 10:30:00',

'2000-01-01 12:00:00', '2000-01-01 13:30:00'],

dtype='datetime64[ns]', freq='90t')

利用python進行資料分析

目錄 10 minutes to pandas 翻譯 pandas中loc iloc ix的區別 pandas dropna函式 pandas中dataframe的stack unstack 和pivot 方法的對比 pandas中關於set index和reset index的用法 python匿...

利用python進行資料分析

利用python進行資料分析,需要了解一些基本的方法,比如掌握回歸分析的方法,通過線性回歸和邏輯回歸,其實你就可以對大多數的資料進行回歸分析,並得出相對精確地結論。這部分需要掌握的知識點如下 回歸分析 線性回歸 邏輯回歸 基本的分類演算法 決策樹 隨機森林 樸素貝葉斯 基本的聚類演算法 k mean...

《利用Python進行資料分析》筆記

之前的筆記一直記在我的印象筆記上,今天突然想到 不如直接記在部落格上,印象筆記只記錄生活上的事,這樣也分工明確一些。同時也能和大家分享,也許可以幫助到別人。由於這個學習筆記系列主要還是用於個人學習總結用,所以會比較凌亂,望大家理解!2017 9 23 p151 pd.dropna thresh 其中...