pandas.Index.shift#
- Index.shift(periods=1, freq=None)[源代码]#
按所需的时间频率增量数量移动索引。
此方法用于将类日期时间索引的值按指定的时间增量移动指定的次数。
- Parameters:
- periodsint, 默认值 1
要移动的周期(或增量)数量,可以是正数或负数。
- freqpandas.DateOffset、pandas.Timedelta 或 str,可选
要移动的频率增量。如果为 None,则索引将按其自身的 freq 属性移动。偏移别名是有效的字符串,例如 ‘D’、’W’、’M’ 等。
- Returns:
- pandas.Index
移动后的索引。
参见
Series.shift移动 Series 的值。
Notes
此方法仅为类日期时间索引类实现,即 DatetimeIndex、PeriodIndex 和 TimedeltaIndex。
Examples
将 2011 年前 5 个月的开始日期放入一个索引中。
>>> month_starts = pd.date_range('1/1/2011', periods=5, freq='MS') >>> month_starts DatetimeIndex(['2011-01-01', '2011-02-01', '2011-03-01', '2011-04-01', '2011-05-01'], dtype='datetime64[ns]', freq='MS')
将索引移动 10 天。
>>> month_starts.shift(10, freq='D') DatetimeIndex(['2011-01-11', '2011-02-11', '2011-03-11', '2011-04-11', '2011-05-11'], dtype='datetime64[ns]', freq=None)
freq 的默认值是索引的 freq 属性,在本例中是 ‘MS’(月份开始)。
>>> month_starts.shift(10) DatetimeIndex(['2011-11-01', '2011-12-01', '2012-01-01', '2012-02-01', '2012-03-01'], dtype='datetime64[ns]', freq='MS')