Home »
Python »
Python Programs
Removing Rows on Count condition
Given a pandas dataframe, we have to remove rows from it on count condition.
By Pranit Sharma Last updated : October 05, 2023
Pandas is a special tool that allows us to perform complex manipulations of data effectively and efficiently. Inside pandas, we mostly deal with a dataset in the form of DataFrame. DataFrames are 2-dimensional data structures in pandas. DataFrames consist of rows, columns, and data.
Problem statement
Suppose we are given a DataFrame with some columns representing the information of some cities.
We need to remove all the rows from this DataFrame occurrence of any city name that is less than a particular number.
Removing Rows from pandas dataframe on Count condition
For this purpose, we will first group the city name column and use a transform function inside which we will pass a condition.
Let us understand with the help of an example,
Python program to remove rows from pandas DataFrame on count condition
# Importing pandas package
import pandas as pd
# Importing numpy package
import numpy as np
# Creating a dictionary
d = {
'id':[1,2,2,2,3,3],
'city_name':['Surat','Indore','Indore','Indore','Mohali','Mohali'],
'Highlights':['Business','Safety','Clean','Business','Farming','Business']
}
# Creating dataframe
df = pd.DataFrame(d)
# Display original DataFrame
print("Original DataFrame:\n",df,"\n")
# Grouping city name and filtering rows
res = df.groupby('city_name').filter(lambda x : len(x)>1)
# Display result
print("Result:\n",res)
Output
The output of the above program is:
Python Pandas Programs »