GroupBy.
tail
Return last n rows of each group.
Similar to .apply(lambda x: x.tail(n)), but it returns a subset of rows from the original DataFrame with original index and order preserved (as_index flag is ignored).
.apply(lambda x: x.tail(n))
as_index
Does not work for negative values of n.
See also
Series.groupby
DataFrame.groupby
Examples
>>> df = pd.DataFrame([['a', 1], ['a', 2], ['b', 1], ['b', 2]], ... columns=['A', 'B']) >>> df.groupby('A').tail(1) A B 1 a 2 3 b 2 >>> df.groupby('A').tail(-1) Empty DataFrame Columns: [A, B] Index: []