**Pandas**

655 guides

*chevron_left*

**Data Aggregation Cookbook**

Applying a function to multiple columns in groupsCalculating percentiles of a DataFrameCalculating the percentage of each value in each groupComputing descriptive statistics of each groupDifference between a group's count and sizeDifference between methods apply and transform for groupbyGetting cumulative sum of each groupGetting descriptive statistics of DataFrameGetting multiple aggregates of a column after groupingGetting n rows with smallest column value in each groupGetting number of distinct rows in each groupGetting size of each groupGetting specific group after groupbyGetting the first row of each groupGetting the last row of each groupGetting the top n rows with largest column value in each groupGetting unique values of each groupGrouping by multiple columnsGrouping without turning group column into indexMerging rows within a group togetherNaming columns after aggregationSorting values within groups

check_circle

Mark as learned thumb_up

1

thumb_down

0

chat_bubble_outline

0

Comment auto_stories Bi-column layout

settings

# Sorting values within groups in Pandas

*schedule*Aug 10, 2023

local_offer

Tags Python●Pandas

*toc*Table of Contents

*expand_more*

Master the

Start your free 7-days trial now!

**mathematics behind data science**with 100+ top-tier guidesStart your free 7-days trial now!

# Grouping by single column

Consider the following DataFrame:

```
df
A B group0 6 3 a1 3 4 b2 5 8 a3 4 2 b
```

## Using sort_values method

To get the row with the smallest value for `A`

in each group:

```
A B group1 3 4 b2 5 8 a
```

If you want the largest value instead, set `ascending=False`

for `sort_values(~)`

.

## Explanation

Here, we are first sorting `df`

by column `A`

using `sort_values(~)`

:

```
A B group1 3 4 b3 4 2 b2 5 8 a0 6 3 a
```

We then group by column `group`

, and fetch the first row of each group using `head(1)`

(you could also use `first()`

). This is guaranteed to work because `groupby(~)`

preserves the ordering of the rows, that is, the order of the rows computed by `sort_values(~)`

will be respected.

Published by Isshin Inada

Edited by 0 others

Did you find this page useful?

thumb_up

thumb_down

Comment

Citation

Ask a question or leave a feedback...

thumb_up

1

thumb_down

0

chat_bubble_outline

0

settings

Enjoy our search

Hit / to insta-search docs and recipes!