title: Fill all values in a group with the first non-null value in that group
body: <p>The following is the pandas dataframe I have:</p>
  
  <pre><code>cluster Value
  1         A
  1        NaN
  1        NaN
  1        NaN
  1        NaN
  2        NaN
  2        NaN
  2         B
  2        NaN
  3        NaN
  3        NaN
  3         C
  3        NaN
  4        NaN
  4         S
  4        NaN
  5        NaN
  5         A
  5        NaN
  5        NaN
  </code></pre>
  
  <p>If we look into the data, cluster 1 has Value 'A' for one row and remain all are NA values. I want to fill 'A' value for all the rows of cluster 1. Similarly for all the clusters. Based on one of the values of the cluster, I want to fill the remaining rows of the cluster. The output should be like,</p>
  
  <pre><code>cluster Value
  1         A
  1         A
  1         A
  1         A
  1         A
  2         B
  2         B
  2         B
  2         B
  3         C
  3         C
  3         C
  3         C
  4         S
  4         S
  4         S
  5         A
  5         A
  5         A
  5         A
  </code></pre>
  
  <p>I am new to python and not sure how to proceed with this. Can anybody help with this ?</p>