在 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
我有这样的数据集:
我想分别为 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