title: Numpy TypeError: an integer is required
body: <p>This will be maybe quite personal question but I don't know who to ask I hope somebody can help and don't skip me THANKS!. I have installed python using Anaconda and using Jupyter notebook. I have 2 csv files of data. </p>
  
  <pre><code>products.head()
       ID_FUPID   FUPID
      0   1   674563
      1   2   674597
      2   3   674606
      3   4   694776
      4   5   694788
  </code></pre>
  
  <p>Products contain id of product and product number. </p>
  
  <pre><code>ratings.head()
   ID_CUSTOMER    ID_FUPID    RATING
  0   1   216     1
  1   2   390     1
  2   3   851     5
  3   4   5897    1
  4   5   9341    1
  </code></pre>
  
  <p>Ratings containt id of customer, productID and Rating which customer give to product.
  I have created table as: </p>
  
  <pre><code>M = ratings.pivot_table(index=['ID_CUSTOMER'],columns=['ID_FUPID'],values='RATING')
  </code></pre>
  
  <p>Which is showing data correctly in matrix with productID= columns and customerID as rows. </p>
  
  <p>I wanted to count pearson colleration between products so here is the pearson function: </p>
  
  <pre><code>def pearson(s1, s2):
      import numpy as np 
      """take two pd.series objects and return a pearson correlation"""
      s1_c = s1 - s1.mean()
      s2_c = s2 - s2.mean()
      return np.sum(s1_c * s2_c) / np.sqrt(np.sum(s1_c ** 2) * np.sum(s2_c ** 2))
  </code></pre>
  
  <p>When I'm trying to count <strong>pearson(M['17'], M['21'])</strong> I got following errors: </p>
  
  <pre><code>TypeError                                 Traceback (most recent call last)
  pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
  
  pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
  
  TypeError: an integer is required
  
  During handling of the above exception, another exception occurred:
  
  KeyError                                  Traceback (most recent call last)
  ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
     2441             try:
  -&gt; 2442                 return self._engine.get_loc(key)
     2443             except KeyError:
  
  pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
  
  pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
  
  KeyError: '17'
  
  During handling of the above exception, another exception occurred:
  
  TypeError                                 Traceback (most recent call last)
  pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
  
  pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
  
  TypeError: an integer is required
  
  During handling of the above exception, another exception occurred:
  
  KeyError                                  Traceback (most recent call last)
  &lt;ipython-input-277-d4ead225b6ab&gt; in &lt;module&gt;()
  ----&gt; 1 pearson(M['17'], M['21'])
  
  ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
     1962             return self._getitem_multilevel(key)
     1963         else:
  -&gt; 1964             return self._getitem_column(key)
     1965 
     1966     def _getitem_column(self, key):
  
  ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py in _getitem_column(self, key)
     1969         # get column
     1970         if self.columns.is_unique:
  -&gt; 1971             return self._get_item_cache(key)
     1972 
     1973         # duplicate columns &amp; possible reduce dimensionality
  
  ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\generic.py in _get_item_cache(self, item)
     1643         res = cache.get(item)
     1644         if res is None:
  -&gt; 1645             values = self._data.get(item)
     1646             res = self._box_item_values(item, values)
     1647             cache[item] = res
  
  ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals.py in get(self, item, fastpath)
     3588 
     3589             if not isnull(item):
  -&gt; 3590                 loc = self.items.get_loc(item)
     3591             else:
     3592                 indexer = np.arange(len(self.items))[isnull(self.items)]
  
  ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
     2442                 return self._engine.get_loc(key)
     2443             except KeyError:
  -&gt; 2444                 return self._engine.get_loc(self._maybe_cast_indexer(key))
     2445 
     2446         indexer = self.get_indexer([key], method=method, tolerance=tolerance)
  
  pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
  
  pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
  
  KeyError: '17'
  </code></pre>
  
  <p>I will really appreciate any help ! thanks a million. </p>