You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
4.3 KiB

### ![](https://ga-dash.s3.amazonaws.com/production/assets/logo-9f88ae6c9c3871690e33280fcf557f33.png) Python Programming: Pandas Project
<!---
This assignment was developed by Brandi Butler for Python 5-Day
Questions? Comments?
1. Log an issue to this repo to alert me of a problem.
2. Suggest an edit yourself by forking this repo, making edits, and submitting a pull request with your changes back to our master branch.
3. Hit me up on Slack at @brandib.
--->
# 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.