首页 > 后端开发 > Python教程 > Pandas GroupBy 如何计算统计数据并包含行数以进行数据分析?

Pandas GroupBy 如何计算统计数据并包含行数以进行数据分析?

Linda Hamilton
发布: 2025-01-03 00:54:39
原创
352 人浏览过

How Can Pandas GroupBy Calculate Statistics and Include Row Counts for Data Analysis?

使用 Pandas GroupBy 获取每个组的统计数据

在进行数据分析时,通常需要汇总数据并计算观察组的统计数据。 Pandas 的 GroupBy 函数提供了一种便捷的方法来执行此操作。

要计算组统计数据,只需在 DataFrame 上使用 .groupby() 方法并指定要分组的列即可。然后,您可以使用 .agg() 方法聚合每个组内的数据。

例如,以下代码按“col1”和“col2”列对数据进行分组并计算平均值:

df['col1', 'col2'].groupby(['col1', 'col2']).mean()
登录后复制

这将返回一个包含组统计信息的 DataFrame,类似于:

      col3  col4  col5  col6
col1 col2              
A     B    -0.3725  -0.810   0.0325  0.5425
C     D    -0.4766  -0.110   1.3467 -0.6833
E     F     0.4550   0.475  -1.0650  0.0300
G     H     1.4800  -0.630   0.6500  0.1700
登录后复制

包括行计数

将行计数添加到组统计数据中非常简单。您可以使用 .size() 方法来计算每个组中的行数。例如:

df.groupby(['col1', 'col2']).size()
登录后复制

这将返回一个包含行数的系列,然后您可以将其添加到 DataFrame 中:

df.groupby(['col1', 'col2']).size().reset_index(name='counts')
登录后复制

包括多个统计信息

除了平均值之外,您还可以使用 .agg() 方法计算其他统计数据,例如中位数、最小值和最大值。例如,以下代码计算“col4”列的平均值、中位数和最小值:

df.groupby(['col1', 'col2']).agg({'col4': ['mean', 'median', 'min']})
登录后复制

这将返回包含组统计信息的 DataFrame,类似于:

            col4                  
          mean median  min
col1 col2                   
A    B  -0.3725 -0.810  -1.32
C    D  -0.4766 -0.110  -1.65
E    F   0.4550  0.475  -0.47
G    H   1.4800 -0.630  -0.63
登录后复制

其他注意事项

  • 如果您希望按多列分组,在 .groupby() 方法中使用列表。
  • 缺失值可能会影响组计算。 Pandas 会在计算平均值和中位数等过程中排除缺失值。
  • 处理大型数据集时,请考虑使用带有 chunksize 参数的 .agg() 方法来提高性能。

以上是Pandas GroupBy 如何计算统计数据并包含行数以进行数据分析?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板