Pandas 中的 Groupby 和 Average
问题:
给定一个带有 'cluster' 的 DataFrame '、'org' 和 'time' 列,如何计算每个 'cluster' 每个 'org' 的平均 'time',然后取每个 'cluster' 组的 'time' 平均值?
期望:
cluster | mean(time) |
---|---|
1 | 15 |
2 | 54 |
3 | 6 |
解决方案:
要达到所需的结果,您可以使用以下步骤:
Groupby ['cluster', 'org'] 并取平均值:
mean_by_cluster_org = df.groupby(['cluster', 'org'], as_index=False).mean()
Groupby ['cluster' ] 并计算平均值:
cluster_average = mean_by_cluster_org.groupby('cluster')['time'].mean()
显示结果:
print(cluster_average)
或者,您也可以使用以下方法来解决这个问题:
选项 1:Groupby Only ['cluster'] 和 Take Mean:
cluster_only_average = df.groupby('cluster').mean()
选项2:按 ['cluster', 'org'] 分组并使用平均值:
cluster_org_mean = df.groupby(['cluster', 'org']).mean()
无论您选择哪种方法,输出都会为您提供每个“组织”的平均“时间”每个“集群”组以及每个“集群”的总体平均“时间”。
以上是如何计算 Pandas 中每个'组织”每个'集群”的平均'时间”以及每个'集群”组的平均'时间”?的详细内容。更多信息请关注PHP中文网其他相关文章!