Prediction based on more dataframes I'm trying to predict a score that user gives to a restaurant. 

The data I have can be grouped into two dataframes 


data about user (taste, personal traits, family, ...) 
data about restaurant(open hours, location, cuisine, ...).


First major question is: how do I approach this? 

I've already tried basic prediction with the user dataframe (predict one column with few others using RandomForest) and it was pretty straightforward. These dataframes are logically different and I can't merge them into one. 

What is the best approach when doing prediction like this? What are the most common methods used for task like this?

My second question is what is the best way to handle categorical data (cuisine f.e.)?

I know I can create a mapping function and convert each value to index, or I can use Categorical from pandas (and probably few other methods). Is there any prefered way to do this?
First question - predicting user score:
One approach addressing this problem is using collaborative filtering.
Where the basic idea is 'placing' each entity type(users, restaurants) in a vector space, where a distance function can be utilized.
This way you can learn that if user1 is similar(short distance) to user2 and restaurant1 is similar to restaurant2 then its probable that both users will give similar score to both restaurants.
 One popular algorithm that uses collaborative filtering is the 'Matrix Factorization' - the matrix factorization example is in the bottom of the article.

Second question - handling categorical variables:
Using one-hot-encoding for handling categorical data is a common methodology.
I personally love using pandas.get_dummies function.