我有一个包含以下内容的数据集:
我只需要为Jan和条件Yes计算持续时间列的平均值。我试过了,但是没有给出正确的值
Jan_Mean = np.where((df['Date']=="Jan") & (df['Condition']=="Yes"), df["Duration"],0).mean()
答案 0 :(得分:1)
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
答案 1 :(得分:0)
如何使用groupby和均值。
df.groupby(['Date', 'Condition']).mean().loc[('Jan', 'Yes')]
答案 2 :(得分:-1)
熊猫在幕后使用NumPy,类似
df[(df['Date']=="Jan") & (df['Condition']=="Yes")]["Duration"].mean()
应该可以解决问题。在这里
(df['Date']=="Jan") & (df['Condition']=="Yes")
是布尔值掩码,因此将其应用于数据框后,会得到其过滤后的版本,然后可以使用其方法访问该列。更多可用方法here。