modin.pandas.SeriesGroupBy.tail¶
- SeriesGroupBy.tail(n=5)[source]¶
Return last n rows of each group.
Similar to
.apply(lambda x: x.tail(n))
, but it returns a subset of rows from the originalDataFrame
with original index and order preserved (as_index
flag is ignored).- Parameters:
n (int) – If positive: number of entries to include from the end of each group. If negative: number of entries to exclude from the start of each group.
- Returns:
Subset of the original Series or
DataFrame
as determined by n.- Return type:
See also
Series.groupby
Apply a function groupby to a Series.
DataFrame.groupby
Apply a function groupby to each row or column of a DataFrame.
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) A B 1 a 2 3 b 2
>>> df = pd.DataFrame( ... { ... "col1": ["Z", None, "X", "Z", "Y", "X", "X", None, "X", "Y"], ... "col2": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ... "col3": [40, 50, 60, 10, 20, 30, 40, 80, 90, 10], ... "col4": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], ... }, ... index=list("abcdefghij"), ... ) >>> df col1 col2 col3 col4 a Z 1 40 -1 b None 2 50 -2 c X 3 60 -3 d Z 4 10 -4 e Y 5 20 -5 f X 6 30 -6 g X 7 40 -7 h None 8 80 -8 i X 9 90 -9 j Y 10 10 -10 >>> df.groupby("col1", dropna=False).tail(2) col1 col2 col3 col4 a Z 1 40 -1 b None 2 50 -2 d Z 4 10 -4 e Y 5 20 -5 g X 7 40 -7 h None 8 80 -8 i X 9 90 -9 j Y 10 10 -10 >>> df.groupby("col1", dropna=False).tail(-2) col1 col2 col3 col4 g X 7 40 -7 i X 9 90 -9