我正在使用以下多索引 Dataframe :
我想得到列'EY'的平均值,它是按['date','SECTOR']分组的所有行的平均值,但前提是EST_UNIV == 1。我可以执行以下操作:
这样就得到了我所需要的大部分内容,但您会注意到行数从6553下降到了1313。我希望提取原始 Dataframe 中所有行的值,即使EST_UNIV == 0,但我希望平均值计算仅适用于EST_UNIV == 1的行。非常感谢你的帮助!
ogq8wdun1#
如果不符合条件,则对缺少值的帮助器列使用Series.where:
Series.where
df['new'] = (df.assign(new = df['EY'].where(df.EST_UNIV.eq(1))) .groupby(['date','SECTOR'])['new'] .transform('mean'))
1条答案
按热度按时间ogq8wdun1#
如果不符合条件,则对缺少值的帮助器列使用
Series.where
: