title: Pandas rolling apply skip certain values
body: <p>I have a dataframe and I want to calculate the <code>mean</code> column up til the value points I have for True valid cases.</p>
  
  <pre><code>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
  </code></pre>
  
  <p>How do I exclude the False cases from the mean calculation but still carries on the previous mean. I tried this but it doesn't skip the values from the False cases. I also tried df[~df.valid] before groupby but index doesn't match the original df.  </p>
  
  <pre><code>df['mean'] = df.groupby('ids').value.rolling(len(df), min_periods=1).apply(lambda x: np.mean(x)).values
  </code></pre>