title: pandas map a series to another series by 2 columns of a dataframe
body: <p>Let's say I have a dataframe with 2 columns:</p>
  
  <pre><code>indexes = pd.Series(np.arange(10))
  np.random.seed(seed=42)
  values = pd.Series(np.random.normal(size=10))
  df = pd.DataFrame({"unique_col": indexes, "value": values})
  
  # df:
     unique_col     value
  0           0  0.496714
  1           1 -0.138264
  2           2  0.647689
  3           3  1.523030
  4           4 -0.234153
  5           5 -0.234137
  6           6  1.579213
  7           7  0.767435
  8           8 -0.469474
  9           9  0.542560
  </code></pre>
  
  <p>And I want to map this series to this dataframe:</p>
  
  <pre><code>uniq = pd.Series([1,3,5,6], index=[20, 45, 47, 51], name="unique_col")
  
  # uniq
  20    1
  45    3
  47    5
  51    6
  Name: unique_col, dtype: int64
  </code></pre>
  
  <p>The <code>uniq</code> series have special index that I don't want to lose. <code>unique_col</code> is in <code>int</code> here but in my real world case it's a complex and unique string.</p>
  
  <p>I want to map the <code>unique_col</code> and extract the <code>value</code>, I currently do it like this:</p>
  
  <pre><code>uniqdf = pd.DataFrame(uniq)
  mergedf = pd.merge(uniqdf, df, on="unique_col", how="left").set_index(uniq.index)
  myresult = mergedf["value"]
  
  # myresult
  20   -0.138264
  45    1.523030
  47   -0.234137
  51    1.579213
  Name: value, dtype: float64
  </code></pre>
  
  <p>Is this necessary? Is there a simpler way that does not involve <code>pd.merge</code> and conversion from <code>Series</code> to <code>DataFrame</code>?</p>