Pandas: Get topmost n records within each group of a DataFrame
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-Pandas Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Pandas program to get last n records of a DataFrame.
Next: Write a Pandas program to remove first n rows of a given DataFrame.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics