How to drop rows in python


To delete a row from a DataFrame, use the drop() method and set the index label as the parameter.

At first, let us create a DataFrame. We have index label as w, x, y, and z:

dataFrame = pd.DataFrame([[10, 15], [20, 25], [30, 35], [40, 45]],index=['w', 'x', 'y', 'z'],
columns=['a', 'b'])

Now, let us use the index label and delete a row. Here, we will delete a row with index label ‘w’

dataFrame = dataFrame.drop('w')

Example

Following is the code

import pandas as pd

# Create DataFrame
dataFrame = pd.DataFrame([[10, 15], [20, 25], [30, 35], [40, 45]],index=['w', 'x', 'y', 'z'],columns=['a', 'b'])

# DataFrame
print"DataFrame...\n",dataFrame

# deleting a row
dataFrame = dataFrame.drop('w')
print"DataFrame after deleting a row...\n",dataFrame

Output

This will produce the following output

DataFrame...
   a   b
w  10  15
x  20  25
y  30  35
z  40  45
DataFrame after deleting a row...
   a   b
x  20  25
y  30  35
z  40  45

How to drop rows in python

Updated on 14-Sep-2021 08:16:16

  • Related Questions & Answers
  • How to delete a column from Pandas DataFrame
  • How to delete a column from a Pandas DataFrame?
  • Python Pandas - How to select rows from a DataFrame by passing row label
  • Python - How to select a column from a Pandas DataFrame
  • How to append a list as a row to a Pandas DataFrame in Python?
  • How to get nth row in a Pandas DataFrame?
  • Create a Pipeline and remove a row from an already created DataFrame - Python Pandas
  • Python Pandas - How to select multiple rows from a DataFrame
  • How to get the row count of a Pandas DataFrame?
  • Apply function to every row in a Pandas DataFrame in Python
  • How to delete a row from a table using jQuery?
  • Apply function to every row in a Pandas DataFrame
  • Python – Strip whitespace from a Pandas DataFrame
  • Python - Remove duplicate values from a Pandas DataFrame
  • Python - Select multiple columns from a Pandas dataframe

In this tutorial we will learn how to drop or delete the row in python pandas by index, delete row by condition in python pandas and drop rows by position. Dropping a row in pandas is achieved by using .drop() function. Lets see example of each.

  • Drop Rows with Duplicate in pandas.
  • Delete or Drop rows with condition in python pandas using drop() function.
  • Drop rows by index / position in pandas.
  • Drop NA rows or missing rows in pandas python.

Syntax of drop() function in pandas :

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=’raise’)
  • labels: String or list of strings referring row.
  • axis: int or string value, 0 ‘index’ for Rows and 1 ‘columns’ for Columns.
  • index or columns: Single label or list. index or columns are an alternative to axis and cannot be used together.
  • level: Used to specify level, in case data frame is having multiple level index.
  • inplace: Makes changes in original Data Frame if True.
  • errors: Ignores error if any value from the list doesn’t exists and drops rest of the values when errors = ‘ignore’

Create Dataframe:

import pandas as pd
import numpy as np

#Create a DataFrame

import pandas as pd
import numpy as np

d = { 'Name':['Alisa','raghu','jodha','jodha','raghu','Cathrine', 'Alisa','Bobby','Bobby','Alisa','raghu','Cathrine'],
     'Age':[26,23,23,23,23,24,26,24,22,26,23,24], 
     'Score':[85,31,55,55,31,77,85,63,42,85,31,np.nan]}
df = pd.DataFrame(d,columns=['Name','Age','Score'])
df

the dataframe will be

How to drop rows in python

Simply drop a row or observation:

Dropping the second and third row of a dataframe is achieved as follows

# Drop an observation or row
df.drop([1,2])

The above code will drop the second and third row.
0 – represents 1st row
1- represnts 2nd row and so on. So the resultant dataframe will be

How to drop rows in python

Drop a row or observation by condition:

we can drop a row when it satisfies a specific condition

# Drop a row by condition
df[df.Name != 'Alisa']

The above code takes up all the names except Alisa, thereby dropping the row with name ‘Alisa’. So the resultant dataframe will be

How to drop rows in python

Drop a row or observation by index:

We can drop a row by index as shown below

# Drop a row by index
df.drop(df.index[2])

The above code drops the row with index number 2. So the resultant dataframe will be

How to drop rows in python

Drop the row by position:

Now let’s drop the bottom 3 rows of a dataframe as shown below

# Drop bottom 3 rows
df[:-3]

The above code selects all the rows except bottom 3 rows, there by dropping bottom 3 rows, so the resultant dataframe will be

How to drop rows in python

Drop Duplicate rows of the dataframe in pandas

How to drop rows in python

now lets simply drop the duplicate rows in pandas as shown below

# drop duplicate rows

df.drop_duplicates()

In the above example first occurrence of the duplicate row is kept and subsequent  duplicate occurrence will be deleted, so the output will be

How to drop rows in python

For further detail on drop duplicates one can refer our page on Drop duplicate rows in pandas python drop_duplicates()

Drop rows with NA values in pandas python

Drop the rows even with single NaN or single missing values.

df.dropna()

so the resultant table on which rows with NA values dropped will be

Outputs:

How to drop rows in python

For further detail on drop rows with NA values one can refer our page


Other related topics :

  • Find the duplicate rows in pandas
  • Drop or delete column in pandas
  • Get maximum value of column in pandas
  • Get minimum value of column in pandas
  • select row with maximum and minimum value in pandas
  • Get unique values of dataframe in Pandas

for documentation on drop() function kindly refer here

How to drop rows in python
                                                                                                           
How to drop rows in python

How do you drop multiple rows in Python?

Delete a Multiple Rows by Index Position in DataFrame As df. drop() function accepts only list of index label names only, so to delete the rows by position we need to create a list of index names from positions and then pass it to drop(). As default value of inPlace is false, so contents of dfObj will not be modified.

How do I drop a row in Pandas Python?

To drop a row or column in a dataframe, you need to use the drop() method available in the dataframe. You can read more about the drop() method in the docs here. Rows are labelled using the index number starting with 0, by default. Columns are labelled using names.

How do you delete a row in Python?

To delete a row from a DataFrame, use the drop() method and set the index label as the parameter.

How do you drop data in Python?

Python pandas drop rows by index To remove the rows by index all we have to do is pass the index number or list of index numbers in case of multiple drops. to drop rows by index simply use this code: df. drop(index) . Here df is the dataframe on which you are working and in place of index type the index number or name.