Python strategies for handing categorical variables
The best option for encoding - OneHot, because if you use Label encoding you indicate that categorical values are comparable(for example label 1 &lt; label 2), which most probably it's not true. One hot encoding create columns for each specific value in the column, moreover, these columns are linearly independent, so you don't create fake order between categorical values. Unfortunately, you got a lot of columns so learning of algorithms could be greedy for time and resource.

More details you will find there