Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

202130_ITEC102_Assessment3 ASSESSMENT GUIDE Unit: ITEC102 Python fundamentals for data science, Semester 1, 2021 Assessment number (3) Assessment Artefact: Report and Python Code Weighting [40%] Why...

1 answer below »
202130_ITEC102_Assessment3

ASSESSMENT GUIDE
Unit: ITEC102 Python fundamentals for data science, Semester 1, 2021
Assessment number (3)
Assessment Artefact: Report and Python Code
Weighting [40%]
Why this assessment?
What are the types of employability skills that I will acquire upon completion of this
assessment?
Assessment Overview:
Purpose, as written in the EUO
Due date: 12pm on Friday of Week 14, 11 June 2021
Weighting: 40%
Length and/or format: Individual
Runnable code, detailed comments and discussion in jupyter notebook
Learning outcomes assessed LO3, LO4
Graduate attributes assessed GA3, GA4, GA5
How to submit: via LEO
Return of assignment: via LEO within 2 weeks of submission
Assessment criteria: Ru
ic: see end of document
• The purpose is to assess students’ comprehensive Python data science skills and understanding from data
processing to data visualisation on real-world datasets with consideration of data ethics.
Skill Type
Developed critical and analytical thinking ☒
Developed ability to solve complex problems ☒
Developed ability to work effectively with others ☐
Developed confidence to learn independently ☒
Developed written communication skills ☒
Developed spoken communication skills ☐
Developed knowledge in the field study ☐
Developed work-related knowledge and skills ☒
2

Context
Data processing, analysis and visualisation assignment
In this assignment you will be analyzing the BRFSS weight vs height data (
fss.csv), which can be download from
unit LEO website and use pandas to load it.
The five columns in the data represent: age, cu
ent_weight (kg), weight_a_year_ago (kg), height (cm), and gender,
where gender == 1 represents male and 2 represents female.
In this assignment you will have the chance to do initial exploratory and visualization about the data with learned
skills from this unit.
Instructions
Attempt below tasks with the given dataset, at the same time, reflect on the development and applications of data
science while ensuring the respect of human rights and of the values shaping open, pluralistic and tolerant
information societies.
Task 1 (15 marks): Produce a summary statistics graph on cu
ent_weight, weight_a_year_ago, and height.
[Hint: similar to figure 1 below]
Figure 1: An example of summary statistics graph
Task 2 (15 marks): Calculate co
elation: Define weight_change = (cu
ent_weight – weight_a_year_ago).
Calculate co
elation between weight_change and the following variables, and determine which one is most
co
elated (regardless of sign of co
elation) with weight_change. Use scatter plots to support your
conclusion.
i. cu
ent_weight
ii. weight_a_year_ago
iii. age
[Hint: One scatter plot for each variable.]
height weight
Cu
ent_
weight
Weight_a_
year_ago
Height
3
Task 3 (10 marks): Use t-test to check significant difference
3.1 Use t-test to test whether there is a significant difference between the weight_change of male and
female.
3.2 Randomly split the subjects into two groups of roughly equal sizes, and use t-test to test whether
there is a significant difference between the weight_change of the two groups.
[Hint: use t-test here
https:
docs.scipy.org/doc/scipy
eference/generated/scipy.stats.ttest_ind.html ]
Task 4 (5 bonus marks): Propose and perform your own analysis that utilizes different skills taught in class (or
eveal additional interesting insight from this dataset).
Structure
Prepare a Jupyter Notebook for this project. The structure of the Jupyter Notebook should alternate texts and python
codes and cover topics listed the in specific tasks above. One template could be found in any week’s workshop
esources in LEO.
Naming the submission: start with your student ID, name and followed by unit name and code, i.e.,
studentID_studentNames_ITEC102_AT3.ipynb, e.g., S00258769_Alice_Zuk_ITEC102_AT3.ipynb
How do I submit?
Submit Jupyter Notebook (.ipynb) to Assessment 3 via LEO assessment tile
Note that: The code will be compared to other students’ submission in Turnitin to make sure the submission satisfies
academic integrity.
Submission checklist
I have formatted my jupyter notebook as per the specifications ☐
I have checked my Turnitin report and taken appropriate actions to ensure that the submission
satisfies academic integrity

I have actioned feedback advice provided to me from labs and assessment 2 (if applicable) ☐
I have submitted my work before the due date/time ☐
I have submitted feed forward template along with my assignment submission ☐
Feed Forward Template (example)
A template for students to use and act on feedback and provide recommendations for improvement.
Note
This is a task for any instance of follow-on assignment (assessment 2 and 3). This must be submitted as the first
page of the follow-on assignment (assessment 2 and 3) to ensure you acted on the feedback provided to you in the
previous assignment (this is not counted as part of the assessment word count).
How did you act on the feedback?
Feedback is an important component of learning. Please consider the feedback you received in your last
assignment and provide a response on how you acted on, or intend to act upon, that feedback, and how it has
informed the cu
ent assignment task. Submit this sheet along with your assignment.
Questions Your learning from the previous assignment feedback
https:
docs.scipy.org/doc/scipy
eference/generated/scipy.stats.ttest_ind.html
4

How have you acted on the feedback from
previous assignment to improve your work
in this assignment?
(e.g. based on my previous feedback, I made sure that I
supported my discussion, position, ideas, concepts with peer
eviewed journal references in this assignment)
What is your expectation around the type of
feedback that enhances your learning?
(e.g. I want to know where I made a mistake and how I can
co
ect them and not make the same mistake again i.e. I want
specific feedback that will help me to improve my learning and
performance in the next assignment)
Did you have any difficulty understanding
or acting on previous feedback? Please be
as specific as possible so that you can gain
further feedback/clarify anything you do not
understand in the feedback
(e.g. feedback provided in my previous assignment was very
generic I did not know how to improve my work. So, I would
like the teacher to explain more on xxxx aspects of the
feedback or I would like an opportunity to have a dialogue to
understand the feedback)
Some Helpful Websites and Resources
LEO listed contents
Anaconda environment https:
docs.anaconda.com/anaconda/
Python official website https:
www.python.org/
Useful python packages:
https:
numpy.org/
https:
pandas.pydata.org/
https:
matplotlib.org/
Who can help me?
Academic skills Unit (ASU)
Places Lecturer Maoying Qiao (via LEO messages)
I’m having problems
Application for Extension (EX) of Time for submission of an Assessment Task: The EX form should be
completed by ACU students applying for an extension of time for submission of an assessment task. The completed
and signed form must be submitted to the relevant National Lecturer-in-Charge prior to the due date of the
assessment task. It must be accompanied by supporting documentary evidence such as EIP, doctor’s certificate or
equivalent, death certificate, or a statutory declaration.
Special Consideration: This form is used by students to apply for Special Consideration for assessable work in
studies at Australian Catholic University. Approval of such applications will only be granted to students who are
legitimately disadvantaged in their assessment due to exceptional and unforeseen circumstances beyond their
control.
https:
www.acu.edu.au/-/media/feature/pagecontent
ichtext/study-at-acu/_forms/form---ex-application-for-extension-of-time-for-submission-of-an-assessment-task.pdf?la=en&hash=F0B8D12030C4F16ED06803E255FFAB0A
https:
units.acu.edu.au/__data/assets/word_doc/0006/620655/SC_Application_for_Special_Consideration_ XXXXXXXXXXdocx
5

