title: Change first element of each group in pandas DataFrame
body: <p>I want to ensure that the first value of <code>val2</code> corresponding to each <code>vintage</code> is <code>NaN</code>. Currently two are already <code>NaN</code>, but I want to ensure that <code>0.53</code> also changes to <code>NaN</code>. </p>
  
  <pre><code>df = pd.DataFrame({
          'vintage': ['2017-01-01', '2017-01-01', '2017-01-01', '2017-02-01', '2017-02-01', '2017-03-01'],
          'date': ['2017-01-01', '2017-02-01', '2017-03-01', '2017-02-01', '2017-03-01', '2017-03-01'],
          'val1': [0.59, 0.68, 0.8, 0.54, 0.61, 0.6],
          'val2': [np.nan, 0.66, 0.81, 0.53, 0.62, np.nan]
      })
  </code></pre>
  
  <p>Here's what I've tried so far:</p>
  
  <pre><code>df.groupby('vintage').first().val2 #This gives the first non-NaN values, as shown below
  
  vintage
  2017-01-01    0.66
  2017-02-01    0.53
  2017-03-01     NaN
  
  df.groupby('vintage').first().val2 = np.nan #This doesn't change anything
  df.val2
  
  0     NaN
  1    0.66
  2    0.81
  3    0.53
  4    0.62
  5     NaN
  </code></pre>