title: Fill in NA with other dataframe and then add the rows that are not in the first dataframe
body: <p>I am currently working with python to merge two dataframes that look like below:</p>
  <pre><code># Primary
  df1 = [['A','2021-03','NA',9,'NA'], ['B','2021-09','NA','NA',27], ['C','2021-12','NA',12,28]]
  df1_fin = pd.DataFrame(df1, columns=['ID','Date','Value_1','Value_2','Value_3'])
  
  # Secondatry
  df2 = [['A','2021-03',80,20,30], ['B','2021-09',90,'NA',20], ['B','2021-12','NA','NA',27], ['D','2020-06',4,12,28]]
  df2_fin = pd.DataFrame(df2, columns=['ID','Date','Value_1','Value_2','Value_3'])
  </code></pre>
  <p>I want to perform outer join but keep the value of first dataframe if it already exist.
  The key columns will be ID and Date.</p>
  <ol>
  <li>If the ID and Date matches, the NA value will be replaced by second dataframe and existing values will not be replaced.</li>
  <li>If the ID and Date does not matches, new row will be created</li>
  </ol>
  <p>The result dataframe will look like below:</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>ID</th>
  <th>Date</th>
  <th>Value_1</th>
  <th>Value_2</th>
  <th>Value_3</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>A</td>
  <td>2021-03</td>
  <td>80</td>
  <td>9</td>
  <td>30</td>
  </tr>
  <tr>
  <td>B</td>
  <td>2021-09</td>
  <td>90</td>
  <td>NA</td>
  <td>27</td>
  </tr>
  <tr>
  <td>B</td>
  <td>2021-12</td>
  <td>NA</td>
  <td>NA</td>
  <td>27</td>
  </tr>
  <tr>
  <td>C</td>
  <td>2021-12</td>
  <td>NA</td>
  <td>12</td>
  <td>28</td>
  </tr>
  <tr>
  <td>D</td>
  <td>2020-06</td>
  <td>4</td>
  <td>12</td>
  <td>28</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p>Should I fill in NA first and then combine the rest rows? or is there a function that I can define the parameters to perform both actions?</p>