How do I convert strings in CSV into integer in Pandas?
You cannot convert your string product names to integers and expect    it to work, if you convert it to integers the algorithm you use will    expect a linear relationship between these integers, a relationship    that in fact does not exist.   

It is categorical data, and you should treat it like that, you have to one-hot encode it. If you have too many products to one-hot    encode all of them try grouping them in categories and then one-hot encoding the categories.