我有一个数据框,我想计算该mean
列,直到我拥有 True 有效案例的值点。
ids valid value mean (target output)
1 False 0.1 0
1 True 0.2 0.2
1 True 0.4 0.3
2 True 0.1 0.1
2 False 0.5 0.1
2 True 0.3 0.2
3 True 0.1 0.1
3 True 0.1 0.1
3 False 0.5 0.1
3 False 0.9 0.1
如何从均值计算中排除 False 案例,但仍保留之前的均值。我试过了,但它没有跳过 False 案例中的值。我也在 groupby 之前尝试过 df[~df.valid] 但索引与原始 df 不匹配。
df['mean'] = df.groupby('ids').value.rolling(len(df), min_periods=1).apply(lambda x: np.mean(x)).values