在 pandas 中取条件均值

take a conditional mean in pandas

我有这样的数据集:

我想分别为 WFR=1 和 WFR=0 取每年的 LCR 平均值,例如在 2018 年我有 4 个 WFR=0,所以取它的 LCR 平均值和 WFR=1 I只有一个。任何的想法?谢谢

您可以按年份和 WFR 分组。这将创建数据集中存在的每个组合。如果所有条件都不在您的数据框中,您可以创建一个包含所有条件的基础数据框并与之合并。

df = data_new4.groupby(['CLOSDATE_year', 'WFR'])['LCR'].mean()

要绘制数据,您可以使用 seaborn 库。

import seaborn as sns

sns.lineplot(data=df, hue='WFR', x='CLOSDATE_year', y='LCR')

试试 groupby:

>>> data.groupby(["CLOSDATE_year", "WFR"])["LCR"].mean()

CLOSDATE_year  WFR
2011           1      268.750000
2012           1      235.533333
2018           0      192.775000
               1      186.000000
Name: LCR, dtype: float64