Pandas 基于列值删除DataFrame行

Pandas 基于列值删除DataFrame行

在本文中,我们将介绍在Pandas中如何基于列值删除DataFrame行。删除行是Pandas操作中的一个基本任务,而根据列值删除行也是一个常见的问题。下面将详细介绍如何使用Pandas删除数据框(DataFrame)中的行。

阅读更多:Pandas 教程

创建DataFrame

首先,我们需要创建一个简单的数据框,以便执行删除操作。下面的代码创建了一个名为“df”的数据框,其中包含三列(A、B和C),每列有五行。

import pandas as pd

data = {"A": [1, 2, 3, 4, 5],
        "B": [6, 7, 8, 9, 10],
        "C": [11, 12, 13, 14, 15]}

df = pd.DataFrame(data)
Python

我们可以使用以下代码来查看数据框的内容。

print(df)
Python

输出为:

   A   B   C
0  1   6   11
1  2   7   12
2  3   8   13
3  4   9   14
4  5  10   15
Python

删除行

Pandas提供了许多方法来删除DataFrame中的行,但在本文中,我们将重点介绍基于列值删除行的方法,即使用条件语句过滤数据框(DataFrame)。

假设我们要删除列“A”中包含值“3”的所有行。我们可以使用以下代码过滤数据框并创建一个新的数据框(df_filtered),其中仅包含所有不包含“3”的行的数据。

df_filtered = df[df["A"] != 3]
Python

此代码执行以下操作:

  1. 使用条件语句 df["A"] != 3 过滤数据框(DataFrame),以仅保留df中所有行A中的值不等于3的行(即包括了行0,1,3,4)。
  2. 将过滤后的数据框保存到名为“df_filtered”的变量中。

我们可以使用以下代码查看新的过滤数据框(DataFrame):

print(df_filtered)
Python

输出为:

   A   B   C
0  1   6  11
1  2   7  12
3  4   9  14
4  5  10  15
Python

我们可以看到,所有包含值“3”的行都已从数据框中删除。

多条件删除

我们可以使用多个条件语句来删除DataFrame中的行。例如,假设我们希望删除列“A”和“C”中包含值“2”和“14”的所有行。我们可以使用以下代码创建一个新的过滤数据框(DataFrame)(df_filtered2):

df_filtered2 = df[(df["A"] != 2) | (df["C"] != 14)]
Python

此代码执行以下操作:

  1. 使用条件语句 df["A"] != 2 过滤数据框(DataFrame),以仅保留df中所有A中的值不等于2的行。
  2. 使用条件语句 df["C"] != 14 过滤数据框(DataFrame),以仅保留df中所有C中的值不等于14的行。
  3. 将过滤后的数据框保存到名为“df_filtered2”的变量中。

我们可以使用以下代码查看新的过滤数据框(DataFrame):

print(df_filtered2)
Python

输出为:

   A   B   C
0  1   6  11
2  3   8  13
3  4   9  14
4  5  10  15
Python

我们可以看到,所有包含值“2”和“14”的行都已经从数据框中删除。

使用drop()方法删除行

除了使用条件语句过滤数据框(DataFrame)外,还可以使用drop()方法删除行。

例如,假设我们要删除与列“A”中的值“2”对应的行。我们可以使用以下代码:

df = df.drop(df[df['A']==2].index)
Python

此代码执行以下操作:

  1. 找出DataFrame中所有包含值“2”的行,即 df[df['A']==2]
  2. 使用drop()方法删除这些行,即df = df.drop(df[df['A']==2].index)

我们可以使用以下代码查看新的数据框(DataFrame):

print(df)
Python

输出为:

   A   B   C
0  1   6  11
2  3   8  13
3  4   9  14
4  5  10  15
Python

我们可以看到,在数据框中不再包含与列“A”中值为“2”的行。

总结

在Pandas中,根据列值删除数据框(DataFrame)行是一个常见的任务,可以使用条件语句或drop()方法来实现。对于条件语句,我们可以使用!=><|等运算符。对于drop()方法,我们需要找出包含特定值的行,然后使用drop()方法将它们删除。通过使用这些方法,可以轻松地删除数据框中不需要的行。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册