title: ValueError: Columns must be same length as key
body: <p>I have a problem running the code below.</p>
  
  <p>data is my dataframe. X is the list of columns for train data. And L is a list of categorical features with numeric values.</p>
  
  <p>I want to one hot encode my categorical features. So I do as follows. But a "ValueError: Columns must be same length as key" (for the last line) is thrown. And I still don't understand why after long research.</p>
  
  <pre><code>def turn_dummy(df, prop):
      dummies = pd.get_dummies(df[prop], prefix=prop, sparse=True)
      df.drop(prop, axis=1, inplace=True)
      return pd.concat([df, dummies], axis=1)
  
  L = ['A', 'B', 'C']
  
  for col in L:
      data_final[X] = turn_dummy(data_final[X], col)
  </code></pre>