Pandas: How to drop an item from a Series

Updated: February 17, 2024 By: Guest Contributor Post a comment

Introduction

Pandas is an essential library in Python for data analysis and manipulation. A Pandas Series is a one-dimensional array-like object that can hold data of any type (integers, strings, floats, Python objects, etc.). It is often used to represent a column in a DataFrame.

One of the basic operations you might need to perform while working with Pandas Series is removing or dropping items. This tutorial will guide you through various methods to drop an item (or items) from a Pandas Series, step by step with examples. Whether you’re dealing with a simple scenario or need to remove items under more complex conditions, this tutorial has you covered.

Basic Example: Dropping an Item by Index

The most straightforward method to drop an item from a Series is by using the drop method with the item’s index as an argument. Here’s a basic example:

import pandas as pd

# Create a pandas Series
series = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])

# Drop the item with index 'c'
new_series = series.drop('c')

# Display the updated Series
print(new_series)

Output:

a    1
b    2
d    4
e    5
dtype: int64

This method is simple and effective for dropping a single item or multiple items by passing a list of indexes.

Dropping Items by Condition

Sometimes, you might need to drop items based on a condition rather than their index. This can be done by first filtering the series based on the condition and then dropping the filtered items. Here’s how:

import pandas as pd

# Create a pandas Series
series = pd.Series([1, 2, -3, 4, -5])

# Drop items less than 0
filtered_series = series[series >= 0]

# Display the updated Series
print(filtered_series)

Output:

0    1
1    2
3    4
dtype: int64

You can achieve the same result by using the drop method along with a condition.

Dropping Items Using a Custom Function

In more complex scenarios, you might need to apply a custom function to determine which items to drop. Let’s drop items based on a custom condition using the apply method alongside the drop method:

import pandas as pd

# Define custom function to check the condition
def my_condition(value):
    return value <= 2

# Create a pandas Series
series = pd.Series([1, 2, 3, 4, 5])

# Identify items that meet the condition
items_to_drop = series[series.apply(my_condition)].index

# Drop the items
new_series = series.drop(items_to_drop)

# Display the updated Series
print(new_series)

Output:

2    3
3    4
4    5
dtype: int64

This approach is particularly useful when dealing with complex conditions that can’t be easily expressed in a simple statement.

Dropping Items In-Place

If you wish to drop items from the original Series without creating a new one, you can use the inplace=True parameter. Be cautious with this approach, as it modifies the original Series directly and is irreversible.

import pandas as pd

# Create a pandas Series
series = pd.Series([1, 2, 3, 4, 5])

# Drop the item with index '2', inplace
series.drop(2, inplace=True)

# Display the updated Series (the original one)
print(series)

Output:

0    1
1    2
3    4
4    5
dtype: int64

Conclusion

This tutorial walked you through several ways to drop items from a Pandas Series. From dropping a single item by index to using conditions and custom functions for more complex scenarios, these methods form a fundamental part of data manipulation in Pandas. With these techniques, you should now be equipped to handle various data cleaning tasks in your own projects.