Skip to content

Instantly share code, notes, and snippets.

@adeways2000
Created March 28, 2021 16:07
Show Gist options
  • Select an option

  • Save adeways2000/c76f039a603c332fadc57d148ff1ac3e to your computer and use it in GitHub Desktop.

Select an option

Save adeways2000/c76f039a603c332fadc57d148ff1ac3e to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "<center>\n <img src=\"https://gitlab.com/ibm/skills-network/courses/placeholder101/-/raw/master/labs/module%201/images/IDSNlogo.png\" width=\"300\" alt=\"cognitiveclass.ai logo\" />\n</center>\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# **Data Visualization Lab**\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Estimated time needed: **45 to 60** minutes\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "In this assignment you will be focusing on the visualization of data.\n\nThe data set will be presented to you in the form of a RDBMS.\n\nYou will have to use SQL queries to extract the data.\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Objectives\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "In this lab you will perform the following:\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "- Visualize the distribution of data.\n\n- Visualize the relationship between two features.\n\n- Visualize composition of data.\n\n- Visualize comparison of data.\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "<hr>\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Demo: How to work with database\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Download database file.\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "!wget https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBM-DA0321EN-SkillsNetwork/LargeData/m4_survey_data.sqlite\n ",
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": "--2021-03-24 10:24:14-- https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBM-DA0321EN-SkillsNetwork/LargeData/m4_survey_data.sqlite\nResolving cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)... 169.63.118.104\nConnecting to cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)|169.63.118.104|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 36679680 (35M) [application/octet-stream]\nSaving to: \u2018m4_survey_data.sqlite\u2019\n\nm4_survey_data.sqli 100%[===================>] 34.98M 23.7MB/s in 1.5s \n\n2021-03-24 10:24:17 (23.7 MB/s) - \u2018m4_survey_data.sqlite\u2019 saved [36679680/36679680]\n\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Connect to the database.\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "import sqlite3\nconn = sqlite3.connect(\"m4_survey_data.sqlite\") # open a database connection",
"execution_count": 3,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Import pandas module.\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "import pandas as pd\nimport numpy as np",
"execution_count": 4,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Demo: How to run an sql query\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# print how many rows are there in the table named 'master'\nQUERY = \"\"\"\nSELECT COUNT(*)\nFROM master\n\"\"\"\n\n# the read_sql_query runs the sql query and returns the data as a dataframe\ndf = pd.read_sql_query(QUERY,conn)\ndf.head()",
"execution_count": 5,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 5,
"data": {
"text/plain": " COUNT(*)\n0 11398",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>COUNT(*)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>11398</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Demo: How to list all tables\n"
},
{
"metadata": {
"scrolled": true
},
"cell_type": "code",
"source": "# print all the tables names in the database\nQUERY = \"\"\"\nSELECT name as Table_Name FROM\nsqlite_master WHERE\ntype = 'table'\n\"\"\"\n# the read_sql_query runs the sql query and returns the data as a dataframe\npd.read_sql_query(QUERY,conn)\n",
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 6,
"data": {
"text/plain": " Table_Name\n0 EduOther\n1 DevType\n2 LastInt\n3 JobFactors\n4 WorkPlan\n5 WorkChallenge\n6 LanguageWorkedWith\n7 LanguageDesireNextYear\n8 DatabaseWorkedWith\n9 DatabaseDesireNextYear\n10 PlatformWorkedWith\n11 PlatformDesireNextYear\n12 WebFrameWorkedWith\n13 WebFrameDesireNextYear\n14 MiscTechWorkedWith\n15 MiscTechDesireNextYear\n16 DevEnviron\n17 Containers\n18 SOVisitTo\n19 SONewContent\n20 Gender\n21 Sexuality\n22 Ethnicity\n23 master",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Table_Name</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>EduOther</td>\n </tr>\n <tr>\n <th>1</th>\n <td>DevType</td>\n </tr>\n <tr>\n <th>2</th>\n <td>LastInt</td>\n </tr>\n <tr>\n <th>3</th>\n <td>JobFactors</td>\n </tr>\n <tr>\n <th>4</th>\n <td>WorkPlan</td>\n </tr>\n <tr>\n <th>5</th>\n <td>WorkChallenge</td>\n </tr>\n <tr>\n <th>6</th>\n <td>LanguageWorkedWith</td>\n </tr>\n <tr>\n <th>7</th>\n <td>LanguageDesireNextYear</td>\n </tr>\n <tr>\n <th>8</th>\n <td>DatabaseWorkedWith</td>\n </tr>\n <tr>\n <th>9</th>\n <td>DatabaseDesireNextYear</td>\n </tr>\n <tr>\n <th>10</th>\n <td>PlatformWorkedWith</td>\n </tr>\n <tr>\n <th>11</th>\n <td>PlatformDesireNextYear</td>\n </tr>\n <tr>\n <th>12</th>\n <td>WebFrameWorkedWith</td>\n </tr>\n <tr>\n <th>13</th>\n <td>WebFrameDesireNextYear</td>\n </tr>\n <tr>\n <th>14</th>\n <td>MiscTechWorkedWith</td>\n </tr>\n <tr>\n <th>15</th>\n <td>MiscTechDesireNextYear</td>\n </tr>\n <tr>\n <th>16</th>\n <td>DevEnviron</td>\n </tr>\n <tr>\n <th>17</th>\n <td>Containers</td>\n </tr>\n <tr>\n <th>18</th>\n <td>SOVisitTo</td>\n </tr>\n <tr>\n <th>19</th>\n <td>SONewContent</td>\n </tr>\n <tr>\n <th>20</th>\n <td>Gender</td>\n </tr>\n <tr>\n <th>21</th>\n <td>Sexuality</td>\n </tr>\n <tr>\n <th>22</th>\n <td>Ethnicity</td>\n </tr>\n <tr>\n <th>23</th>\n <td>master</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Demo: How to run a group by query\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "QUERY = \"\"\"\nSELECT Age,COUNT(*) as count\nFROM master\ngroup by age\norder by age\n\"\"\"\npd.read_sql_query(QUERY,conn)",
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 7,
"data": {
"text/plain": " Age count\n0 NaN 287\n1 16.0 3\n2 17.0 6\n3 18.0 29\n4 19.0 78\n5 20.0 109\n6 21.0 203\n7 22.0 406\n8 23.0 581\n9 24.0 679\n10 25.0 738\n11 26.0 720\n12 27.0 724\n13 28.0 787\n14 29.0 697\n15 30.0 651\n16 31.0 531\n17 32.0 489\n18 33.0 483\n19 34.0 395\n20 35.0 393\n21 36.0 308\n22 37.0 280\n23 38.0 279\n24 39.0 232\n25 40.0 187\n26 41.0 136\n27 42.0 162\n28 43.0 100\n29 44.0 95\n30 45.0 85\n31 46.0 66\n32 47.0 68\n33 48.0 64\n34 49.0 66\n35 50.0 57\n36 51.0 29\n37 52.0 41\n38 53.0 32\n39 54.0 26\n40 55.0 13\n41 56.0 16\n42 57.0 11\n43 58.0 12\n44 59.0 11\n45 60.0 2\n46 61.0 10\n47 62.0 5\n48 63.0 7\n49 65.0 2\n50 66.0 1\n51 67.0 1\n52 69.0 1\n53 71.0 2\n54 72.0 1\n55 99.0 1",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Age</th>\n <th>count</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>NaN</td>\n <td>287</td>\n </tr>\n <tr>\n <th>1</th>\n <td>16.0</td>\n <td>3</td>\n </tr>\n <tr>\n <th>2</th>\n <td>17.0</td>\n <td>6</td>\n </tr>\n <tr>\n <th>3</th>\n <td>18.0</td>\n <td>29</td>\n </tr>\n <tr>\n <th>4</th>\n <td>19.0</td>\n <td>78</td>\n </tr>\n <tr>\n <th>5</th>\n <td>20.0</td>\n <td>109</td>\n </tr>\n <tr>\n <th>6</th>\n <td>21.0</td>\n <td>203</td>\n </tr>\n <tr>\n <th>7</th>\n <td>22.0</td>\n <td>406</td>\n </tr>\n <tr>\n <th>8</th>\n <td>23.0</td>\n <td>581</td>\n </tr>\n <tr>\n <th>9</th>\n <td>24.0</td>\n <td>679</td>\n </tr>\n <tr>\n <th>10</th>\n <td>25.0</td>\n <td>738</td>\n </tr>\n <tr>\n <th>11</th>\n <td>26.0</td>\n <td>720</td>\n </tr>\n <tr>\n <th>12</th>\n <td>27.0</td>\n <td>724</td>\n </tr>\n <tr>\n <th>13</th>\n <td>28.0</td>\n <td>787</td>\n </tr>\n <tr>\n <th>14</th>\n <td>29.0</td>\n <td>697</td>\n </tr>\n <tr>\n <th>15</th>\n <td>30.0</td>\n <td>651</td>\n </tr>\n <tr>\n <th>16</th>\n <td>31.0</td>\n <td>531</td>\n </tr>\n <tr>\n <th>17</th>\n <td>32.0</td>\n <td>489</td>\n </tr>\n <tr>\n <th>18</th>\n <td>33.0</td>\n <td>483</td>\n </tr>\n <tr>\n <th>19</th>\n <td>34.0</td>\n <td>395</td>\n </tr>\n <tr>\n <th>20</th>\n <td>35.0</td>\n <td>393</td>\n </tr>\n <tr>\n <th>21</th>\n <td>36.0</td>\n <td>308</td>\n </tr>\n <tr>\n <th>22</th>\n <td>37.0</td>\n <td>280</td>\n </tr>\n <tr>\n <th>23</th>\n <td>38.0</td>\n <td>279</td>\n </tr>\n <tr>\n <th>24</th>\n <td>39.0</td>\n <td>232</td>\n </tr>\n <tr>\n <th>25</th>\n <td>40.0</td>\n <td>187</td>\n </tr>\n <tr>\n <th>26</th>\n <td>41.0</td>\n <td>136</td>\n </tr>\n <tr>\n <th>27</th>\n <td>42.0</td>\n <td>162</td>\n </tr>\n <tr>\n <th>28</th>\n <td>43.0</td>\n <td>100</td>\n </tr>\n <tr>\n <th>29</th>\n <td>44.0</td>\n <td>95</td>\n </tr>\n <tr>\n <th>30</th>\n <td>45.0</td>\n <td>85</td>\n </tr>\n <tr>\n <th>31</th>\n <td>46.0</td>\n <td>66</td>\n </tr>\n <tr>\n <th>32</th>\n <td>47.0</td>\n <td>68</td>\n </tr>\n <tr>\n <th>33</th>\n <td>48.0</td>\n <td>64</td>\n </tr>\n <tr>\n <th>34</th>\n <td>49.0</td>\n <td>66</td>\n </tr>\n <tr>\n <th>35</th>\n <td>50.0</td>\n <td>57</td>\n </tr>\n <tr>\n <th>36</th>\n <td>51.0</td>\n <td>29</td>\n </tr>\n <tr>\n <th>37</th>\n <td>52.0</td>\n <td>41</td>\n </tr>\n <tr>\n <th>38</th>\n <td>53.0</td>\n <td>32</td>\n </tr>\n <tr>\n <th>39</th>\n <td>54.0</td>\n <td>26</td>\n </tr>\n <tr>\n <th>40</th>\n <td>55.0</td>\n <td>13</td>\n </tr>\n <tr>\n <th>41</th>\n <td>56.0</td>\n <td>16</td>\n </tr>\n <tr>\n <th>42</th>\n <td>57.0</td>\n <td>11</td>\n </tr>\n <tr>\n <th>43</th>\n <td>58.0</td>\n <td>12</td>\n </tr>\n <tr>\n <th>44</th>\n <td>59.0</td>\n <td>11</td>\n </tr>\n <tr>\n <th>45</th>\n <td>60.0</td>\n <td>2</td>\n </tr>\n <tr>\n <th>46</th>\n <td>61.0</td>\n <td>10</td>\n </tr>\n <tr>\n <th>47</th>\n <td>62.0</td>\n <td>5</td>\n </tr>\n <tr>\n <th>48</th>\n <td>63.0</td>\n <td>7</td>\n </tr>\n <tr>\n <th>49</th>\n <td>65.0</td>\n <td>2</td>\n </tr>\n <tr>\n <th>50</th>\n <td>66.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>51</th>\n <td>67.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>52</th>\n <td>69.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>53</th>\n <td>71.0</td>\n <td>2</td>\n </tr>\n <tr>\n <th>54</th>\n <td>72.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>55</th>\n <td>99.0</td>\n <td>1</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Demo: How to describe a table\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "table_name = 'master' # the table you wish to describe\n\nQUERY = \"\"\"\nSELECT sql FROM sqlite_master\nWHERE name= '{}'\n\"\"\".format(table_name)\n\ndf = pd.read_sql_query(QUERY,conn)\nprint(df.iat[0,0])",
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
"text": "CREATE TABLE \"master\" (\n\"index\" INTEGER,\n \"Respondent\" INTEGER,\n \"MainBranch\" TEXT,\n \"Hobbyist\" TEXT,\n \"OpenSourcer\" TEXT,\n \"OpenSource\" TEXT,\n \"Employment\" TEXT,\n \"Country\" TEXT,\n \"Student\" TEXT,\n \"EdLevel\" TEXT,\n \"UndergradMajor\" TEXT,\n \"OrgSize\" TEXT,\n \"YearsCode\" TEXT,\n \"Age1stCode\" TEXT,\n \"YearsCodePro\" TEXT,\n \"CareerSat\" TEXT,\n \"JobSat\" TEXT,\n \"MgrIdiot\" TEXT,\n \"MgrMoney\" TEXT,\n \"MgrWant\" TEXT,\n \"JobSeek\" TEXT,\n \"LastHireDate\" TEXT,\n \"FizzBuzz\" TEXT,\n \"ResumeUpdate\" TEXT,\n \"CurrencySymbol\" TEXT,\n \"CurrencyDesc\" TEXT,\n \"CompTotal\" REAL,\n \"CompFreq\" TEXT,\n \"ConvertedComp\" REAL,\n \"WorkWeekHrs\" REAL,\n \"WorkRemote\" TEXT,\n \"WorkLoc\" TEXT,\n \"ImpSyn\" TEXT,\n \"CodeRev\" TEXT,\n \"CodeRevHrs\" REAL,\n \"UnitTests\" TEXT,\n \"PurchaseHow\" TEXT,\n \"PurchaseWhat\" TEXT,\n \"OpSys\" TEXT,\n \"BlockchainOrg\" TEXT,\n \"BlockchainIs\" TEXT,\n \"BetterLife\" TEXT,\n \"ITperson\" TEXT,\n \"OffOn\" TEXT,\n \"SocialMedia\" TEXT,\n \"Extraversion\" TEXT,\n \"ScreenName\" TEXT,\n \"SOVisit1st\" TEXT,\n \"SOVisitFreq\" TEXT,\n \"SOFindAnswer\" TEXT,\n \"SOTimeSaved\" TEXT,\n \"SOHowMuchTime\" TEXT,\n \"SOAccount\" TEXT,\n \"SOPartFreq\" TEXT,\n \"SOJobs\" TEXT,\n \"EntTeams\" TEXT,\n \"SOComm\" TEXT,\n \"WelcomeChange\" TEXT,\n \"Age\" REAL,\n \"Trans\" TEXT,\n \"Dependents\" TEXT,\n \"SurveyLength\" TEXT,\n \"SurveyEase\" TEXT\n)\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Hands-on Lab\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Visualizing distribution of data\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Histograms\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Plot a histogram of `ConvertedComp.`\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# your code goes here\n# use the inline backend to generate the plots within the browser\n%matplotlib inline \n\nimport matplotlib as mpl\nimport matplotlib.pyplot as plt\n\n\nQUERY = \"\"\"\nSELECT ConvertedComp,COUNT(*) as count\nFROM master\ngroup by ConvertedComp\norder by ConvertedComp desc\n\"\"\".format(table_name)\npd.read_sql_query(QUERY,conn)\ndf = pd.read_sql_query(QUERY,conn)\ndf.tail()\n\n\n\n",
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 10,
"data": {
"text/plain": " ConvertedComp count\n3511 10.0 2\n3512 5.0 1\n3513 4.0 1\n3514 0.0 26\n3515 NaN 816",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>ConvertedComp</th>\n <th>count</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>3511</th>\n <td>10.0</td>\n <td>2</td>\n </tr>\n <tr>\n <th>3512</th>\n <td>5.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>3513</th>\n <td>4.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>3514</th>\n <td>0.0</td>\n <td>26</td>\n </tr>\n <tr>\n <th>3515</th>\n <td>NaN</td>\n <td>816</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Box Plots\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Plot a box plot of `Age.`\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# your code goes here\nQUERY = \"\"\"\nSELECT Age,COUNT(*) as count\nFROM master\ngroup by Age\norder by Age \n\"\"\".format(table_name)\npd.read_sql_query(QUERY,conn)\ndf = pd.read_sql_query(QUERY,conn)\ndf.head()",
"execution_count": 17,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 17,
"data": {
"text/plain": " Age count\n0 NaN 287\n1 16.0 3\n2 17.0 6\n3 18.0 29\n4 19.0 78",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Age</th>\n <th>count</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>NaN</td>\n <td>287</td>\n </tr>\n <tr>\n <th>1</th>\n <td>16.0</td>\n <td>3</td>\n </tr>\n <tr>\n <th>2</th>\n <td>17.0</td>\n <td>6</td>\n </tr>\n <tr>\n <th>3</th>\n <td>18.0</td>\n <td>29</td>\n </tr>\n <tr>\n <th>4</th>\n <td>19.0</td>\n <td>78</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Visualizing relationships in data\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Scatter Plots\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Create a scatter plot of `Age` and `WorkWeekHrs.`\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# your code goes here\n\n",
"execution_count": null,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Bubble Plots\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Create a bubble plot of `WorkWeekHrs` and `CodeRevHrs`, use `Age` column as bubble size.\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# your code goes here\n\n",
"execution_count": null,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Visualizing composition of data\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Pie Charts\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Create a pie chart of the top 5 databases that respondents wish to learn next year. Label the pie chart with database names. Display percentages of each database on the pie chart.\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# your code goes here\n\n",
"execution_count": null,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Stacked Charts\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Create a stacked chart of median `WorkWeekHrs` and `CodeRevHrs` for the age group 30 to 35.\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# your code goes here\n\n",
"execution_count": null,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Visualizing comparison of data\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Line Chart\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Plot the median `ConvertedComp` for all ages from 45 to 60.\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# your code goes here\n\n",
"execution_count": null,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Bar Chart\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Create a horizontal bar chart using column `MainBranch.`\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "# your code goes here\n\n",
"execution_count": null,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Close the database connection.\n"
},
{
"metadata": {},
"cell_type": "code",
"source": "conn.close()",
"execution_count": null,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Authors\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Ramesh Sannareddy\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Other Contributors\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Rav Ahuja\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Change Log\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n| ----------------- | ------- | ----------------- | ---------------------------------- |\n| 2020-10-17 | 0.1 | Ramesh Sannareddy | Created initial version of the lab |\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": " Copyright \u00a9 2020 IBM Corporation. This notebook and its source code are released under the terms of the [MIT License](https://cognitiveclass.ai/mit-license?cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBM-DA0321EN-SkillsNetwork-21426264&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBM-DA0321EN-SkillsNetwork-21426264&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBM-DA0321EN-SkillsNetwork-21426264&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBM-DA0321EN-SkillsNetwork-21426264&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBM-DA0321EN-SkillsNetwork-21426264&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBM-DA0321EN-SkillsNetwork-21426264&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ).\n"
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3.7",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.7.10",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment