Some datasets contain multiple groups of variables as column names that need to be stacked simultaneously into their own columns. An example of the movie dataset can help clarify this. Let's begin by selecting all columns containing the actor names and their corresponding Facebook likes:
>>> movie = pd.read_csv('data/movie.csv')
>>> actor = movie[['movie_title', 'actor_1_name',
'actor_2_name', 'actor_3_name',
'actor_1_facebook_likes',
'actor_2_facebook_likes',
'actor_3_facebook_likes']]
>>> actor.head()
If we define our variables as the title of the movie, the actor name, and the number of Facebook likes, then we will need to stack independently two sets of columns, which is not possible using a single call to stack or melt.