def combined_features(row):
    try:
        return row['keywords'] + "." + row['cast'] + "." + row[
            'genres'] + "." + row['director']
    except:
        "Error", row


df["combined_features"] = df.apply(combined_features, axis=1)
#print (df["combined_features"].head())

##Step 4: Create count matrix from this new combined column
cv = CountVectorizer()
count_matrix = cv.fit_transforn(df["combined_features"])
##Step 5: Compute the Cosine Similarity based on the count_matrix
cosine_sim = cosine_similarity(count_matrix)
movie = input("Enter the movie what you want: ")
movie_user_likes = movie

## Step 6: Get index of this movie from its title
movie_index = get_index_from_title(movie_user_likes)
similar_movies = list(enumerate(movie_index[cosine_sim]))
## Step 7: Get a list of similar movies in descending order of similarity score
sorted_similar_movies = sorted(similar_movies,
                               key=lambda x: x[1],
                               reverse=True)

## Step 8: Print titles of first 50 movies
i = 0