Pandas DataFrame.groupby()17 Mar 2025 | 6 分钟阅读 引言Pandas 是一个用于数据处理和分析的著名 Python 库。它提供了一种强大而灵活的方法来处理数据结构,例如数据帧和系列。 Pandas 的关键特性之一是能够使用 groupby() 方法按一个或多个变量对数据进行分组。在本文中,我们将探讨如何使用 groupby() 来分析和控制数据。 Pandas 中的 groupby() 是什么?Pandas 中的 groupby() 方法是一个有用的工具,它允许您根据一个或多个变量对数据进行分组。它用于根据明确定义的变量(例如列名)将一个巨大的数据大纲分成更小的组,然后将一个功能应用于每个组。这允许您单独分析数据的子集并对其进行比较。 语法Groupby 的参数by(通过)
其主要任务是确定 groupby 中的组。 如果我们使用 by 作为一个函数,则会在对象的索引的每个值上调用它。 如果传递了 dict 或 Series,则 Series 或 dict 的值将用于确定组。 如果传递了一个 ndarray,则值将按原样用于确定组。 我们还可以传递标签或标签列表以按自已的列分组。 轴
level
当轴是 MultiIndex(分层)时使用它,因此,它将按特定级别或级别分组。 as_index
它返回具有组标签作为聚合输出的索引的对象。 排序
它用于对组键进行排序。 关闭它以获得更好的性能。 它不会影响每个组中观测值的顺序。 Groupby 保留每个组中行的顺序。 group_keys
当我们调用它时,它会将组键添加到索引中以识别各个部分。 observed
它仅在任何分组器为 Categoricals 时使用。 如果值为 True,则它将仅显示分类分组器的观测值。 否则,它将显示所有值。 **kwargs 它是一个可选参数,仅接受传递给 groupby 的关键字参数“mutated”。 返回值它返回 DataFrameGroupBy 或 SeriesGroupBy。 返回值取决于包含有关组信息的调用对象。 Groupby 操作此操作包括以下聚合/分组数据的步骤
注意:Groupby 操作的结果不是 DataFrame,而是 DataFrame 对象的 dict。将数据拆分为组Groupby 拆分是一种用于数据分析的方法,用于根据一个或多个变量的值将数据分组到子集中。 基本思想是根据特定变量将数据集分成组,然后对每个分组单独执行某种分析或计算。 此过程通常用于统计分析和人工智能,以及数据可视化和探索性数据分析。
有多种方法可以将任何对象拆分为组,如下所示
我们还可以向每个子集添加一些功能。 可以在应用的功能上执行以下操作
聚合它被定义为为每个组返回单个聚合值的函数。 当创建 groupby 对象时,我们可以在分组数据上执行多个聚合操作。 聚合是数据分析中的一种强大方法,包括连接数据集中的各个值以获得汇总统计信息,这有助于获得经验并做出明智的决策。 可以在数据集中的单个变量或多个变量上执行聚合。 Pandas 提供了一套广泛的函数,用于执行聚合任务,包括 mean()、sum()、count()、min()、max()、median()、var() 和 std()。 这些函数可以应用于 DataFrame 中的各个列或列的集合。 示例 输出 Course B.Ed 98 B.Sc 82 BA 87 M.Phill 91 Name: Percentage, dtype: int64 转换它是一个针对组或列的操作,它执行一些组特定的计算并返回一个索引大小与组大小相同的对象。 在 Pandas 中,转换包括将一个函数应用于 DataFrame 中的列或一组列以修改数据,通常是为了实现标准化或缩放的目的。 Pandas 提供了 transform() 策略,该策略将一个函数应用于 groupby 对象的每个组,并返回原始 DataFrame 的更改版本。 transform() 策略可用于执行各种转换,包括规范化数据、缩放数据和填充缺失值。 示例 输出 Percentage 0 NaN 1 NaN 2 NaN 3 NaN 过滤filter() 函数通过定义一些标准来过滤数据并返回数据的子集。 Pandas 中的过滤是指从 DataFrame 中选择行子集的最常见方法,该方法基于某些条件或模型。 交互包括过滤掉不满足预定条件的行并保留那些满足条件的行。 Pandas 提供了几种过滤方法,包括布尔索引、query() 和 filter()。 这些方法允许我们根据各种模型过滤 DataFrame 的行,例如列值、索引标签或包含多个列的条件。 示例 输出 Name Percentage Course 0 Parker 82 B.Sc 1 Smith 98 B.Ed 2 John 91 M.Phill 3 William 87 BA 示例 输出 ![]() 示例 输出 Name Percentage 0 Parker 82 1 Smith 98 2 John 91 3 William 87 结论在本文中,我们已经看到了 Pandas 中的 groupby() 技术,以及如何使用它根据一个或多个变量对数据进行分组。 我们已经认识到如何将函数应用于组,包括使用 agg() 技术使用各种函数。 我们同样认识到如何将条件表达式与 groupby() 结合使用以创建更明确的组。 通过 groupby() 策略,您可以以一种强大的和适应性的方式打破和控制您的数据。 下一主题DataFrame.head() |
我们请求您订阅我们的新闻通讯以获取最新更新。