Referencing
All referencing should be in ACU Harvard style; however if you are coming from another faculty, you may choose
to use your usual referencing style. If this is the case you must indicate at the top of your reference list what
eferencing style you are using (e.g. APA, MLA, Chicago, etc).
Please ensure your assignment makes use of in-text citations and a reference list. Missing citations or references
is equivalent to plagiarism.
Criteria
The full criteria is compiled in a ru
ic, which can be found on the following page/s.
https:
libguides.acu.edu.au
eferencing/harvard
6

Ru
ic for Assessment 3
Relevant LO/GAs Criterion (related
to a single GA from
the related LO –
one GA per
criterion
Does not meet
expectations
Meets
expectations
Exceeds expectations
NN (0-49%) PA (50-64%) CR (65-74%) DI (75-84%) HD XXXXXXXXXX%)
GA5
LO3 and LO4
Weight=25 marks
TL=3
Learning stage = I
and D
Demonstrate co
ect
understanding of the
concepts of data
processing, analysis
and visualisation
Fail to adequately
demonstrate co
ect
understanding of the
concepts of data
processing, analysis
and visualisation, i.e.,
None of the above
tasks are addressed
and no figures are
produced.

(0 – 12.25)
Adequately
demonstrate co
ect
understanding of the
concepts of data
processing, analysis
and visualisation, i.e.,
at least one task is
addressed and one
figure is produced with
easonable quality

(12.5 –16.0)
Credibly demonstrate
co
ect understanding
of the concepts of data
processing, analysis
and visualisation, i.e.,
at least two tasks are
addressed and one
figure is produced with
desired quality.


(16.25 – 18.5)
Distinctively
demonstrate co
ect
co
ect understanding
of the concepts of data
processing, analysis
and visualisation, i.e.,
most of the tasks are
addressed and the
figures are produced
with desired quality.

(18.75 – 21.0)
Highly distinctively
demonstrate co
ect
understanding of the
concepts of data
processing, analysis
and visualisation, i.e.,
all tasks are
addressed with
figures of desired
quality.

(21.25 – 25)
GA4
LO3
Weight=10 marks
TL=3
Learning stage = I
and D
Demonstrate critical and
eflective thinking skills
y observing and
summarizing output of
codes and figures
Fail to adequately
demonstrate critical
and reflective thinking
skills by observing and
summarizing output of
codes and figures, i.e.,
no summary and
conclusion are drawn
around the output




(0 – 0.49)
Adequately
demonstrate critical
and reflective thinking
skills by observing
Answered 5 days After May 27, 2021 ITEC102

Solution

