title: Python3 Pandas - TypeError: an integer is required in merge of hash columns
body: <p>Two dataframes have a <strong>hash</strong> column that is the result of:</p>
  
  <pre><code>df['hash'] = df_without.apply(lambda x: hash(tuple(x)), axis = 1)
  </code></pre>
  
  <p>When the <strong>dtypes</strong> of both dataframes are printed, it says:</p>
  
  <pre><code>0     object
  1     object
  2     object
  3     object
  4     object
  5     object
  6     object
  7     object
  8     object
  9     object
  10    object
  11    object
  12    object
  13    object
  14    object
  15    object
  16    object
  dtype: object
  
  0     object
  1     object
  2     object
  3     object
  4     object
  5     object
  6     object
  7     object
  8     object
  9     object
  10    object
  11    object
  12    object
  13    object
  14    object
  15    object
  16    object
  dtype: object
  </code></pre>
  
  <p>So when I want the two dataframes to be merged by the <strong>hash</strong> column, I do this:</p>
  
  <pre><code> df = pd.merge(df1, df2, how='inner', left_on=['hash'], right_on = ['hash'])
  </code></pre>
  
  <p>But I get the error:</p>
  
  <pre><code> TypeError: an integer is required
   KeyError: 'hash'
  </code></pre>
  
  <p>I tried to parse the column to <strong>String</strong> like this:</p>
  
  <pre><code> df['hash'] = df['hash'].astype(str)
  </code></pre>
  
  <p>But nothing changes. Should I force to parse it to Integer?</p>