title: Flag only first row where condition is met in a DataFrame
body: <p>I have the following DataFrame <code>df</code>, which can be created as follows:</p>
  
  <pre><code>date_today = datetime.now().date()
  days = pd.date_range(date_today, date_today + timedelta(19), freq='D')
  x = np.arange(0,2*np.pi,0.1*np.pi)   # start,stop,step
  y = np.sin(x)
  df = pd.DataFrame({'dates': days, 'vals': y, 'is_hit': abs(y)&gt;0.9})
  df = df.set_index('dates')
  </code></pre>
  
  <p>And which looks like this:</p>
  
  <pre><code>            is_hit          vals
  dates                           
  2019-03-27   False  0.000000e+00
  2019-03-28   False  3.090170e-01
  2019-03-29   False  5.877853e-01
  2019-03-30   False  8.090170e-01
  2019-03-31    True  9.510565e-01
  2019-04-01    True  1.000000e+00
  2019-04-02    True  9.510565e-01
  2019-04-03   False  8.090170e-01
  2019-04-04   False  5.877853e-01
  2019-04-05   False  3.090170e-01
  2019-04-06   False  1.224647e-16
  2019-04-07   False -3.090170e-01
  2019-04-08   False -5.877853e-01
  2019-04-09   False -8.090170e-01
  2019-04-10    True -9.510565e-01
  2019-04-11    True -1.000000e+00
  2019-04-12    True -9.510565e-01
  2019-04-13   False -8.090170e-01
  2019-04-14   False -5.877853e-01
  2019-04-15   False -3.090170e-01
  </code></pre>
  
  <p>I want to flag the rows where the <code>is_hit</code> condition is <code>True</code> for the first time, such that the expected new column <code>hit_first</code> would be:</p>
  
  <pre><code>           is_hit          vals  hit_first
  dates                                      
  2019-03-27   False  0.000000e+00      False
  2019-03-28   False  3.090170e-01      False
  2019-03-29   False  5.877853e-01      False
  2019-03-30   False  8.090170e-01      False
  2019-03-31    True  9.510565e-01       True
  2019-04-01    True  1.000000e+00      False
  2019-04-02    True  9.510565e-01      False
  2019-04-03   False  8.090170e-01      False
  2019-04-04   False  5.877853e-01      False
  2019-04-05   False  3.090170e-01      False
  2019-04-06   False  1.224647e-16      False
  2019-04-07   False -3.090170e-01      False
  2019-04-08   False -5.877853e-01      False
  2019-04-09   False -8.090170e-01      False
  2019-04-10    True -9.510565e-01       True
  2019-04-11    True -1.000000e+00      False
  2019-04-12    True -9.510565e-01      False
  2019-04-13   False -8.090170e-01      False
  2019-04-14   False -5.877853e-01      False
  2019-04-15   False -3.090170e-01      False
  </code></pre>
  
  <p>How to create this <code>hit_first</code> column?</p>