Pandas 按列分组

2024 年 8 月 29 日 | 阅读 3 分钟

在本教程中,我们将讨论 Pandas 按列分组。无论您是刚开始使用 Pandas,需要掌握其核心功能之一,还是想填补对 .groupby() 知识的空白,本教程都将帮助您分解和可视化 Pandas 的 GroupBy 操作。从头到尾都有帮助。本教程旨在通过演示独立的、小块的示例来补充原始 Pandas 文档和食谱。但我们在这里将重点介绍三个使用真实数据集的更复杂的教程。

Python 由于其强大的、通常是面向数据的 Python 包生态系统,是数据分析的绝佳语言。Pandas 是其中一个包,它简化了数据的加载和分析。Pandas 的 groupby 用于按类别对数据进行分组并对类别应用函数。它还有助于您有效地聚合数据。Pandas 的 dataframe.groupby() 函数根据特定标准将数据分组。Pandas 的项目可以按任何轴进行分解。分组的摘要定义是将标签映射到组名。每个 groupby 操作都包含对原始对象的以下操作之一:-

  1. 拆分对象
  2. 应用函数
  3. 组合结果

通常,您会将数据分成子集并对每个子集应用一个函数。Apply 函数允许您:-

  • 聚合 -计算汇总统计信息
  • 转换 -执行特定于组的操作
  • 过滤 -根据特定条件丢弃数据

Pandas 按列分组的语法

Pandas 按列分组的语法如下:-

Pandas 按列分组的参数

Pandas 按列分组的参数如下:-

  • by:映射、函数、字符串或可迭代对象
  • axis:整数,默认值 0
  • level:如果轴是 MultiIndex(分层),则按一个或多个特定级别对分组索引。最简单的是适用于 DataFrame 输入。as_index=false 有效地实现了“sq.-style”的聚合输出。
  • sort:对组键进行排序。禁用此项将提高性能。请注意,这不会影响每个组内观测值的顺序。groupby 保留每个组内行的顺序。
  • group_keys:调用函数时,将组键上传到索引以标识部分。
  • Squeeze:如果可能,减小返回类型的维度。否则返回一个常量类型。

Pandas 按列分组的返回值

Pandas 按列分组返回 Groupby 对象的值。

示例 1

此处,我们提供了一个 Pandas 按列分组的示例。示例如下:-

输出:现在我们编译上面的程序,成功编译后,我们运行它。

     Name  Rank   DOB  Points
0    Priya     1       2000     676
1    Rudra   2       2000     709
2      Dev     3       2002     963
3    Nisha   4        1999     873
4   Arpita   5        2001     790
5   Shipra  6        2000     802
6   Kakali   7        1998     956
7    Kunal  8        1999     688
8     Neha   9    2000     794
9       Rup  10  2002     801
10     Rim   11  2001     890
11     Ram  12  2000     890

示例 2:此处,我们提供了一个 Pandas 按列分组的示例。示例如下:-

输出

现在我们编译上面的程序,成功编译后,我们运行它。然后结果如下:-

{('Arpita', 2001): [4], ('Dev', 2002): [2], ('Kakali', 1998): [6], ('Kunal', 1999): [7], ('Neha', 2000): [8], ('Nisha', 1999): [3], ('Priya', 2000): [0], ('Ram', 2000): [11], ('Rim', 2001): [10], ('Rudra', 2000): [1], ('Rup', 2002): [9], ('Shipra', 2000): [5]}

示例 3

此处,我们提供了一个 Pandas 按列分组的示例。示例如下:-

输出

现在我们编译上面的程序,成功编译后,我们运行它。然后结果如下:-

DOB
1998    956.0
1999    780.5
2000    774.2
2001    840.0
2002    882.0
Name: Points, dtype: float64

因此,在本教程中,我们简要讨论了 Pandas 中的按列分组。