class_docstr: The next version of our playlist generator that uses the statistics
  generated from 'Episode 02' to improve the title recommendations.
  
  The flow performs the following steps:
  
  1) Load the genre-specific statistics from the MovieStatsFlow.
  2) In parallel branches:
     - A) Build a playlist from the top grossing films in the requested genre.
     - B) Choose a random movie.
  3) Join the two to create a movie playlist and display it.
docstr: Select the top performing movies from the user specified genre.
docstr_tok: ["Select","the","top","performing","movies","from","the","user","specified","genre","."]
code: def genre_movies(self):
      """
      Select the top performing movies from the user specified genre.
  
      """
      from random import shuffle
  
      # For the genre of interest, generate a potential playlist using only
      # highest gross box office titles (i.e. those in the last quartile).
      genre = self.genre.lower()
      if genre not in self.genre_stats:
          self.movies = []
      else:
          df = self.genre_stats[genre]["dataframe"]
          quartiles = self.genre_stats[genre]["quartiles"]
          self.movies = [
              df["movie_title"][i]
              for i, g in enumerate(df["gross"])
              if g >= quartiles[-1]
          ]
  
      # Shuffle the playlist.
      shuffle(self.movies)
  
      self.next(self.join)
  
file_path: metaflow/metaflow/tutorials/03-playlist-redux/playlist.py
imports: from metaflow import FlowSpec, step, Parameter
label_desc: Use image node_id 3 for calling the PlayListFlow obj's underlying member method code with example usage: obj.genre_movies() without return types