### ![](https://ga-dash.s3.amazonaws.com/production/assets/logo-9f88ae6c9c3871690e33280fcf557f33.png) Python Programming: Pandas Project # Final Project First off, let's take a second to congratulate you for making it this far! We know we've packed a lot of knowledge into a relatively short time! Kudos for rocking it! ![](https://media.giphy.com/media/OcZp0maz6ALok/giphy.gif) --- ## Prompt We'd like you to have something tangible to show for having taken this course with us, so let's use your newly acquired Pandas skills to make a data-pulling app! #### Got Ideas? You are free to make a website about anything you'd like, as long as it meets all the requirements listed below. If you're having trouble coming up with a topic, consider: * Finding a fun data set and basing it on that. * Making an app that contrasts data from your hobbies. * Making something you think would improve your life in some way. Feel free to share resources and inspiration with your classmates! --- ## Deliverables You must have a Pandas app in Jupyter Notebooks. You will work individually on this project, but feel free to share inspiration, resources, or cool data sets that you find with your classmates! ### Requirements Your assignment **must** include: 1. Data pulled from at least one data set. - Get creative! Tons of free data sets exist! Ask your instructor or classmates for ideas. 2. Data displayed in a minimum of two different visualizations. - Take care that they're the best choice of visualizations for the data and are easy to comprehend. 3. Cleaning the data — handling of NULL values or other potential errors in the data. 4. Core Python topics. At minimum: - Dictionaries *or* sets *or* tuples. - Basic debugging, such as a `try-except` block *(only if necessary)*. - User input *or* reading from a file. 5. Comments, so another developer can easily see what your app does. ### Resources #### Suggested Ways to Get Started * **Begin with the end in mind.** Know where you want to go by planning ahead, so you don't waste time building things you don't need. * **Read the docs** for whatever technologies or data sets you use. Most of the time, there is a tutorial that you can follow! This isn't always the case, however, learning to read documentation is crucial to your success as a developer. * **Write pseudocode before you write actual code.** Thinking through the logic of something helps. #### Additional Resources - An [extremely helpful debugging flowchart](https://www.dropbox.com/s/cqsxfws52gulkyx/drawing.pdf). - The [Python Docs](https://docs.python.org). - [Keyword `args`](http://treyhunner.com/2018/04/keyword-arguments-in-python/). - [`args` and `kwargs`](https://www.digitalocean.com/community/tutorials/how-to-use-args-and-kwargs-in-python-3). - [`chain` and Other `itertools`](http://programeveryday.com/post/using-python-itertools-to-save-memory/). - [Sets on a Python Tutorial Website](https://www.learnpython.org/en/Sets)). - [Tuples](http://openbookproject.net/thinkcs/python/english3e/tuples.html). --- ## Evaluation Your project will be evaluated based on the rubric below. ### Rubric | Score | Expectations | | ----- | ---------------------------------------------------- | | 0 | Incomplete. | | 1 | Does not meet expectations. | | 2 | Meets expectations, good job! | | 3 | Exceeds expectations, you wonderful creature, you! | A zero-to-three grading scale may not intuitively make sense, so here is an example using the criteria as if your assignment were to cook a pizza: Criteria | **0** Incomplete. | **1** Does not meet expectations. | **2** Meets expectations. | **3** Exceeds expectations. | :--- | :--- | :--- | :--- | :--- Crust | No crust present. Submission is just cheese and sauce on a plate. | Pizza has a crust, but it is raw. | Crust is cooked thoroughly.| Crust is golden brown and just thin enough without being too thick. Cheese | No cheese present. | Cheese is made of soy. | Cheese covers the pizza from edge to edge. | Cheese is delicious, plentiful, and melted to perfection.