pandas.Index.shift#
- Index.shift(periods=1, freq=None)[source]#
- Shift index by desired number of time frequency increments. - This method is for shifting the values of datetime-like indexes by a specified time increment a given number of times. - Parameters
- periodsint, default 1
- Number of periods (or increments) to shift by, can be positive or negative. 
- freqpandas.DateOffset, pandas.Timedelta or str, optional
- Frequency increment to shift by. If None, the index is shifted by its own freq attribute. Offset aliases are valid strings, e.g., ‘D’, ‘W’, ‘M’ etc. 
 
- Returns
- pandas.Index
- Shifted index. 
 
 - See also - Series.shift
- Shift values of Series. 
 - Notes - This method is only implemented for datetime-like index classes, i.e., DatetimeIndex, PeriodIndex and TimedeltaIndex. - Examples - Put the first 5 month starts of 2011 into an index. - >>> 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') - Shift the index by 10 days. - >>> 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) - The default value of freq is the freq attribute of the index, which is ‘MS’ (month start) in this example. - >>> 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')