python - 如何计算高于某个值的平均值的数量
问题描述
嗨,需要一些 Pandas Cod 的帮助!问题是如何获取 df 和 groupBy 年龄分数的平均值并将其与 df['Score'].mean 进行比较并计算 df['score'].mean 以上的结果,这里的计数结果也需要 groupBy age我现在在哪里:
data.groupby(['age'])['Score'].mean()
我得到了按年龄分组的平均分
现在我如何比较它的总分平均值并按年龄计算结果组
解决方案
假设你想要:
显示组平均值是否高于全局平均值的标志
每组中高于全局平均值的记录数。
( df.groupby('age') .apply(lambda x: [x.Score.mean()>df.Score.mean(), x.Score.gt(df.Score.mean()).sum()]) .apply(pd.Series) .set_axis(['group_mean_above_global_mean', 'num_above_global_mean'], axis=1) .reset_index() )
如果您只想要平均值高于全局平均值的组数,您可以执行以下操作:
(
df.groupby('age')
.apply(lambda x: x.Score.mean()>df.Score.mean())
.sum()
)
推荐阅读
- c# - 具有多个条件的 dbset 上的 LINQ 查询
- twitter-bootstrap - Bootstrap toast 仍然在顶部(不可见)
- git - 解决被我们删除的 git rebase
- java - 如何解决 Wildfly 中未处理的异常错误?
- python - Python 与 Excel 宏的交互
- arrays - 对象的静态分配而不是动态引用
- python - Python 为 python-vlc 抛出“找不到模块”错误
- intellij-idea - HotSwapAgent 弹出窗口不再显示
- c# - 如何一一打印数组的所有元素?
- amazon-web-services - 是否可以通过区域 API 网关和 Cloudfront 使用 Body 发出 Get 请求?