Pandas時間序列資料處理

2021-10-07 15:08:49 字數 1164 閱讀 4000

時間序列資料是以時間為自變數,描述物件在時間過程中的發展、變化。比如,超市每天的銷售額,景區每天的旅客流量等。因此,處理時間序列資料是pandas資料分析中重要的一類方法。

一、時間索引轉換

一般來說,我們獲得的資料不是以時間作為索引的。即使原始資料的第一列是時間,當我們匯入python後仍然會重新建立索引。例如,我們將乙個超市每天的銷售額匯入:

in: p1=pd.read_csv(『time_series.csv』)

pd.dataframe(p1).head()

out:       日期        銷售額

0     2017/2/17           2154

1     2017/2/18           2095

2     2017/2/19           3459

3     2017/2/20           2198

4     2017/2/21           2413

此時,需要做時間序列的轉換,為後面的分析做好準備。

第一種方法是在讀取資料的時候,通過設定引數parse_dates和index_col,直接對日期列進行轉換,並將其設定為索引。        

in:p1=pd.read_csv(『time_series.csv』,parse_dates=[『date』],index_col=』日期』)

第二種方法是在已經匯入資料的情況下,to_datetime()將列轉換成日期型別,再用 set_index()將其設定為索引,完成轉換。需要注意的是set_index()函式有引數drop,可以設定為ture或者false。

二、時間序列索引

時間序列的索引與其它型別的索引幾乎一致。既支援切片索引、精準索引,也支援子集索引、混合索引。比如,在索引成功轉換成時間的情況,以下索引方法都是正確的。

p1[『2017/3/15』]

p 1[『2017/2/17』:』2017/3/15』]

p1[『2017/3』]

p1[『2017/2/17』:』20170315』]

三、重取樣

重取樣指的是將時間序列從⼀個頻率轉換到另⼀個頻率的處理過程。將高頻率資料聚合到低頻率稱為降取樣downsampling,如將超市銷售額的日資料轉換成周資料,而將低頻率資料轉換到高頻率則稱為公升取樣upsampling,如將超市銷售額的周資料轉換成日資料。

Pandas文字資料處理與時間序列

字元文字 pandas提供了一組字串函式,可以方便地對字串資料進行操作。最重要的是,這些函式忽略nan值。以下的這些方法幾乎都支援python內建的字串函式。pandas的一些方法都支援正規表示式,比如下面的replace 可以多多嘗試 xyx。函式名描述 lower 將series index中的...

pandas 資料處理

pandas中資料可以分為series,dataframe,panel分別表示一維至三維資料。其中在構造時,index表示行名,columns表示列名 構造方式 s pd.series data index index s pd series np random randn 5 index a b ...

pandas資料處理

dataframe.duplicated subset none,keep first 判斷dataframe中的資料是否有重複 必須一行中所有資料都重複才算重複,只能判斷行,不能判斷列 返回series dataframe.drop duplicates subset none,keep firs...