当前位置: 首页>>代码示例>>用法及示例精选>>正文


python pandas DataFrame.shift用法及代码示例

用法:

DataFrame.shift(self, periods=1, freq=None, axis=0, fill_value=None) → 'DataFrame'

按所需的周期数(可选时间)移动索引freq

freq如果未传递,则在不重新对齐数据的情况下移动索引。如果freq传递(在这种情况下,索引必须为date或datetime,否则它将引发NotImplementedError),则索引会使用句点和freq

参数:

periodsint

要移动的周期数。可以是正数或负数。

freqDateOffset, tseries.offsets, timedelta, 或 str, 可选参数

从tseries模块或时间规则使用的偏移量(例如‘EOM’)。如果freq指定后,索引值将移位,但数据不会重新对齐。即使用freq如果您想在移动时扩展索引并保留原始数据。

axis{0 或 ‘index’, 1 或 ‘columns’, None}, 默认为 None

转移方向。

fill_valueobject, 可选参数

用于新引入的缺失值的标量值。默认值取决于的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)”协议。