title: Pandas VLOOKUP for two dataframes with NaN values
body: <p>I have the following dataframe <code>df1</code></p>
  <pre><code>    name           mobile_no      
  0   Hector ABC       123       
  1   Hector ABC       287        
  2   Jose JKD         567      
  3   Luis AH          NaN      
  4   Billy DH         NaN 
  5   Harry AC         569
  
   
  </code></pre>
  <p>And another dataframe <code>df2</code></p>
  <pre><code>    download_date  mobile_no      
  0   2021-05-30       123        
  1   2020-09-28       287      
  2   2021-02-11       789        
  3   2021-10-06       321        
  4   2020-01-15       569      
  </code></pre>
  <p>I want to return the download date from df2 if the df1 mobile number matches. Doing a pd.merge somehow doubles the number of rows for df1. Is there a way check this row by row and return the download_date?
  I cannot drop the duplicates (if any) in df1 and there are a lot more columns in df1. I kind of want it to be like an excel VLOOKUP that will return the selected column's result for that row by simply matching the lookup value. I tried something like:</p>
  <pre><code>df1['download_date'] = np.where(df1.mobile_no == df2.mobile_no, df2.download_date, np.nan)
  </code></pre>
  <p>Desired result:</p>
  <pre><code>    name         mobile_no    download_date
  0   Hector ABC      123        2021-05-30
  1   John DYC        237        2020-09-28
  2   Jose JKD        567           NaN
  3   Luis AH         NaN           NaN
  4   Billy DH        NaN           NaN
  5   Harry AC        569        2020-01-15
  </code></pre>