title: Pandas .loc return some empty arrays so I can't get their values
body: <p>I'm crossing the information into two tables. I want to get the information from the column <code>Register Number</code> in the table <code>profile</code> and put it into the column <code>Delivers</code>, which I just created, into the table <code>consumption</code>, by using the information into the columns <code>Cod. Deliver profile</code> and <code>Cod. agent profile</code> - which is the same for the same delivers. I do it by using the following code:</p>
  <pre><code>consumption['Delivers'] = ''
  for idx, x in consumption['Cod. Deliver profile'].iteritems():
      consumption['Delivers'].iloc[idx] = profile.loc[profile['Cod. agent profile'] == x, 'Register Number'].values
  </code></pre>
  <p>The problem is that the method <code>.values</code> returns a <code>Numpy array</code>, which is not what I want - as below. It should have just one value of type string per cell and when there is no value to be set, empty or something else - but no brackets!</p>
  <pre><code>29                  []  
  30                  []  
  31   [6981180000116.0]   
  42    [357038000116.0]  
  43                  []  
  44  [28152650000171.0]  
  </code></pre>
  <p>If I use <code>.item()</code> I get the following error:
  <code>ValueError: can only convert an array of size 1 to a Python scalar</code></p>
  <p>If I use <code>.iloc[0]</code> I get the following:
  <code>IndexError: single positional indexer is out-of-bounds</code></p>
  <p>How to workaround this?</p>