title: pandas dataframe.at for a whole series
body: <p>How can I convert the following code without using the loop, using pythonic pandas :</p>
  <pre class="lang-py prettyprint-override"><code>import pandas as pd
  
  xls = pd.ExcelFile('...')
  df_1 = pd.read_excel(xls, '...')
  df_2 = pd.read_excel(xls, '...')
  
  df_1_len = len(df_1)
  results = np.empty(df_1_len)
  for idx in range(df_1_len):
      results[idx] = df_2.at[df_1['x'][idx], df_1['y'][idx]]
  </code></pre>
  <p><code>df_1</code> looks like :</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>x</th>
  <th>y</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>1</td>
  <td>a</td>
  </tr>
  <tr>
  <td>2</td>
  <td>a</td>
  </tr>
  <tr>
  <td>2</td>
  <td>b</td>
  </tr>
  <tr>
  <td>...</td>
  <td>...</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p><code>df_2</code> looks like :</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th></th>
  <th>1</th>
  <th>2</th>
  <th>..</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>a</td>
  <td>val(1,a)</td>
  <td>val(2,a)</td>
  <td>..</td>
  </tr>
  <tr>
  <td>b</td>
  <td>val(1,n)</td>
  <td>val(2,a)</td>
  <td>..</td>
  </tr>
  <tr>
  <td>...</td>
  <td>...</td>
  <td>...</td>
  <td></td>
  </tr>
  </tbody>
  </table>
  </div>