详细内容或原文请订阅后点击阅览
停止编写凌乱的布尔掩码:过滤 Pandas 数据帧的 10 种优雅方法
掌握使用 .query()、.isin() 和高级向量化逻辑进行可读、高性能数据选择的艺术。文章《停止编写凌乱的布尔掩码:过滤 Pandas 数据帧的 10 种优雅方法》首先出现在《走向数据科学》上。
来源:走向数据科学,我讨论了如何使用 Pandas 创建第一个 DataFrame。我提到过,在使用 Python 进行数据分析之前,您需要掌握的第一件事是数据结构和数组。
Pandas 是一个出色的数据操作和检索库。将其与 Numpy 和 Seaborne 结合起来,您就拥有了强大的数据分析能力。
在本文中,我将引导您了解在 pandas 中过滤数据的实用方法,从简单的条件开始,然后转向强大的方法,如 .isin()、.str.startswith() 和 .query()。最后,您将拥有一个可应用于任何数据集的过滤技术工具包。
话不多说,让我们开始吧!
导入我们的数据
好的,首先,我将导入我们的 pandas 库
# 导入 pandas 库
将 pandas 导入为 pd
这是此用例所需的唯一库
接下来,我将导入数据集。顺便说一句,数据集来自 ChatGPT。它由基本销售交易记录组成。让我们看一下我们的数据集。
# 查看我们的数据
df_sales = pd.read_csv('sales_data.csv')
df_销售
这是数据预览
它由基本销售记录组成,其中包含 OrderId、Customer、Product、Category、Quantity、Price、OrderDate 和 Region 列。
好吧,让我们开始过滤吧!
按单个条件过滤
让我们尝试从特定类别中选择所有记录。例如,我想知道电子产品类别中有多少个独特订单。要做到这一点,非常简单
# 按单个条件过滤
# 示例:“电子产品”类别的所有订单。
df_sales['类别'] == '电子产品'
在Python中,您需要区分=运算符和==运算符。
=用于给变量赋值。
例如x = 10 # 将值 10 赋给变量 x== 用于比较两个值。例如a = 3b = 3print(a == b) # 输出:Truec = 5d = 10print(c == d) # 输出:False话虽如此,让我们将相同的概念应用于上面所做的过滤输出:
