📜  数据框列值中的 python 多个条件 - Python (1)

📅  最后修改于: 2023-12-03 15:39:59.608000             🧑  作者: Mango

在数据框列值中使用 Python 多个条件

在 Python 中,我们可以使用 pandas 数据框(DataFrames)来处理和分析数据。在数据框中,我们经常需要使用多个条件来过滤数据,以便找到符合特定要求的行。在本文中,我们将介绍如何在数据框列值中使用 Python 多个条件。

Pandas 数据框基础

在开始讨论如何使用多个条件时,我们需要先了解 pandas 数据框的基础知识。数据框是一个二维标记数组,其列可以是不同的数据类型(例如数字、字符串、布尔值等)。我们可以通过使用各种 pandas 函数和方法来对数据框进行操作,例如过滤、排序、合并等。

首先,我们需要导入 pandas:

import pandas as pd

然后,我们可以使用 pandas 读取一个 CSV 文件并将其转换为数据框:

df = pd.read_csv('data.csv')

这里我们将数据框存储在变量 df 中。接下来,我们可以使用 head 方法来查看数据框的前几行:

print(df.head())

输出:

    Name  Age  Gender
0   Alex   20    Male
1   Jake   24    Male
2   Lisa   19  Female
3   Mary   30  Female
4  Peter   25    Male

这是一个包含四列的数据框,每一列各有五行数据。现在,让我们来看看如何使用多个条件来过滤数据框的行。

过滤数据框行

假设我们只想在数据框中选择性别为女性且年龄在 20 到 25 岁之间的行。我们可以使用 & 运算符连接两个条件。代码如下:

filtered_df = df[(df['Gender'] == 'Female') & (df['Age'] >= 20) & (df['Age'] <= 25)]

在这里,我们使用了三个条件:

  • df['Gender'] == 'Female' 选择性别为女性的行。
  • df['Age'] >= 20 选择年龄大于等于 20 岁的行。
  • df['Age'] <= 25 选择年龄小于等于 25 岁的行。

注意,在每个条件周围有括号,以便让 Python 知道优先级。在这里,我们使用了 & 运算符将条件连接起来,这表示“与”运算。也就是说,只有当所有条件都为真时,行才会包含在 filtered_df 中。

我们可以使用 print 方法查看结果:

print(filtered_df)

输出:

   Name  Age  Gender
2  Lisa   19  Female

我们可以看到,只有 Lisa 这一行符合我们的条件。因为只有一个女性满足要求。

如果我们想要选择年龄大于 25 岁或年龄小于 20 岁的行,我们可以使用 | 运算符将两个条件连接起来。代码如下:

filtered_df = df[(df['Age'] < 20) | (df['Age'] > 25)]

在这里,我们使用了两个条件:

  • df['Age'] < 20 选择年龄小于 20 岁的行。
  • df['Age'] > 25 选择年龄大于 25 岁的行。

在这里,我们使用了 | 运算符将条件连接起来,它表示“或”运算。也就是说,行只需要符合一个条件即可包含在 filtered_df 中。

我们可以使用 print 方法查看结果:

print(filtered_df)

输出:

    Name  Age  Gender
0   Alex   20    Male
3   Mary   30  Female

我们可以看到,选出了年龄为 20 岁和 30 岁的两行数据。

小结

在本文中,我们介绍了如何在数据框列值中使用 Python 多个条件来过滤数据框的行。我们使用了 & 运算符和 | 运算符将条件连接起来,分别表示“与”运算和“或”运算。我们还介绍了 pandas 数据框的基础知识,包括如何读取和处理数据框。

希望这篇文章对你使用 Python 处理数据有所帮助!