Data Science Academy · 课时

使用 AND 和 OR 组合筛选条件

安全地串联多个条件

第 3 / 4 课13 个步骤

使用 AND 和 OR 组合筛选条件 是 CoddyKit 上的免费 Data Science Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Data Science Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Data Science Academy 课程共包含 4 节课。

一个条件通常不够

现实中的问题通常需要组合多个条件:例如,居住在巴黎的成年人,或既迟到又数量大的订单。您需要清晰地组合筛选条件。🧩

使用 AND 的与号

如果要求两个条件都满足,请使用与号连接两个掩码。它会逐个元素地作用于各行。

df[(df["age"] > 30) & (df["city"] == "Paris")]

使用 OR 的竖线

如果接受任一条件,请使用竖线连接两个掩码。只要其中一边为 True,该行就会通过筛选。

df[(df["city"] == "Paris") | (df["city"] == "Lyon")]

用圆括号包住每个条件

请始终在每个条件外加上圆括号。如果省略圆括号,Python 会按错误的顺序计算运算符,并引发错误。

df[df["age"] > 30 & df["score"] > 80]   # breaks

为什么不用 and 或 or?

普通的 and 和 or 只能作用于单个 True/False 值,不能作用于整个 Series。对于行掩码,您必须使用相应的符号。

# wrong: df[(df["age"] > 30) and (...)]
# right: use & instead

使用波浪号取反

波浪号会翻转掩码,将 True 变为 False。这是表达“不满足此条件”的简洁方式。

df[~(df["city"] == "Paris")]   # everyone not in Paris

谨慎混用 AND 和 OR

您可以混合使用这些运算符,但圆括号决定分组方式。请明确表达意图,让逻辑结构与您的想法一致。

df[(df["age"] > 30) & ((c == "Paris") | (c == "Lyon"))]

三个或更多条件

叠加更多掩码时,方式完全相同。为了提高可读性,请将它们写在不同的行上,然后组合这些命名后的掩码。

old = df["age"] > 30
top = df["score"] > 80
df[old & top]

AND 缩小范围,OR 扩大范围

请记住这个简单的理解方式:AND 会让结果趋向更少的行,而 OR 会让结果趋向更多的行。

跨列组合

您的条件可以同时涉及不同的列,让您能够用一个表达式表达复杂的问题。

df[(df["age"] > 30) & (df["active"] == True)]

保存复杂掩码

当逻辑变得复杂时,请为组合后的掩码取一个清晰的名称。未来的您会感谢这个易读的变量。

vip = (df["age"] > 30) & (df["score"] > 80)
df[vip]

快速检查

选择能够正确进行筛选的表达式。

回顾:组合筛选条件

使用与号表示 AND,使用竖线表示 OR,使用波浪号进行取反,并始终用圆括号包住每个条件。用一行清晰的代码处理复杂问题。✅

免费开始

用 AI 导师学习 Python — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「使用 AND 和 OR 组合筛选条件」课时是免费的吗?

是的 — 「使用 AND 和 OR 组合筛选条件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Data Science Academy 课程的其余内容,请升级到 CoddyKit PRO。 Data Science Academy 课程共包含 4 节课。

「使用 AND 和 OR 组合筛选条件」这节课中我会学到什么?

安全地串联多个条件 你通过在浏览器中直接运行的动手代码来练习 Data Science Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Data Science Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Data Science Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「使用 AND 和 OR 组合筛选条件」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Data Science Academy 课中编写并运行代码吗?

能。每节 Data Science Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 按名称选择列
  2. 按条件筛选行
  3. 使用 AND 和 OR 组合筛选条件
  4. 使用 query 和 isin 进行简洁筛选
← 返回 Data Science Academy