時間序列資料是以時間為自變數,描述物件在時間過程中的發展、變化。比如,超市每天的銷售額,景區每天的旅客流量等。因此,處理時間序列資料是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...