{ "cells": [ { "cell_type": "markdown", "id": "aa71a4bf", "metadata": {}, "source": [ "# Homework 2 - Chapter 14" ] }, { "cell_type": "markdown", "id": "d8b5aac0", "metadata": {}, "source": [ "- Due Date: ?? no later than 11:59 p.m.\n", "- Partner Information: You must complete this assignment individually.\n", "- Submission Instructions: Upload your solution, entitled **YourFirstName-YourLastName-Homework2.ipynb** to the \n", "BrightSpace Homework 2 Dropbox.\n", "- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your submission and you will no longer be able to earn credit. \n", "Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned." ] }, { "cell_type": "markdown", "id": "98f2e2cf", "metadata": {}, "source": [ "## Starting Code" ] }, { "cell_type": "code", "execution_count": 97, "id": "597dfa74", "metadata": {}, "outputs": [], "source": [ "from datascience import *\n", "import numpy as np\n", "import matplotlib.pyplot as plots\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "id": "275f006d", "metadata": {}, "source": [ "Download the file [top_10_spotify_2025.csv]() into the same directory as this Jupyter notebook." ] }, { "cell_type": "code", "execution_count": 98, "id": "8b8cedc4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
name | artists | daily_rank | country | danceability | \n", "
---|---|---|---|---|
What I Want (feat. Tate McRae) | Morgan Wallen, Tate McRae | 1 | US | 0.657 | \n", "
Just In Case | Morgan Wallen | 2 | US | 0.649 | \n", "
Ordinary | Alex Warren | 3 | US | 0.368 | \n", "
I Got Better | Morgan Wallen | 4 | US | 0.598 | \n", "
undressed | sombr | 5 | US | 0.642 | \n", "
back to friends | sombr | 6 | US | 0.436 | \n", "
luther (with sza) | Kendrick Lamar, SZA | 7 | US | 0.707 | \n", "
NOKIA | Drake | 8 | US | 0.537 | \n", "
I'm The Problem | Morgan Wallen | 9 | US | 0.549 | \n", "
BIRDS OF A FEATHER | Billie Eilish | 10 | US | 0.747 | \n", "
... (2771 rows omitted)
" ], "text/plain": [ "name | artists | daily_rank | country | danceability\n", "What I Want (feat. Tate McRae) | Morgan Wallen, Tate McRae | 1 | US | 0.657\n", "Just In Case | Morgan Wallen | 2 | US | 0.649\n", "Ordinary | Alex Warren | 3 | US | 0.368\n", "I Got Better | Morgan Wallen | 4 | US | 0.598\n", "undressed | sombr | 5 | US | 0.642\n", "back to friends | sombr | 6 | US | 0.436\n", "luther (with sza) | Kendrick Lamar, SZA | 7 | US | 0.707\n", "NOKIA | Drake | 8 | US | 0.537\n", "I'm The Problem | Morgan Wallen | 9 | US | 0.549\n", "BIRDS OF A FEATHER | Billie Eilish | 10 | US | 0.747\n", "... (2771 rows omitted)" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "spotify = Table().read_table('top_10_spotify_2025.csv')\n", "spotify" ] }, { "cell_type": "markdown", "id": "00af1fec", "metadata": {}, "source": [ "*Danceability* is a metric Spotify has developed that determines how easy it is to dance to a certain song. It is recorded on a scale of 0 - 1, with 0 being the least \"danceable\", and 1 being the most danceable. The selected dataset contains the top 10 songs in the United States and France everyday from the beginning of 2025 until the date the assignment was created.\n", "\n", "We will use the *danceability* metric to analyze how means change when sampling, and introduce one of the most important ideas in statistics: The **Central Limit Theorem**." ] }, { "cell_type": "markdown", "id": "afe37e2f", "metadata": {}, "source": [ "## Question 1a - 1 Point" ] }, { "cell_type": "markdown", "id": "071e47e7", "metadata": {}, "source": [ "One of the first steps in many statistical analyses is to visualize the data. This helps us get a basic idea on some of the measures we will use in an experiment. Using a Histogram, plot the *danceability* column of the **spotify** table. The histogram should have 20 bins ranging from 0 to 1. Plot a vertical red line at the mean of the data on the x-axis, and extend it from 0 to 3 on the y-axis. (Hint: check the [plots.vline()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.vlines.html) documentation)" ] }, { "cell_type": "code", "execution_count": 99, "id": "4143ac2c", "metadata": {}, "outputs": [], "source": [ "# Place Answer Here" ] }, { "cell_type": "code", "execution_count": 100, "id": "ffc72771", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "