Data Wrangling
ICT702 Task 2
2018 Semester 2 Data Wrangling
Below
Zero - ice cream store
The local ice-cream store needs a new ordering
system to improve customer service by streamlining the ordering process. The manager
of the store has found that many orders are incorrect and staff at times enter
incorrect prices. The manager wants a new ordering system to avoid these errors
and to ensure correct prices are charged.
At present, the customer selects what to put the
ice-cream in: plain cone, waffle, cone or a cup. The customer also chooses how
many scoops and the flavours of each scoop. There are currently eight flavours
to choose from.
The management are hoping to have a system
developed where staff enter the order at stations where the price is
calculated, and the customer pays. The order is then sent to staff at the
counters who complete the order and give it to the customer.
In addition to the ordering system, Below Zero
have asked for some analysis on the current trends in ice cream sales in the
five neighbouring regions. As a result, you were able to source weekly sales
data for 45 stores over 3 years (2010 – 2012).
Learning
Objectives
In this task you will learn how to:
•
Write programs that produce correct and useful
output
•
Apply relevant Python programming concepts to a
data analysis challenge
•
Read data from real sources and wrangle it into
the form you need.
•
Develop creative approaches to solving the
wrangling/analysis problems.
•
Adhere to the recommended Python programming
styles
•
Organise and present a data analysis report
•
Give an insightful analysis of the given
problem.
Task 2 is broken into two parts (each worth 20% of the course):
1.
Due Friday Week 9 Use Python to create
an ordering system for Below Zero.
2. Due
Friday Week 12 Use Python
to read and analyse the ice cream weekly sales data and generate various useful graphs that give insight into the
trends which is presented in a brief report to the client.
1
Ordering System
In this first part of Task 2, you should write a
Python script for the ice cream ordering system. Your program must store the
prices of the individual items (cones, scoop flavours and toppings).
Specifically, the program should do the following:
• At the
start, the program should ask for the customer’s name to personalise and track
the order and then get the number of ice creams from the customer.
• For each
ice cream, the cone type, scoop amount, scoop flavour, number and type of
toppings should be taken from the customer.
•
At the end the program should display the
itemised order with the total price.
• The
program should be able to handle invalid entries inputted (such as incorrect
cone type, or invalid number of toppings)
Notes:
•
You must use standard Python data
structures, not Pandas, to store the prices of the individual items.
•
Items and prices are listed in Appendix A
•
HINT: You should
use the Python “input(message)” function to read each input value from the
customer (for example when asking for the customer name).
2 Ice
cream trends
In this second part of Task 2, you should write
a Python script that reads and analyses the ice cream data file
(Weekly_Sales.csv) and merge it with the store details file (StoreDetails.csv)
and region file (Region.csv) to produce at least FOUR useful graphs that give
insight into the ice cream sales trends.
For example, here are some suggestions:
•
show the change in ice cream sales over the
period 2010 to 2012
• compare the trends of all stores in a given
year.
• compare
sales against the different store details (i.e. temperature and unemployment)
to see what the relationship between them is (data from StoreDetails.csv).
• compare
sales in the five different regions (using the data from the Region.csv to
group the stores).
Notes:
1. You must at least have 1 graph analysing
temperature or unemployment and 1 graph comparing the sales across the
different regions.
2.
You must use the Pandas library to store and
manipulate the data.
3. Use markup and headings to break your Jupyter
notebook into sections and give commentary about what you doing, and discussion
of your results. This Jupyter notebook will be what you submit.
3 What
you will submit
There are three deliverables in two parts. Part A is due Friday in week 9
and Part B is due Friday in Week
12. The following are what you will be submitting for each part.
1.
Part A Python code for the ordering system in a
Jupyter notebook file
2.
Part B Python code for the trends analysis in a
Jupyter notebook file
3.
Part B Report to the client based on (2) (PDF or
word doc)
4
Marking Criteria
Your submission for each part of this task will
be assessed according to the following criteria:
•
Part A (all python code):
o Working system with no errors [5 marks]
o Correctness of the program output [15 marks]
o Robust handling of invalid inputs with helpful
error messages [10 marks]
o Programming style [20 marks]
▪ Creative
approaches to solving the problem
▪ Good
use of relevant programming concepts,
▪ Good
use of appropriate Python data structures, such as lists and dictionaries
▪ Adherence
to the recommended Python programming styles (indentation, documentation,
naming conventions, etc.)
•
Part B (Python code and Report):
o Python Code
▪
Correctness
of the program output [10 marks]
▪
Programming
style [15 marks]
•
Creative
approaches to solving the problem
• Good use
of relevant programming concepts, especially good use of functions
• Adherence
to the recommended Python programming styles (indentation, documentation,
naming conventions, etc.)
o Report
▪
Presentation
and organisation of your report to the client [5 marks]
▪
Insightful
analysis and discussion of the trends [20 marks]
Category
|
Item
|
Price
|
|
Cone
|
Plain Cone
|
1.5
|
|
Waffle Cone
|
2
|
||
Type
|
|||
Cup
|
1
|
||
Vanilla
|
|||
Strawberry
|
Each
|
||
Chocolate
|
|||
scoop
|
|||
Scoop
|
Caramel
|
||
costs .5
|
|||
Flavours
|
Mint
|
||
(regardless
|
|||
Rainbow
|
|||
of flavour)
|
|||
Coffee
|
|||
Bubble gum
|
|||
Peanuts
|
0.75
|
||
Caramel Sauce
|
0.5
|
||
Topping
|
Rainbow
|
||
Sprinkles
|
0.5
|
||
Choices
|
|||
Pecan
|
1
|
||
Chocolate
|
|||
Sprinkles
|
0.5
|
Additional Info:
1.
The maximum number of scoops per ice cream is 3
2.
The maximum number of toppings per ice cream is
4
To get solution visit our webite www.sourceessay.com
Comments
Post a Comment