﻿ Pandas: Get topmost n records within each group of a DataFrame - w3resource # Pandas: Get topmost n records within each group of a DataFrame

## Pandas: DataFrame Exercise-61 with Solution

Write a Pandas program to get topmost n records within each group of a DataFrame.

Sample Solution :

Python Code :

``````import pandas as pd
d = {'col1': [1, 2, 3, 4, 7, 11], 'col2': [4, 5, 6, 9, 5, 0], 'col3': [7, 5, 8, 12, 1,11]}
df = pd.DataFrame(data=d)
print("Original DataFrame")
print(df)
print("\ntopmost n records within each group of a DataFrame:")
df1 = df.nlargest(3, 'col1')
print(df1)
df2 = df.nlargest(3, 'col2')
print(df2)
df3 = df.nlargest(3, 'col3')
print(df3)
``````

Sample Output:

```Original DataFrame
col1  col2  col3
0     1     4     7
1     2     5     5
2     3     6     8
3     4     9    12
4     7     5     1
5    11     0    11

topmost n records within each group of a DataFrame:
col1  col2  col3
5    11     0    11
4     7     5     1
3     4     9    12
col1  col2  col3
3     4     9    12
2     3     6     8
1     2     5     5
4     7     5     1
col1  col2  col3
3     4     9    12
5    11     0    11
2     3     6     8
```

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz

﻿

## Python: Tips of the Day

Creates a dictionary with the same keys as the provided dictionary and values generated by running the provided function for each value

Example:

```def tips_map_values(obj, fn):
ret = {}
for key in obj.keys():
ret[key] = fn(obj[key])
return ret
users = {
'Owen': { 'user': 'Owen', 'age': 29 },
'Eddie': { 'user': 'Eddie', 'age': 15 }
}

print(tips_map_values(users, lambda u : u['age'])) # {'Owen': 29, 'Eddie': 15}
```

Output:

```{'Owen': 29, 'Eddie': 15}
```