首页 > 解决方案 > 基于其他列值使用 Numpy 计算平均值

问题描述

我有一个包含以下内容的数据集:

表格示例

而且我只需要计算一月和条件是的持续时间列的平均值。我试过了,但它没有给出正确的值

Jan_Mean = np.where((df['Date']=="Jan")  & (df['Condition']=="Yes"), df["Duration"],0).mean()

标签: pythonpandas

解决方案


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

推荐阅读