更新時(shí)間:2022-11-25 來(lái)源:黑馬程序員 瀏覽量:
移動(dòng)(shifting)是指沿著時(shí)間軸方向?qū)?shù)據(jù)進(jìn)行前移或者后移。Pandas對(duì)象中提供了一個(gè)shift方法,用來(lái)前移或者后移數(shù)據(jù),但索引保持不變。shift方法的語(yǔ)法格式如下:
shift(periods=1, freq==None, axis=0)
部分參數(shù)含義如下:
?。?)periods:表示移動(dòng)的幅度,可以為正數(shù),也可以為負(fù)數(shù),默認(rèn)值是1,代表移動(dòng)一次。
?。?)freq:如果這個(gè)參數(shù)存在,那么會(huì)按照參數(shù)值移動(dòng)時(shí)間戳索引,而數(shù)據(jù)值沒(méi)有發(fā)生變化。
為了讓讀者更好地理解,下面以Series對(duì)象為例,通過(guò)一張圖來(lái)描述向前移動(dòng)與向后移動(dòng)發(fā)生的變化,具體如圖7-1所示。
圖7-1移動(dòng)數(shù)據(jù)
在圖7-1中,時(shí)間序列數(shù)據(jù)經(jīng)過(guò)移動(dòng)操作后,數(shù)據(jù)發(fā)生了變化,而時(shí)間戳索引沒(méi)有發(fā)生任何變化。數(shù)據(jù)向前移動(dòng)一次,位于最前面的數(shù)據(jù)被丟棄,位于末尾一行的數(shù)據(jù)因原數(shù)據(jù)向前移動(dòng)變成了NaN;數(shù)據(jù)向后移動(dòng)一次,位于末尾的數(shù)據(jù)被丟棄,位于開(kāi)頭一行數(shù)據(jù)因原數(shù)據(jù)向后移動(dòng)變成NaN。由此可見(jiàn),數(shù)據(jù)由于前后移動(dòng)出現(xiàn)了邊界情況。