title: DataFrame objects are mutable thus they cannot be hashed while using Series.unique()
body: <p>I am having an issue while using Series.unique() in titanic dataframe.</p>
  
  <p>While using the Series.unique() in the original df gives no error, but on concatenating train and tests based on specific columns, and then using Series.unique() gives me the error. </p>
  
  <p>This according to what I have tried is being caused by replacing null values in the 5th statement. If I comment out that line, the code works without giving any error. Why is it so? And also is there any work around?</p>
  
  <pre><code>cat_cols = ['Pclass', 'Sex', 'Embarked']
  df_train = pd.read_csv('train.csv')
  df_pred = pd.read_csv('test.csv')
  df_join = pd.concat([df_train[cat_cols], df_pred[cat_cols]])
  df_join = df_join.fillna(df_join.mode, axis=0)
  df_join.Embarked.unique()
  </code></pre>
  
  <p>The train and test files can be download from:</p>
  
  <p><a href="https://www.kaggle.com/c/titanic/download/test.csv" rel="nofollow noreferrer">https://www.kaggle.com/c/titanic/download/test.csv</a>
  <a href="https://www.kaggle.com/c/titanic/download/train.csv" rel="nofollow noreferrer">https://www.kaggle.com/c/titanic/download/train.csv</a></p>
  
  <p>I am currently using Pandas Version 0.23.4</p>