python - 基于其他列值使用 Numpy 计算平均值
问题描述
我有一个包含以下内容的数据集:
而且我只需要计算一月和条件是的持续时间列的平均值。我试过了,但它没有给出正确的值
Jan_Mean = np.where((df['Date']=="Jan") & (df['Condition']=="Yes"), df["Duration"],0).mean()
解决方案
df.groupby(['Date','Condition']).mean().loc['Jan','Yes'][0]
Out[1]:
1.5
解释
这将为您提供 DataFrame 格式的所需数据:
df.groupby(['Date','Condition']).mean()
Out[2]:
Duration
Date Condition
Feb Yes 3.0
Jan Yes 1.5
推荐阅读
- angular - 为什么使用 Angular CLI 构建的 Angular 应用程序会在 github 上发出安全警告,我该如何解决?
- regex - Reg.ex 模式匹配在 postgresql 中不起作用
- java - 可以使用接口的默认方法来描述行为吗?
- javascript - JS 媒体查询不适用于 svg 元素
- azure-powershell - 是否可以一次为多个订阅创建 Azure 警报?
- python - Django rest框架自定义过滤器后端数据重复
- haskell - 运算符(例如 +)的行为更像是 curried 函数还是带有一对元组类型参数的函数?
- cmake - 如何以执行另一个目标的二进制产品为条件构建一个目标?
- javascript - 如何在 react-native 项目中启用 jsconfig.json
- chef-infra - “install.sh:没有这样的文件或目录”执行刀单准备时