用法:
DataFrame.shift(self, periods=1, freq=None, axis=0, fill_value=None) → 'DataFrame'
按所需的周期数(可选时间)移动索引freq。
当freq如果未传递,则在不重新对齐数据的情况下移动索引。如果freq传递(在这种情况下,索引必须为date或datetime,否则它将引发NotImplementedError),则索引会使用句点和freq。
参数:
- periods:int
要移动的周期数。可以是正数或负数。
- freq:DateOffset, tseries.offsets, timedelta, 或 str, 可选参数
从tseries模块或时间规则使用的偏移量(例如‘EOM’)。如果freq指定后,索引值将移位,但数据不会重新对齐。即使用freq如果您想在移动时扩展索引并保留原始数据。
- axis:{0 或 ‘index’, 1 或 ‘columns’, None}, 默认为 None
转移方向。
- fill_value:object, 可选参数
用于新引入的缺失值的标量值。默认值取决于的dtypeself。对于数字数据,
np.nan
用来。用于日期时间,时间增量或期间数据等。NaT
用来。对于扩展dtype,self.dtype.na_value
用来。在版本0.24.0中更改。
返回值:
- DataFrame
输入对象的副本,已移位。
例子:
>>> df = pd.DataFrame({'Col1': [10, 20, 15, 30, 45], ... 'Col2': [13, 23, 18, 33, 48], ... 'Col3': [17, 27, 22, 37, 52]})
>>> df.shift(periods=3) Col1 Col2 Col3 0 NaN NaN NaN 1 NaN NaN NaN 2 NaN NaN NaN 3 10.0 13.0 17.0 4 20.0 23.0 27.0
>>> df.shift(periods=1, axis='columns') Col1 Col2 Col3 0 NaN 10.0 13.0 1 NaN 20.0 23.0 2 NaN 15.0 18.0 3 NaN 30.0 33.0 4 NaN 45.0 48.0
>>> df.shift(periods=3, fill_value=0) Col1 Col2 Col3 0 0 0 0 1 0 0 0 2 0 0 0 3 10 13 17 4 20 23 27
源码:
pandas.DataFrame.shift的API实现见:[源代码]
相关用法
注:本文由纯净天空筛选整理自 pandas.DataFrame.shift。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。