Pandas 删除DataFrame中符合多个条件的数据行

Pandas 删除DataFrame中符合多个条件的数据行

在本文中,我们将介绍如何使用Pandas删除符合多个条件的数据行。Pandas是Python中最广泛使用的数据分析库之一,它提供了强大的数据处理工具,包括数据清洗和转换。

阅读更多:Pandas 教程

数据准备

我们首先创建一个包含多个条件的DataFrame作为示例数据。该DataFrame包含三列,分别是’Name’,’Year’和’Score’。

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emma'],
        'Year': [2015, 2016, 2017, 2018, 2019],
        'Score': [8.5, 7.2, 6.5, 9.0, 8.8]}

df = pd.DataFrame(data)

df
Python

输出结果为:

       Name  Year  Score
0     Alice  2015    8.5
1       Bob  2016    7.2
2   Charlie  2017    6.5
3     David  2018    9.0
4      Emma  2019    8.8
Python

现在,我们假设我们要删除Name为Charlie且Year为2017的数据行。我们可以使用下面的代码来创建相应的条件:

condition1 = df['Name'] == 'Charlie'
condition2 = df['Year'] == 2017
Python

接下来,我们将演示如何使用这些条件删除DataFrame中的数据行。

按多个条件删除数据行

我们可以通过将多个条件组合起来来删除符合这些条件的数据行。组合条件有两种方式:使用逻辑操作符(‘and’和’or’)或者使用’&’和’|’位运算符。下面是两种方式的示例代码。

使用逻辑操作符

我们使用’and’操作符将上述两个条件组合起来以删除指定的数据行:

condition = (df['Name'] == 'Charlie') & (df['Year'] == 2017)

df_filtered = df.loc[~condition]

df_filtered
Python

其中,符号’~’代表对条件取反,即选择不符合条件的行。

输出结果为:

    Name  Year  Score
0  Alice  2015    8.5
1    Bob  2016    7.2
3  David  2018    9.0
4   Emma  2019    8.8
Python

我们看到,数据行Charlie 2017已经被删除了。

使用位运算符

我们使用’&’位运算符将上述两个条件组合起来以删除指定的数据行:

condition = (df['Name'] == 'Charlie') & (df['Year'] == 2017)

df_filtered = df.loc[~condition]

df_filtered
Python

其中,符号’~’代表对条件取反,即选择不符合条件的行。

输出结果为:

    Name  Year  Score
0  Alice  2015    8.5
1    Bob  2016    7.2
3  David  2018    9.0
4   Emma  2019    8.8
Python

我们看到,数据行Charlie 2017已经被删除了。

处理多个条件的组合

我们可以使用多个条件来删除符合多个条件的数据行。下面是一个示例,我们将删除分数在8.0以下且年份在2017年之前的数据行。

condition1 = df['Score'] < 8.0
condition2 = df['Year'] < 2017

condition = condition1 & condition2

df_filtered = df.loc[~condition]

df_filtered
Python

输出结果为:

    Name  Year  Score
0  Alice  2015    8.5
3  David  2018    9.0
4   Emma  2019    8.8
Python

我们看到,只有符合上述条件的行被保留,其他数据行都被删除了。

总结

通过本文,我们学会了如何使用Pandas删除符合多个条件的数据行。我们演示了如何使用逻辑操作符和位运算符来组合多个条件。此外,我们还演示了如何删除满足多个条件组合的数据行。Pandas提供了强大的数据处理工具,删除数据行只是其众多功能之一。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册