pyspark.pandas.groupby.GroupBy.shift¶
-
GroupBy.
shift
(periods: int = 1, fill_value: Optional[Any] = None) → FrameLike[source]¶ Shift each group by periods observations.
- Parameters
- periodsinteger, default 1
number of periods to shift
- fill_valueoptional
- Returns
- Series or DataFrame
Object shifted within each group.
Examples
>>> df = ps.DataFrame({ ... 'a': [1, 1, 1, 2, 2, 2, 3, 3, 3], ... 'b': [1, 2, 2, 2, 3, 3, 3, 4, 4]}, columns=['a', 'b']) >>> df a b 0 1 1 1 1 2 2 1 2 3 2 2 4 2 3 5 2 3 6 3 3 7 3 4 8 3 4
>>> df.groupby('a').shift().sort_index() b 0 NaN 1 1.0 2 2.0 3 NaN 4 2.0 5 3.0 6 NaN 7 3.0 8 4.0
>>> df.groupby('a').shift(periods=-1, fill_value=0).sort_index() b 0 2 1 2 2 0 3 3 4 3 5 0 6 4 7 4 8 0