用法:
DataFrame.shift(periods=1, freq=None, axis=0, fill_value=NoDefault.no_default)
使用可選時間
freq
將索引移動所需的周期數。當
freq
未通過時,移動索引而不重新對齊數據。如果freq
被傳遞(在這種情況下,索引必須是日期或日期時間,否則會引發NotImplementedError
),索引將使用句點和freq
增加。隻要在索引中設置了 freq 或 inferred_freq 屬性,就可以在指定為 “infer” 時推斷freq
。- periods:int
要轉移的周期數。可以是正麵的或負麵的。
- freq:DateOffset、tseries.offsets、timedelta 或 str,可選
使用 tseries 模塊或時間規則的偏移量(例如“EOM”)。如果指定了
freq
,則索引值會移動,但數據不會重新對齊。也就是說,如果您想在移位時擴展索引並保留原始數據,請使用freq
。如果freq
被指定為 “infer” 那麽它將從索引的 freq 或 inferred_freq 屬性中推斷出來。如果這些屬性都不存在,則會拋出 ValueError。- axis:{0 或‘index’,1 或‘columns’,無},默認無
換個方向。
- fill_value:對象,可選
用於新引入的缺失值的標量值。默認值取決於
self
的 dtype。對於數值數據,使用np.nan
。對於日期時間、時間增量或周期數據等。使用NaT
。對於擴展數據類型,使用self.dtype.na_value
。
- DataFrame
輸入對象的副本,已移動。
參數:
返回:
例子:
>>> df = pd.DataFrame({"Col1":[10, 20, 15, 30, 45], ... "Col2":[13, 23, 18, 33, 48], ... "Col3":[17, 27, 22, 37, 52]}, ... index=pd.date_range("2020-01-01", "2020-01-05")) >>> df Col1 Col2 Col3 2020-01-01 10 13 17 2020-01-02 20 23 27 2020-01-03 15 18 22 2020-01-04 30 33 37 2020-01-05 45 48 52
>>> df.shift(periods=3) Col1 Col2 Col3 2020-01-01 NaN NaN NaN 2020-01-02 NaN NaN NaN 2020-01-03 NaN NaN NaN 2020-01-04 10.0 13.0 17.0 2020-01-05 20.0 23.0 27.0
>>> df.shift(periods=1, axis="columns") Col1 Col2 Col3 2020-01-01 NaN 10 13 2020-01-02 NaN 20 23 2020-01-03 NaN 15 18 2020-01-04 NaN 30 33 2020-01-05 NaN 45 48
>>> df.shift(periods=3, fill_value=0) Col1 Col2 Col3 2020-01-01 0 0 0 2020-01-02 0 0 0 2020-01-03 0 0 0 2020-01-04 10 13 17 2020-01-05 20 23 27
>>> df.shift(periods=3, freq="D") Col1 Col2 Col3 2020-01-04 10 13 17 2020-01-05 20 23 27 2020-01-06 15 18 22 2020-01-07 30 33 37 2020-01-08 45 48 52
>>> df.shift(periods=3, freq="infer") Col1 Col2 Col3 2020-01-04 10 13 17 2020-01-05 20 23 27 2020-01-06 15 18 22 2020-01-07 30 33 37 2020-01-08 45 48 52
相關用法
- Python pandas.DataFrame.shape用法及代碼示例
- Python pandas.DataFrame.sparse.from_spmatrix用法及代碼示例
- Python pandas.DataFrame.select_dtypes用法及代碼示例
- Python pandas.DataFrame.size用法及代碼示例
- Python pandas.DataFrame.subtract用法及代碼示例
- Python pandas.DataFrame.stack用法及代碼示例
- Python pandas.DataFrame.set_index用法及代碼示例
- Python pandas.DataFrame.sort_index用法及代碼示例
- Python pandas.DataFrame.swaplevel用法及代碼示例
- Python pandas.DataFrame.sub用法及代碼示例
- Python pandas.DataFrame.sort_values用法及代碼示例
- Python pandas.DataFrame.set_flags用法及代碼示例
- Python pandas.DataFrame.sparse.to_dense用法及代碼示例
- Python pandas.DataFrame.squeeze用法及代碼示例
- Python pandas.DataFrame.std用法及代碼示例
- Python pandas.DataFrame.sample用法及代碼示例
- Python pandas.DataFrame.set_axis用法及代碼示例
- Python pandas.DataFrame.sum用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.shift。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。