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
97 lines
4.3 KiB
###  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!
|
|
|
|

|
|
|
|
---
|
|
|
|
## 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.
|