Saravana answered on Jun 01 2021
147 Votes
{
"cells": [
{
"cell_type": "markdown",
"id": "38a80830",
"metadata": {},
"source": [
"## Task 1 (15 marks): Produce a summary statistics graph on cu
ent_weight, weight_a_year_ago, and height.\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "853fd218",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Unnamed: 0 age weight2 wtyrago wtkg2 htm3 sex\n",
"0 0 39.0 88.636364 88.636364 88.64 180.0 1\n",
"1 1 64.0 75.000000 84.545455 75.00 155.0 2\n",
"2 2 87.0 61.818182 63.636364 61.82 NaN 2\n",
"3 3 51.0 100.000000 100.000000 100.00 183.0 1\n",
"4 4 35.0 63.636364 61.363636 63.64 170.0 2\n",
"(414509, 7)\n",
"count 398484.000000\n",
"mean 78.992337\n",
"std 19.546212\n",
"min 20.000000\n",
"25% 64.545455\n",
"50% 77.272727\n",
"75% 90.909091\n",
"max 309.090909\n",
"Name: weight2, dtype: float64\n",
"count 390399.000000\n",
"mean 79.721319\n",
"std 20.565164\n",
"min 22.727273\n",
"25% 64.545455\n",
"50% 77.272727\n",
"75% 90.909091\n",
"max 342.272727\n",
"Name: wtyrago, dtype: float64\n",
"count 409129.000000\n",
"mean 168.825190\n",
"std 10.352653\n",
"min 61.000000\n",
"25% 160.000000\n",
"50% 168.000000\n",
"75% 175.000000\n",
"max 236.000000\n",
"Name: htm3, dtype: float64\n"
]
}
],
"source": [
"import os\n",
"# set workin gdirectory to the folder containing BRFSS.csv file\n",
"os.chdir(\"/media/priyan/Files/GreyNodes/Assignment20\")\n",
"\n",
"# Use pandas to read CSV file\n",
"import pandas as pd\n",
"dat = pd.read_csv('
fss.csv') \n",
"\n",
"# print 5 rows of the dataset to get a peek in to the data\n",
"print(dat.head(n= 5))\n",
"\n",
"# verify the number of rows and column of the dataset\n",
"print(dat.shape)\n",
"\n",
"# Generate and print the summary statistics of variable 'weight' in the dataset\n",
"wgt_ss = dat['weight2'].describe(include='all')\n",
"print(wgt_ss)\n",
"\n",
"# Generate and print the summary statistics of variable 'last year weight' in the dataset\n",
"wgt_yr_ss = dat['wtyrago'].describe(include='all')\n",
"print(wgt_yr_ss)\n",
"\n",
"# Generate and print the summary statistics of variable 'height' in the dataset\n",
"hgt_ss = dat['htm3'].describe(include = 'all')\n",
"print(hgt_ss)"
]
},
{
"cell_type": "markdown",
"id": "939a48ef",
"metadata": {},
"source": [
"### Creating plot for Task 1"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "318ca64f",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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
19tW7Aswv6DAGQX
lRAEZU2LP5Dff/8dEyZMQFRUFB5++GG4uLjg4MGDWL58OcaOHVuvdRUVFaGiogI3btzAoUOHsHz5cly5cgWpqalWr5saN4Y+IiIiC9q3H4+ePb+0cJ++lTa7T5+zszMGDBiADz74AKdPn8atW7eg0WgwY8YMLFq0qF7r6t69OwRBgLOzM7p06YLw8HDMnz/f4i1eqPli6CMiIqpF+
j4eExFteu7YZOVwgHBy+4uw+1SYfPRKVSITExEYmJifec19KFHaGhodIFG0QAQx8REdE9CYISbdqE2rsMogfCCzmIiIiIZIChj4iIiEgGGPqIiIiIZIChj4iIiEgGGPqIiIiIZIChj4iIiEgGGPqIiIiIZIChj4iIiEgGGPqIiIiIZIChj4iIyIKC6wXIKcyx+PpPyX/uvZL7EBkZCUEQEB0dXW1aTEwMBEFAZGSkTbZtLenp6QgLC0Pbtm3h5OSErl27YurUqaiqqgIAZGRkQBAECIIAhUIBNzc39O3bF6+++ioKCwvtXH3zxMewERER1aCyqhLB64JxueyyxXk8nT2RPzcfqhYqq29fo9Fg06ZN+OCDD+Do6AgAqKiowOeffw6tVmv17dWXj48PkpOTERoaWm3asWPHMHLkSMyZMwd/+9vf4OjoiJMnT+LLL7+EwWAwm/fEiRNwdXVFSUkJcnJysHz5cnz88cfIyMjAQw891EDfRh7Y6SMiIqqBg9IBWjctFBZ+VSqggMZVAwelg022HxQUBK1Wi9TUVGlcamoqNBoN+vbtK40TRRHLly9Hly5d4OjoiN69e+PLL7+Upuv1erzwwgvw9fWFo6Mjunfvj
+9a9m24qMjMS4cePw3nvvwcvLC+3atcPMmTNx69at+6r9559/hpeXF5YvX45evXrBz88PI0aMwPr16+HgYL6/1Go1PD090a1bN/zxj3/Enj170L59e7z88sv3tW2yjKGPiIioBoIgID4sHgYYapxugAHxYfEQBMFmNUybNg1JSUnS8IYNGxAVFWU2z5tvvomkpCSsWrUKx44dw7x58zB58mTs2rXLWKfBAG9vb2zevBm5ublYvHgxFi1ahM2bN5utJz09HadPn0Z6ejpSUlKQnJyM5OTk+6
09MThYWF+OWXX+q9rKOjI6Kjo7Fnzx4UFRXd1/apZjy8SzZRUFCA4uJii9PVajW8vb0bsCIiovoL9wtHcMdg5BTmQC/qpfFKQYkgryCE+4XbdPtTpkzBwoULkZ+fD0EQsGfPHmzatAkZGRkAgLKyMrz
vvYuXMnHn30UQBAly5dkJmZiTVr1iAkJAQtW7bEkiVLpHX6+vpi79692Lx5M5599llpfJs2bfD3v/8dSqUSPXr0wOjRo7Fjxw7MmDGj3nVPmDAB27ZtQ0hICDw9PTFw4EA88cQTeP755+Hq6nrP5Xv06AEAyM/Ph1qtrvf2qWYMfWR1lZWVCA4OxuXLtZwH4+mJ/Px8qFTWPw+GiMhaTN2+EZ+OMBuvF/U27/IBgIeHB0aPHo2UlBSIoojRo0fDw8NDmp6bm4uKigoMHz7cbDmdTmd2CHj16tVYv349zp07h/Lycuh0OvTp08dsmZ49e0KpVErDXl5eOHr0qDQcHR2Nf/7zn9LwzZs3MXLkSLNlcnNzodVqoVQqkZSUhGXLlmHnzp3Yv38/3n77
zzzjs4cOAAvLy8av3eoigCgM33r9ww9JHVOTg4QKvVori4uNoJuwCgUCig0WiqnddBRNQY3d3ta6gun0lUVBRmzZoFAPjoo4/Mppn+jf3+++/RqVMns2mm/1Rv3rwZ8+bNw4oVK/Doo4/CxcUF7777LrKysszmb9mypdmwIAhm/4YvXboUCxYskIZDQ0PxzjvvYMCAAdK4jh07mq2jU6dOmDJlCqZMmYJly5ahW7duWL16tVnnsSZ5eXkAjBeLkPUw9JHVCYKA+Ph4jBgxosbpBoMB8fG2/x8yEZE13N3ta6gun8mIESOg0+kAABEREWbTAgMDoVKpcP78eYSEhNS4/O7duzFo0CDExMRI406fPl3vOtRqtdmh1hYtWqBTp07w9/ev0/Jt2rSBl5cXysrKap2vvLwca9euxWOPPYb27dvXu06yjKGPbCI8PBzBwcHIycmBXn/HeTBKJYKCghAe3jD/QyYisgZTty/7YjaCOwY3WJcPMP67aep83XkoFQBcXFywYMECzJs3DwaDAUOGDEFJSQn27t0LZ2dnTJ06Ff7+/ti4cSO2bdsGX19ffPLJJ8jOzoavr6/Nal6zZg2OHDmCp556Cn5+fqioqMDGjRtx7Ngx/O1vfzObt6ioCBUVFbhx4wYOHTqE5cuX48qVK2ZXLZN1MPSRTVjq9un1enb5iKjJEQQBCU8kYM6Pc5DwREKD/xtW28UP8fHxUKvVSExMxJkzZ+Du7o6goCAsWrQIgPFcvCNHjmDixIkQBAGTJk1CTEwMfvzxR5vV279/f2RmZiI6OhoXL16Es7MzevbsiS1btlTrSHbv3h2CIMDZ2RldunRBeHg45s+fD09PT5vVJ1eCaDpbkszk5eUhMDAQubm5CAgIsHc5TZIoihgwYIDU7TN1+bKyshj6iMjmKioqcPbsWfj6+qJVq1b2LoesqLafLX9/W8b79JHNmLp9psO77PIRERHZD0Mf2ZTp3D4ACA4O5rl8REREdsLQRzYlCAISEhIQEBCAhISGPw+GiIiIjHghB9ncsGHDkJuba+8yiIiIZI2dPiIiIiIZYOgjIiIikgEe3r2tsrISlZWV0nBpaakdqyEiIiKyLnb6bktMTISbm5v06t+/v71LIiIiIrIahr7bFi5ciOvXr0uvAwcO2LskIiIiIqvh4d3bVCoVVCqVNOzs7GzHaoiIiIisi50+IiKiRiYyMhKCICA6O
atJiYGAiCgMjIyIYv7C6HDx/GH/7wB6jVarRq1Qo+Pj6YOHEirly5AgDIz8+HIAjSy8XFBT179sTMmTNx8uRJO1cvPwx9REREdZB2Jg2BHwUi7Uxag2xPo9Fg06ZNKC8vl8ZVVFTg888/h1a
ZAaalNUVIRhw4bBw8MD27ZtQ15eHjZs2AAvLy/cvHnTbN60tDQUFhbiX
6FxISEpCXl4fevXtjx44ddqpenhj6iIiI7kEURSzasQh5V/KwaMciiKJo820GBQVBq9UiNTVVGpeamgqNRoO+ffua1bZ8+XJ06dIFjo6O6N27N7788ktpul6vxwsvvABfX184Ojqie/fu+Otf/2q2rcjISIwbNw7vvfcevLy80K5dO8ycORO3bt2yWN/evXtRUlKC9evXo2/fvvD19cXjjz+OlStXVgul7dq1g6enJ7p06YKxY8ciLS0NAwYMwAsvvCA9n51sj6GPiIjoHraf3o7si9kAgOyL2dh+enuDbHfatGlISkqShjds2ICoqCized58800kJSVh1apVOHbsGObNm4fJkydj165dAACDwQBvb29s3rwZubm5WLx4MRYtWoTNmze
Sc9PR2nT59Geno6UlJSkJycjOTkZIu1eXp6oqqqCl9
XW9Q7BCocDcuXNx7tw5HDp0qF7L0v1j6CMiIqqFKIqITY+FUlACAJSCErHpsQ3S7ZsyZQoyMzORn5+Pc+fOYc+ePZg8ebI0vaysDO+
z42bNiAiIgIdOnSBZGRkZg8eTLWrFkDAGjZsiWWLFmC4OBg+Pr64rnnnkNkZGS10NemTRv8/e9/R48ePfCHP/wBo0ePrvXw68CBA7Fo0SL83
9Hzw8PDBy5Ei8++67uHz5cp2+W48ePQAYz/ujhsHQR0REVAtTl08vGg9D6kV9g3X7PDw8MHr0aKSkpCApKQmjR4+Gh4eHND03NxcVFRUYPnw4nJ2dpdfGjRtx+vRpab7Vq1ejX79+aN++PZydnbFu3TqcP3/ebFs9e/aEUqmUhr28vFBUVAQASEhIMFu/adm3334bly5dwurVqxEYGIjVq1ejR48eOHr06D2/myk0C4Jw/zuI6oW3bCEiIrLgzi6fKfQB/+v2hfuF2zy0REVFYdasWQCAjz76yGyawWAAAHz
ffo1KmT2TTTbcg2b96MefPmYcWKFXj00Ufh4uKCd999F1lZWWbzt2zZ0mxYEARp/dHR0Xj22WelaR07dpQ+t2vXDhMmTMCECROQmJiIvn374r333kNKSkqt3ysvLw8A4OvrW/sOIKth6CMiIrLgznP57nRnty/CP8KmNYwYMQI6nQ4AEBFhvq3AwECoVCqcP38eISEhNS6/e/duDBo0CDExMdK4O7uAddG2bVu0bdv2nvM5ODjAz88PZWVltc5nMBjw4YcfwtfX1+yiFLIthj4iIqIamLp8CihggKHadAUUDdLtUyqVUlfszsOvAODi4oIFCxZg3rx5MBgMGDJkCEpKSrB37144Oztj6tSp8Pf3x8aNG7Ft2zb4+vrik08+QXZ29gN32LZu3YpNmzbhj3/8I7p16wZRFPHdd9/hhx9+MLv4BAB+
13XLp0CTdv3sRvv/2GlStX4sCBA/j++++rfSeyHYY+IiKiGuj0Opy/fr7GwAcABhhQUFIAnV4HVQtVjfNYi6urq8Vp8fHxUKvVSExMxJkzZ+Du7o6goCAsWrQIgPHQ7JEjRzBx4kQIgoBJkyYhJiYGP/744wPVFBgYCCcnJ7zyyisoKCiASqVC165dsX79ekyZMsVs3mHDhgEAnJyc0LlzZ4SFhWHt2rXw9/d/oBqofgSxIS4/aoLy8vIQGBiI3NxcBAQE2LscIiKqp4qKCpw9exa+vr5o1arVfa2j4HoBim8WW5yubq2Gt6v3/ZZI96m2ny1/f1vGTh8REZEFGjcNNG4ae5dBZBW8ZQsRERGRDDD0EREREckAQx8RERGRDPCcPiIiImp2SktLUVJSIg2rVCrphtVyxU4fERERNTv9+/eHm5ub9EpMTLR3SXbHTh8RERE1OwcOHED37t2lYbl3+QCGPiIiImqGnJ2da72ptRzx8C4RERGRDDD0ERERyUxGRgYEQcC1a9cAAMnJyXB3d7drTWR7DH1ERESNTGRkJARBQHR0dLVpMTExEAQBkZGRVtvexIkT8e9
9tq66PGiaGPiIjIgrg4ID6+5mnx8cbptqLRaLBp0yaUl5dL4yoqKvD5559Dq9VadVuOjo5Qq9VWXSc1Pgx9REREFiiVwOLF1YNffLxxvFJpu20HBQVBq9UiNTVVGpeamgqNRoO+fftK40RRxPLly9GlSxc4Ojqid+/e+PLLL83W9cMPP6Bbt25wdHREWFgY8vPzzabffXj39OnTGDt2LDp06ABnZ2cEBwcjLS3NbBkfHx8kJCQgKioKLi4u0Gq1WLt2rfV2AFkdQx8REZEFsbHA0qXmwc8U+JYuNU63pWnTpiEpKUka3rBhA6KioszmefPNN5GUlIRVq1bh2LFjmDdvHiZPnoxdu3YBAAoKCjB+/HiMGjUKR44cwfTp0/H666/Xut3S0lKMGjUKaWlpOHz4MCIiIjBmzBicP3/ebL4VK1agX79+OHz4MGJiYvDyyy/j+PHjVvr2ZHUi1Sg3N1cEIObm5tq7FCIiug/l5eVibm6uWF5e/sDrWrpUFAFRdHAwvi9daoUCazF16lRx7NixYnFxsahSqcSzZ8+K+fn5YqtWrcTi4mJx7Nix4tSpU8XS0lKxVatW4t69e82Wf+GFF8RJkyaJoiiKCxcuFAMCAkSDwSBNf+2110QA4tWrV0VRFMWkpCTRzc2t1poCAwPFv/3tb9Jw586dxcmTJ0vDBoNBVKvV4qpVqx7w299
T9
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
0afzf
0funTpAldXV/j6+gIAzp8/L83Tpk0bfPzxx1i1ahX8/Pzw+uuv27x2anx4yxYiIqJamLp9I0aMANBwXT6TqKgozJo1CwDw0UcfVZs+ZswYaDQarFu3Dh07doTBYECvXr2g0+nM5vvll1+gVCpx8eJFlJWVwdXVtUHqp8aDnT4iIqJ7MHX7ADRYl89kxIgR0Ol00Ol0iIiIMJv2+++/Iy8vD2+++SaeeOIJBAQE4OrVq9XWsXfvXixfvhzfffcdXF1dMXv27IYqnxoRdvqIiIjuQRAEJCQkYM6cOUhISGiwLh9gPJycl5cnfb5TmzZt0K5dO6xduxZeXl44f/58tUO3N27cwJQpUzB79myMHDkSWq0W/fr1wx/+8AdMmDChwb4H2R87fURERHUwbNgw5ObmYtiwYQ2+bVdX1xoPxyoUCmzatAmHDh1Cr169MG/ePLz77rtm88ydOxetW7dGQkICAKBnz5545513EB0djQsXLjRI/dQ4CKIoivYuojHKy8tDYGAgcnNzERAQYO9yiIionioqKnD27Fn4+vqiVatW9i6HrKi2ny1/f1tm905fXFwcBEGAj49PvZcVBAGCICA5OdnqdRERERE1J3YPfd7e3hgwYIDZ3cWtzcfHB4IgIC4uzm
ICIiImrM7H4hx/Tp0zF9+nR7l0FERETUrNW507du3ToIggBXV1fpzuSjRo2CIAh45ZVXABhvEGk65JqVlYXKykq89dZb6Nq1K1QqFdRqNaKionDlyhVpvTUd3r169SomTpwIJycnaLVarFq1CqGhoRAEAaGhodVqu379OiIjI+Hq6opOnTph2bJlAID8/HwIgoBz584BAJYsWSLVR0RERCQnde70mcLWjRs3cPToUfTu3Rv79u0DAOzZswcAkJmZCQBwdnbGI488grFjx+KHH36AUqlEz549kZ+fj6SkJGRlZeHgwYNwdHSscVvTp0+XHjDt5OSEP
5z7XWtnDhQri7u0OlUuHixYuIjY3FgAED0KtXLwwYMACHDx+GTqdDp06d4O3tXdevTERERNRs1LnT17VrV3Tq1AmAMdz99ttvuHbtGlxdXZGTk4Py8nIp9A0ZMgR79uzBDz/8AADYuXMn/vWvf+H48eNwdHREbm4uPvvssxq3c
0aSnwLViwAMePH8fBgwdRWVlps
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
adOm4fr169L+lvsD3Ymo8WLok6H
ve/+OmnnzBz5ky0bt262vT6Hqp69dVXkZiYiLy8PDz88MMAgJSUFLRo0QJ79uzBmjVrUFhYiJCQEPTp0wcHDx7ETz/9hMuXL+PZZ581W1dKSgpat26NrKwsLF++HEuXLsXPP/8MwHhoDgCSkpJQWFgoDTeU0NBQpKenS8Pp6ekIDQ1FSEiINF6n02Hfvn0ICwvDtGnTsGfPHmzatAm
vorJkyYgBEjRuDkyZM1rv/TTz/F22+/jXfeeQeHDh2CVqvFqlWrqs2Xnp6O06dPIz09HSkpKUhOTkZycjIAIDU1Fd7e3li6dCkKCwtRWFh4z+9VUVGBRx55BFu3bsVvv/2GF198EVOmTEFWVtZ97CX7OXr0KCIiIjB+/Hj8+uuv+OKLL5CZmYlZs2bVOL/BYMC4cePg5OSErKwsrF27Fm+88UaN877xxhtYsGABjhw5gm7dumHSpEmoqqrCoEGDsHLlSri6ukr7e8GCB
8mkRE908k2cnKyhIBiKmpqRbnOXv2rAhAPHz4sDTu6tWrIgAxPT1dFEVRTE9PFwGIW7ZsMVs2JCRE7NOnj9m42NhYMTw83GxcQUGBCEA8ceKEtNyQIUPM5gkODhZfe+01aRiA+PXXX9f1q1rV2rVrxdatW4u3bt0SS0pKxBYtWoiXL18WN23aJA4aNEgURVHctWuXCEA8deqUKAiCeOHCBbN1PPHEE+LChQtFURTFpKQk0c3NTZo2YMAAcebMmWbzDx48WOzdu7c0PHXqVLFz585iVVWVNG7ChAnixIkTpeHOnTuLH3zwwQN911GjRomvvPLKA63DmqZOnSoqlUqxdevWZq9WrVqJAMSrV6+KU6ZMEV988UWz5Xbv3i0qFAqxvLxcFEXzffPjjz+KLVq0EAsLC6X5f/75Z7M/Y6a/B+vXr5fmOXbsmAhAzMvLE0Wx+s+RiKix4jl9MiTefghLXQ791UW/fv3uOe7QoUNIT0+Hs7NztXlPnz4tnf9m6hSaeHl5oaioyCp1PqiwsDCUlZUhOzsbV69eRbdu3aBWqxESEoIpU6agrKwMGRkZ0Gq1yMnJgSiK1c7rq6ysRLt27Wpc/4kTJxATE2M2rn
ti5c6fZuJ49e0KpVErDXl5eOHr06H1/L71ej7/85S/44osvcOHCBVRWVqKysrLGLrA9hYWFVet8ZmVlYfLkyQCMf8ZOnTqFTz/9VJouiiIMBgPOnj2LgIAAs2VPnDgBjUYDT09PaVz
v1r3Padfy69vLwAAEVFRejRo8eDfSkiogbE0CdDXbt2hSAIyMvLs3j7D4XCeORfvOMpfabzxu5WUzi4e5zBYMCYMWPwzjvvVJvX9EsUAFq2bGk2TRAEGAyGmr9IA/P394e3tzfS09Nx9epVhISEAAA8PT3h6+uLPXv2ID09HY8
jgMBgOUSiUOHTpkFtAA1Bh8Te4O4mINT0m09j5asWIFPvjgA6xcuRIPPfQQWrdujT/96U/Q6XT3vU5baN26Nfz9/c3G/ec
5E+GwwGvPTSS5gzZ061ZbVa
VxoijW+T8+d+5z0zKN5c8lEVFdMfTJUNu2bREREYGPPvoIc+bMqRbQrl27Jl3lWFhYiL59+wLAA92rLCgoCF999RV8fHyqXd1bHy1btoRer7/v5R9UWFgYMjIycPXqVfz5z3+WxoeEhGDbtm3Yv38/pk2bhr59+0Kv16OoqKjaLV0s6d69Ow4cOIApU6ZI4w4ePFjvGh0cHOq1j3bv3o2xY8dKHTODwYCTJ09W64w1dkFBQTh27Fi1YGhJjx49cP78eVy+fBkdOnQAgPs6T7S++5uIyF54IYdM/eMf/4Ber0f
v3x1Vdf4eTJk8jLy8OHH36IRx99FI6Ojhg4cCD+8pe/IDc3F7/88gvefPPN+97ezJkz8d
heTJk3CgQMHcObMGWzfvh1RUVH1+oXp4+ODHTt24NKlS7h69ep913O/wsLCkJmZiSNHjkidPsAY+tatW4eKigqEhYWhW7dueO655/D8888jNTUVZ8+eRXZ2Nt555x388MMPNa579uzZ+Pjjj5GSkoKTJ09i2bJl+PXXX+t9GN7Hxwe
PILLly4YHZ1tCX+/v74+eefsXfvXuTl5eGll17CpUuX6rXNxuC1117Dvn37MHPmTBw5cgQnT57Et99+i9mzZ9c4
Dhw+Hn54epU6fi119/xZ49e6QLOeqzz318fFBaWoodO3bgypUruHnzplW+DxGRtTH0yZSvry9ycnIQFhaGV155Bb169cLw4cOxY8cO6bypDRs24NatW+jXrx/mzp2LZcuW3ff2OnbsiD179kCv1yMiIgK9evXC3Llz4ebmJh1KrosVK1bg559/hkajkTqQDSksLAzl5eXw9/eXukOAMfTduHEDfn5+0Gg0AIxXGT
PN45ZVX0L17dzz55JPIysqSpt/tueeew8KFC7FgwQIEBQXh7NmziIyMRKtWrepV49KlS5Gfnw8/P7863ZcuNjYWQUFBiIiIQGhoKDw9PZvkUz8efvhh7Nq1CydPnsTQoUPRt29fxMbGmp0+cCelUoktW7agtLQUwcHBmD59uvQfm
s80GDBiE6OhoTJ05E+
tsXz5cqt8HyIiaxPEmk4aIqJGYfjw4fD09MQnn3xi71JkYc+ePRgyZAhOnToFPz8/e5dDRGRVPKePqJG4efMmVq9ejYiICCiVSnz++edIS0uT7lNI1vf111/D2dkZXbt2xalTpzB37lwMHjyYgY+ImiUe3qUmrWfPnnB2dq7xdeetO5oCQRDwww8/YOjQoXjkkUfw3Xff4auvvsKwYcMeaL0jR460uI8SEhJqXfb8+fMWl3V2dsb58+cfqDZ7u3HjBmJiYtCjRw9ERkYiODgY33zzjb3LIiKyCR7epSbt3LlzFm8l06FDB7i4uDRwRY3PhQsXUF5eXuO0tm3bom3bthaXraqqQn5+vsXpD3o1NhERNRyGPiIiIiIZ4OFdIiIiIhlg6COb8fHxwcqVK+s8f35+PgRBeKCbQBMREVHNGPrIZrKzs/Hiiy9adZ3Jyclwd3e36jqJiIjkgGdgk83U5cbAVDd6vR6CINTrRtZERER34m8Qknz33Xdwd3eXHiR/5MgRCIJg9ozZl156CZMmTQIA7N27F4899hgcHR2h0WgwZ84clJWVSfPefXj3+PHjGDJkCFq1aoXAwECkpaVBEARs2bLFrI4zZ84gLCwMTk5O6N27N
t2wcAyMjIwLRp03D9+nUIggBBEBAXF2ebnVGLjRs3ol27dqisrDQ
TTT+P5558HYNyXjzzyCFq1aoUuXbpgyZIlqKqqkuZ9
338dBDD6F169bQaDSIiYlBaWmpNN3U0dy6dSsCAwOhUqlw7ty5WuvKzs7G8OHD4eHhATc3N4SEhCAnJ8dsn
8DI4ePYrHH38cjo6OaNeuHV588UWz2oiIqGli6CPJY489hhs3buDw4cMAgF27dsHDwwO7du2S5snIyEBISAiOHj2KiIgIjB8/H
++iu++OILZGZmYtasWTWu22AwYNy4cXByckJWVhbWrl0rPef0bm+88QYWLFiAI0eOoFu3bpg0aRKqqqowaNAgrFy5Eq6urigsLERhYSEWLFhg/R1xDxMmTIBer8e3334rjbty5Qq2bt2KadOmYdu2bZg8eTLmzJmD3NxcrFmzBsnJyXj77bel+RUKBT788EP89ttvSElJwc6dO/Hqq6+abefmzZtITEzE+vXrcezYMajV6l
unHjBqZOnYrdu3dj
796Nq1K0aNGoUbN24AqNvP4ObNmxgxYgTatGmD7Oxs/L
9/+QlpZm8edKRERNiEh0h6CgIPG9994TRVEUx40bJ7799tuig4ODWFJSIhYWFooAxLy8PHHKlCniiy++aLbs7t27RYVCIZaXl4uiKIqdO3cWP/jgA1EURfHHH38UW7RoIRYWFkrz
zzzyIA8euvvxZFURTPnj0rAhDXr18vzXPs2DFpm6IoiklJSaKbm5uNvn3dvfzyy+LIkSOl4ZUrV4pdunQRDQaDOHToUDEhIcFs/k8++UT08vKyuL7NmzeL7dq1k4aTkpJEAOKRI0fuu8aqqirRxcVF/O6770RRrNvPYO3atWKbNm3E0tJSaZ7vv/9eVCgU4qVLl+67FiIisj92+shMaGgoMjIyIIoidu/ejbFjx6JXr17IzMxEeno6OnTogB49euDQoUNITk42ezpDREQEDAYDzp49W229J06cgEajgaenpzSuf
+Ndbw8MMPS5+9vLwAAEVFRVb+pg9mxowZ2L59Oy5cuAAASEpKQmRkJARBwKFDh7B06VKzfTNjxgwUFhbi5s2bAID09HQMHz4cnTp1gouLC55
nn8/vvvZofHHRwczPbFvRQVFSE6OhrdunWDm5sb3NzcUFpaKj01oy4/g7y8PPTu3RutW7eWxg0ePBgGgwEnTpyo/44iIqJGgxdykJnQ0FB8/PHH+Ne
gWFQoHAwECEhIRg165duHr1KkJCQgAYDxW+9NJLmDNnTrV1aLXaauNEUYQgCHWqoWXLltJn0zKm8wwbi759+6J3797YuHEjIiIicPToUXz33XcAjLUuWbIE48ePr7Zcq1atcO7cOYwaNQrR0dGIj49H27ZtkZmZiRdeeMHs6SKOjo513mcAEBkZieLiYqxcuRKdO3eGSqXCo48+Cp1OB6BuP4Pa5qlPLURE1Pgw9JEZ03l9K1euREhICARBQEhICBITE3H16lXMnTsXABAUFIRjx47B39+/Tuvt0aMHzp8/j8uXL6NDhw4AjBce1JeDgwP0en29l7OF6dOn44MPPsCFCxcwbNgwaDQaAMZ9c+LECYv75uDBg6iqqsKKFSukq3E3b978wPXs3r0
jHPzBq1CgAQEFBAa5cuSJNr8vPIDAwECkpKSgrK5O6fXv27IFCoUC3bt0euEYiIrIfHt4lM25ubujTpw/++c9/IjQ0FIAxCObk5ODf
63NO61117Dvn37MHPmTBw5cgQnT57Et99+i9mzZ9e43uHDh8PPzw9Tp07Fr7/+ij179kgXEdSng+Tj44PS0lLs2LEDV65ckQ6X2sNzzz2HCxcuYN26dYiKipLGL168GBs3bkRcXByOHTuGvLw8fPHFF3jzzTcBAH5+fqiqqsLf/vY3nDlzBp988glWr179wPX4+/vjk08+QV5eHrKysvDcc8/B0dFRml6Xn8Fzzz2HVq1aYerUqfjtt9+Qnp6O2bNnY8qUKVJQJCKipomhj6oJCwuDXq+XAl6bNm0QGBiI9u3bIyAgAIDxvLtdu3bh5MmTGDp0KPr27YvY2FjpHLy7KZVKbNmyBaWlpQgODsb06dOlENSqVas61zZo0CBER0dj4sSJaN++PZYvX/5gX/YBuLq64umnn4azszPGjRsnjY+IiMDWrVvx888/Izg4GAMHDsT777+Pzp07AwD69OmD999/H++88w569eqFTz/9FImJiQ9cz4YNG3D16lX07dsXU6ZMwZw5c8yu+K3Lz8DJyQnbtm3Df
7XwQHB+OZZ57BE088g
e8PXB8REdmXIIqiaO8iSJ727NmDIUOG4NSpU/Dz87N3Ofdl+PDhCAgIwIcffmjvUu5Lc/gZEBFR3TD0UYP5+uuv4ezsjK5du+LUqVOYO3cu2rRpg8zMTHuXVm
e9/sX37djz33HPIzc1F9+7d7V1SnTSnnwEREdUPL+SgBnPjxg28+uqrKCgogIeHB4YNG4YVK1bYu6z7EhQUhKtXr+Kdd95psMDn7OxscdqPP/6IoUOH3nMdzelnQERE9cNOH1ETcerUKYvTOnXqZHbRBhER0d0Y+oiIiIhkgFfvEhEREckAQx8RERGRDDD0EREREckAQx8RERGRDDD0EREREckAQx8RERGRDDD0EREREcnA/wfG9q9hJ12XkwAAAABJRU5ErkJggg==\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"from textwrap import wrap\n",
"import numpy as np\n",
"plt.rcParams.update(plt.rcParamsDefault)\n",
"\n",
"fig, ax1 = plt.subplots()\n",
"\n",
"# wrap the x-axis label in the format as given in example\n",
"label1 = [ '\\n'.join(wrap(\"Cu
ent_weight\", 8)) ]\n",
"label2 = [ '\\n'.join(wrap(\"Weight_a_year_ago\", 9)) ]\n",
"\n",
"# plot the summary statistics of variable height\n",
"# the individual datapoints are provided with custom markers- colors and shape as in the example figure.\n",
"ax1.plot(label1, wgt_ss['mean'], 'b+') # Plot mean of variable weight with blue + marker\n",
"ax1.plot(label1, wgt_ss['std'], 'yo') # Plot standard deviation of variable weight with yellow circle\n",
"ax1.plot(label1, wgt_ss['mean'] + wgt_ss['std'], 'gv') # Plot mean + sd of variable weight with green lower triangle marker\n",
"ax1.plot(label1, wgt_ss['mean'] - wgt_ss['std'], 'g^') # Plot mean - sd of variable weight with green upper triangle marker\n",
"ax1.plot(label1, wgt_ss['50%'], 'bx') # Plot median of variable weight with blue x marker\n",
"ax1.plot(label1, wgt_ss['75%'], 'rv') # Plot 75% value of variable weight with red lower trianlge marker\n",
"ax1.plot(label1, wgt_ss['25%'], 'r^') # Plot 75% value of variable weight with red lower trianlge marker# Plot 75% value of variable height with red lower trianlge marker\n",
"ax1.plot(label1, wgt_ss['max'], 'kv') # Plot max value of variable weight with black lower triangle marker\n",
"ax1.plot(label1, wgt_ss['min'], 'k^') # Plot min of variable weight with black upper triangle marker\n",
"\n",
"ax1.plot(label2, wgt_yr_ss['mean'], 'b+') # Plot mean of variable last year weight with blue + marker\n",
"ax1.plot(label2, wgt_yr_ss['std'], 'yo') # Plot standard deviation of variable last year weight with yellow circle\n",
"ax1.plot(label2, wgt_yr_ss['mean'] + wgt_ss['std'], 'gv') # Plot mean + sd of variable last year weight with green lower triangle marker\n",
"ax1.plot(label2, wgt_yr_ss['mean'] - wgt_ss['std'], 'g^') # Plot mean - sd of variable last year weight with green upper triangle marker\n",
"ax1.plot(label2, wgt_yr_ss['50%'], 'bx') # Plot median of variable last year weight with blue x marker\n",
"ax1.plot(label2, wgt_yr_ss['75%'], 'rv') # Plot 75% value of variable last year weight with red lower trianlge marker\n",
"ax1.plot(label2, wgt_yr_ss['25%'], 'r^') # Plot 25% value of variable last year weight with red upper triangle marker\n",
"ax1.plot(label2, wgt_yr_ss['max'], 'kv') # Plot max value of variable last year weight with black lower triangle marker\n",
"ax1.plot(label2, wgt_yr_ss['min'], 'k^') # Plot min of variable last year weight with black upper triangle marker\n",
"\n",
"\n",
"ax1.set_ylabel('weight', fontweight='bold',rotation=0,labelpad=25) # X axis label is bolded and made horizontal\n",
"\n",
"ax2 = ax1.twiny() # create a twin Y axis\n",
" \n",
"ax2.plot(\"Height\", hgt_ss['mean'], 'b+', label = 'Mean') # Plot mean of variable height with blue + marker\n",
"ax2.plot(\"Height\", hgt_ss['std'], 'yo', label = 'STD') # Plot standard deviation of variable height with yellow circle\n",
"ax2.plot(\"Height\", hgt_ss['mean'] + wgt_ss['std'], 'gv', label = 'Mean+SD') # Plot mean + sd of variable height with green lower triangle marker\n",
"ax2.plot(\"Height\", hgt_ss['mean'] - wgt_ss['std'], 'g^', label = 'Mean-SD') # Plot mean - sd of variable height with green upper triangle marker\n",
"ax2.plot(\"Height\", hgt_ss['50%'], 'bx', label = 'Median' ) # Plot median of variable height with blue x marker\n",
"ax2.plot(\"Height\", hgt_ss['75%'], 'rv', label = '75%') # Plot 75% value of variable height with red lower trianlge marker\n",
"ax2.plot(\"Height\", hgt_ss['25%'], 'r^', label = '25%') # Plot 25% value of variable height with red lower trianlge marker\n",
"ax2.plot(\"Height\", hgt_ss['max'], 'kv', label = 'Max') # Plot max value of variable height with black lower triangle marker\n",
"ax2.plot(\"Height\", hgt_ss['min'], 'k^', label = 'Min') # Plot min of variable height with black upper triangle marker\n",
"# necessary labels are added for legend\n",
"\n",
"ax2.xaxis.tick_bottom() #X axis label of second y axis is formaated\n",
"ax2.legend() # legend information added \n",
"\n",
"\n",
"ax1.axis([-1, 5, 0, 375]) # X axis location and Y axis limits are defined for weight axis plot\n",
"ax2.axis([-5, 5, 0, 375]) # X axis location and Y axis limits are defined for second 'height' axis plot\n",
"\n",
"rng = np.arange(0, 375, 75) # y ticks range defined\n",
"ax1.set_yticks(rng) # Y ticks set for weight axis plots\n",
"\n",
"\n",
"\n",
"ax2 = ax1.twinx() # second Y axis ticks and values generated\n",
"ax2.set_ylabel('height', fontweight='bold',rotation=0,labelpad=25) # second Y axis label generated and rotated\n",
"ax2.set_yticks(rng)\n",
"\n",
"plt.setp( ax1.get_yticklabels(), visible=False) # Y axis tick values removed only ticks are visible\n",
"plt.setp( ax2.get_yticklabels(), visible=False) # Y axis tick values removed only ticks are visible for second y axis\n",
"\n",
"\n",
"plt.savefig(\"test.svg\") # plot is saved as 'test.svg' in the working directory set above\n",
"\n",
"plt.show() # generated plot is displayed\n"
]
},
{
"cell_type": "markdown",
"id": "7743956b",
"metadata": {},
"source": [
"## Task 2 (15 marks): Calculate co
elation"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "ee789df2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Unnamed: 0 age weight2 wtyrago wtkg2 htm3 sex weight_change\n",
"0 0 39.0 88.636364 88.636364 88.64 180.0 1 0.000000\n",
"1 1 64.0 75.000000 84.545455 75.00 155.0 2 -9.545455\n",
"3 3 51.0 100.000000 100.000000 100.00 183.0 1 0.000000\n",
"4 4 35.0 63.636364 61.363636 63.64 170.0 2 2.272727\n",
"5 5 62.0 70.454545 70.454545 70.45 173.0 2 0.000000\n",
"Co
elation between weight change and cu
ent weight: 0.03413217522408281\n",
"Co
elation between weight change and weight a year ago: -0.31911696303346493\n",
"Co
elation between weight change and age: -0.06867582903526576\n",
"Co
elation between weight change and weight a year ago: -0.31911696303346493 is the most co
elated\n"
]
}
],
"source": [
"# weight change variable is calculated\n",
"\n",
"dat['weight_change'] = dat['weight2'] - dat['wtyrago'] # new weight change variable column is computed\n",
"\n",
"print(dat.head(n= 5)) # new dataframe with added column for 'weight change'\n",
"\n",
"dat = dat.dropna()\n",
"\n",
"# co
elation between weight_change and cu
ent weight\n",
"co
1 = dat['weight2'].co
(dat['weight_change'])\n",
"print('Co
elation between weight change and cu
ent weight: ' + str(co
1))\n",
"\n",
"# co
elation between weight_change and weight_a_year_ago\n",
"co
2 = dat['wtyrago'].co
(dat['weight_change'])\n",
"print('Co
elation between weight change and weight a year ago: ' + str(co
2))\n",
"\n",
"# co
elation between weight_change and age\n",
"co
3 = dat['age'].co
(dat['weight_change'])\n",
"print('Co
elation between weight change and age: ' + str(co
3))\n",
"\n",
"print('Co
elation between weight change and weight a year ago: ' + str(co
2) + ' is the most co
elated')\n"
]
},
{
"cell_type": "markdown",
"id": "0f2e1075",
"metadata": {},
"source": [
"#### Plot the co
elation relation using scatterplot"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "c4ca4fc1",
"metadata": {},
"outputs": [
{
"name": "stde
",
"output_type": "stream",
"text": [
"The PostScript backend does not support transparency; partially transparent artists will be rendered opaque.\n",
"The PostScript backend does not support transparency; partially transparent artists will be rendered opaque.\n"
]
},
{
"data": {
"image/png":...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here