Descriptive analytics about airline routes data

a) In A2, route_manager is a small program that uses relevant Python structures and libraries to process airline routes data to produce descriptive analytics.

b) Based on provided arguments and data files (i.e., datasets), route_manager.py will help us answer the following questions:

  • q1: What are the top 15 airlines that offer the greatest number of routes with destination country as Canada?
  • q2: What are the top 30 countries with least appearances as destination country on the routes data?
  • q3: What are the top 10 destination airports?
  • q4: What are the top 10 destination cities?
  • q5: What are the unique top 10 Canadian routes (i.e., if CYYJCYVR is included, CYVRCYYJ should not) with most difference between the destination altitude and the origin altitude?

c) The format of the arguments used for the program is similar to the one used for Assignment 1 (A1). A formal description of the inputs is described at the end of this document.

d) The output of your program WILL NOT be directed to stdout. After each execution, your program must generate two files:

  • a. q<X>.csv: A file compliant with the CSV File format that contains data in a tablebased format to answer the question passed as an argument to the program (e.g., q1, q2). Please note that the ‘<x>’ placeholder in the name of the file corresponds to the question passed as an argument. For example, q1.csv, q2.csv, q3.csv, q4.csv, and q5.csv.
  • b. q<X>.pdf: This is a file that contains an image with a graph\figure (e.g., bar plot or pie plot, depending on the argument passed) that allows to visualize the data in q<X>.csv and answer the question passed as an argument to the program (e.g., q1, q2). Please note that the <x> placeholder in the name of the file corresponds to the question passed as an argument. For example, q1.pdf, q2.pdf, q3.pdf, q4.pdf, and q5.pdf.
  • e) The most reliable way (and the only one encouraged) to test your program is to use the provided tester file which will validate the output produced by your program, given a particular question.