使用 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
其他注意事项
以上是Pandas GroupBy 如何计算统计数据并包含行数以进行数据分析?的详细内容。更多信息请关注PHP中文网其他相关文章!