df = pd.DataFrame({\'A\': [\'x\', \'y\', \'x\'], \'B\': [\'z\', \'u\', \'z\'], \'C\': [\'1\', \'2\', \'3\'], \'D\':[\'j\', \'l\',
It can be done without concatenation, using get_dummies() with required parameters
In [294]: pd.get_dummies(df, prefix=['A', 'D'], columns=['A', 'D']) Out[294]: B C A_x A_y D_j D_l 0 z 1 1.0 0.0 1.0 0.0 1 u 2 0.0 1.0 0.0 1.0 2 z 3 1.0 0.0 1.0 0.0