Want to know the diff among pd.factorize, pd.get_dummies, sklearn.preprocessing.LableEncoder and OneHotEncoder
<p>All four functions seem really similar to me. In some situations some of them might give the same result, some not. Any help will be thankfully appreciated!</p>

<p>Now I know and I assume that internally, <code>factorize</code> and <code>LabelEncoder</code> work the same way and having no big differences in terms of results. I am not sure whether they will take up similar time with large magnitudes of data.</p>

<p><code>get_dummies</code> and <code>OneHotEncoder</code> will yield the same result but <code>OneHotEncoder</code> can only handle numbers but <code>get_dummies</code> will take all kinds of input. <code>get_dummies</code> will generate new column names automatically for each column input, but <code>OneHotEncoder</code> will not (it rather will assign new column names 1,2,3....). So <code>get_dummies</code> is better in all respectives.</p>

<p>Please correct me if I am wrong! Thank you!</p>