├── 1.What is Data Science ├── Week 1 Defining Data Science and What Data Scientists Do │ ├── Quiz Data Science The Sexiest Job in the 21st Century.pdf │ └── Quiz What Makes Someone a Data Scientist.pdf ├── Week 2 Data Science Topics │ ├── Quiz Data Mining.pdf │ └── Quiz Regression.pdf └── Week 3 Data Science in Business │ ├── Final Assignment.pdf │ ├── Final Exam.pdf │ ├── Quiz The Final Deliverable.pdf │ └── Quiz The Report Structure.pdf ├── 10.Applied_Data_Science_Capstone ├── Week 1 Introduction │ ├── .ipynb_checkpoints │ │ ├── Data Collection with Web Scraping-checkpoint.ipynb │ │ ├── Lab 1 ( Data Collection Api )-checkpoint.ipynb │ │ └── Lab 2 ( Data wrangling )-checkpoint.ipynb │ ├── Data Collection Api .ipynb │ ├── Data Collection with Web Scraping.ipynb │ ├── Data wrangling .ipynb │ └── Graded Quiz │ │ ├── Data Collection API with Webscraping Quiz.pdf │ │ └── Data Wrangling Quiz.pdf ├── Week 2 EDA │ ├── .ipynb_checkpoints │ │ ├── EDA with SQL-checkpoint.ipynb │ │ ├── EDA with Visualization-checkpoint.ipynb │ │ └── EDA-checkpoint.ipynb │ ├── EDA with SQL.ipynb │ ├── EDA with Visualization.ipynb │ └── Graded Quiz │ │ ├── Exploratory Data Analysis for Data Visualization.pdf │ │ └── Exploratory Data Analysis using SQL Quiz.pdf ├── Week 3 Interactive Visual Analytics and Dashboard │ ├── .ipynb_checkpoints │ │ └── Interactive Visual Analytics with Folium-checkpoint.ipynb │ ├── Graded Quiz │ │ └── Interactive Visual Analytics and Dashboard Quiz.pdf │ ├── Interactive Visual Analytics with Folium.ipynb │ ├── spacex_dash_app.py │ ├── spacex_launch_dash.csv │ └── spacex_launch_geo.csv ├── Week 4 Predictive Analysis (Classification) │ ├── .ipynb_checkpoints │ │ └── Machine Learning Prediction-checkpoint.ipynb │ ├── Graded Quiz │ │ └── Predictive Analysisis.pdf │ └── Machine Learning Prediction.ipynb └── Week 5 Present Your Data-Driven Insights │ └── Data Science Journey.pptx ├── 2.Tools for Data Science ├── Week 1 Data Scientist's Toolkit │ └── Graded Quiz.pdf ├── Week 2 Open Source Tools │ └── Graded Quiz.pdf ├── Week 3 IBM Tools for Data Science │ └── Graded Quiz.pdf └── Week 4 Final Assignment │ ├── Assignment.ipynb │ └── Final Exam.pdf ├── 3.Data Science Methodology ├── Week 1 From Problem to Approach and From Requirements to Collection │ ├── From Problem to Approach Quiz.pdf │ └── From Requirements to Collection Quiz.pdf ├── Week 2 From Understanding to Preparation and From Modeling to Evaluation │ ├── From Modeling to Evaluation Quiz.pdf │ └── From Understanding to Preparation Quiz.pdf └── Week 3 From Deployment to Feedback │ ├── Assignment.pdf │ └── From Deployment to Feedback Quiz.pdf ├── 4.Python for Data Science, AI & Development ├── Week 1 Python Basics │ └── Graded Quiz.pdf ├── Week 2 Python Data Structures │ └── Graded Quiz.pdf ├── Week 3 Python Programming Fundamentals │ └── Graded Quiz.pdf ├── Week 4 Working with Data in Python │ └── Graded Quiz.pdf └── Week 5 APIs, and Data Collection │ ├── Final Exam.pdf │ └── Graded Quiz.pdf ├── 5.Python Project for Data Science └── Week 1 Crowdsourcing Short squeeze Dashboard │ ├── Final Assignment.ipynb │ ├── Lab Extracting Stock Data Using a Python Library.ipynb │ ├── Lab Intro to Web Scraping Using BeautifulSoup .ipynb │ └── Quiz Extracting Stock Data Using a Python Library.pdf ├── 6.Databases and SQL for Data Science with Python ├── Week 1 Getting Started with SQL │ └── Graded Quiz Basic SQL.pdf ├── Week 2 Introduction to Relational Databases and Tables │ └── Graded Quiz Relational DB Concepts and Tables.pdf ├── Week 3 Intermediate SQL │ └── Graded Quiz Functions, Sub-Queries, Multiple Tables.pdf ├── Week 4 Accessing Databases using Python │ └── Graded Quiz Database access from Python.pdf └── Week 5 Course Assignment │ ├── Final Assignment.ipynb │ └── Final Exam.pdf ├── 7.Data Analysis with Python ├── Week 1 Importing Datasets │ ├── Graded Quiz Importing Datasets.pdf │ └── Graded Quiz Model Development.pdf ├── Week 2 Data Wrangling │ └── Graded Quiz Data Wrangling.pdf ├── Week 3 Exploratory Data Analysis │ └── Graded Quiz Exploratory Data Analysis.pdf ├── Week 5 Model Evaluation │ └── Graded Quiz Model Refinement.pdf └── Week 6 Final Assignment │ ├── Assignment House Sales in King County USA.ipynb │ └── Final Exam.pdf ├── 8.Data Visualization with Python ├── Week 1 Introduction to Data Visualization Tools │ └── Quiz Introduction to Data Visualization Tools.pdf ├── Week 2 Basic and Specialized Visualization Tools │ ├── Quiz Basic Visualization Tools.pdf │ └── Quiz Specialized Visualization Tools.pdf ├── Week 3 Advanced Visualizations and Geospatial Data │ ├── Quiz Advanced Visualization Tools.pdf │ └── Quiz Visualizing Geospatial Data.pdf ├── Week 4 Creating Dashboards with Plotly and Dash │ └── Graded Quiz.pdf └── Week 5 Final Project │ ├── Final Assignment.py │ └── Final Exam.pdf ├── 9.Machine Learning with Python ├── Week 1 Introduction to Machine Learning │ └── Quiz Intro to Machine Learning.pdf ├── Week 2 Regression │ └── Quiz Regression.pdf ├── Week 3 Classification │ └── Quiz Classification.pdf ├── Week 4 Clustering │ └── Quiz Clustering.pdf ├── Week 5 Recommender Systems │ └── Quiz Recommender System.pdf └── Week 6 Final Project │ ├── Final Assignment.ipynb │ └── Final Exam.pdf ├── Financial Aid.pdf ├── README.md ├── assets ├── IBM.png ├── instructor.png └── style.css └── index.html /1.What is Data Science/Week 1 Defining Data Science and What Data Scientists Do/Quiz Data Science The Sexiest Job in the 21st Century.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/1.What is Data Science/Week 1 Defining Data Science and What Data Scientists Do/Quiz Data Science The Sexiest Job in the 21st Century.pdf -------------------------------------------------------------------------------- /1.What is Data Science/Week 1 Defining Data Science and What Data Scientists Do/Quiz What Makes Someone a Data Scientist.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/1.What is Data Science/Week 1 Defining Data Science and What Data Scientists Do/Quiz What Makes Someone a Data Scientist.pdf -------------------------------------------------------------------------------- /1.What is Data Science/Week 2 Data Science Topics/Quiz Data Mining.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/1.What is Data Science/Week 2 Data Science Topics/Quiz Data Mining.pdf -------------------------------------------------------------------------------- /1.What is Data Science/Week 2 Data Science Topics/Quiz Regression.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/1.What is Data Science/Week 2 Data Science Topics/Quiz Regression.pdf -------------------------------------------------------------------------------- /1.What is Data Science/Week 3 Data Science in Business/Final Assignment.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/1.What is Data Science/Week 3 Data Science in Business/Final Assignment.pdf -------------------------------------------------------------------------------- /1.What is Data Science/Week 3 Data Science in Business/Final Exam.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/1.What is Data Science/Week 3 Data Science in Business/Final Exam.pdf -------------------------------------------------------------------------------- /1.What is Data Science/Week 3 Data Science in Business/Quiz The Final Deliverable.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/1.What is Data Science/Week 3 Data Science in Business/Quiz The Final Deliverable.pdf -------------------------------------------------------------------------------- /1.What is Data Science/Week 3 Data Science in Business/Quiz The Report Structure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/1.What is Data Science/Week 3 Data Science in Business/Quiz The Report Structure.pdf -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 1 Introduction/.ipynb_checkpoints/Data Collection with Web Scraping-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "
\n", 8 | " \"cognitiveclass.ai\n", 9 | "
\n" 10 | ] 11 | }, 12 | { 13 | "cell_type": "markdown", 14 | "metadata": {}, 15 | "source": [ 16 | "# **Space X Falcon 9 First Stage Landing Prediction**\n" 17 | ] 18 | }, 19 | { 20 | "cell_type": "markdown", 21 | "metadata": {}, 22 | "source": [ 23 | "## Web scraping Falcon 9 and Falcon Heavy Launches Records from Wikipedia\n" 24 | ] 25 | }, 26 | { 27 | "cell_type": "markdown", 28 | "metadata": {}, 29 | "source": [ 30 | "Estimated time needed: **40** minutes\n" 31 | ] 32 | }, 33 | { 34 | "cell_type": "markdown", 35 | "metadata": {}, 36 | "source": [ 37 | "In this lab, you will be performing web scraping to collect Falcon 9 historical launch records from a Wikipedia page titled `List of Falcon 9 and Falcon Heavy launches`\n", 38 | "\n", 39 | "[https://en.wikipedia.org/wiki/List_of_Falcon\\_9\\_and_Falcon_Heavy_launches](https://en.wikipedia.org/wiki/List_of_Falcon\\_9\\_and_Falcon_Heavy_launches?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDS0321ENSkillsNetwork26802033-2021-01-01)\n" 40 | ] 41 | }, 42 | { 43 | "cell_type": "markdown", 44 | "metadata": {}, 45 | "source": [ 46 | "![](https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBM-DS0321EN-SkillsNetwork/labs/module\\_1\\_L2/images/Falcon9\\_rocket_family.svg)\n" 47 | ] 48 | }, 49 | { 50 | "cell_type": "markdown", 51 | "metadata": {}, 52 | "source": [ 53 | "Falcon 9 first stage will land successfully\n" 54 | ] 55 | }, 56 | { 57 | "cell_type": "markdown", 58 | "metadata": {}, 59 | "source": [ 60 | "![](https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DS0701EN-SkillsNetwork/api/Images/landing\\_1.gif)\n" 61 | ] 62 | }, 63 | { 64 | "cell_type": "markdown", 65 | "metadata": {}, 66 | "source": [ 67 | "Several examples of an unsuccessful landing are shown here:\n" 68 | ] 69 | }, 70 | { 71 | "cell_type": "markdown", 72 | "metadata": {}, 73 | "source": [ 74 | "![](https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DS0701EN-SkillsNetwork/api/Images/crash.gif)\n" 75 | ] 76 | }, 77 | { 78 | "cell_type": "markdown", 79 | "metadata": {}, 80 | "source": [ 81 | "More specifically, the launch records are stored in a HTML table shown below:\n" 82 | ] 83 | }, 84 | { 85 | "cell_type": "markdown", 86 | "metadata": {}, 87 | "source": [ 88 | "![](https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBM-DS0321EN-SkillsNetwork/labs/module\\_1\\_L2/images/falcon9-launches-wiki.png)\n" 89 | ] 90 | }, 91 | { 92 | "cell_type": "markdown", 93 | "metadata": {}, 94 | "source": [ 95 | "## Objectives\n", 96 | "\n", 97 | "Web scrap Falcon 9 launch records with `BeautifulSoup`:\n", 98 | "\n", 99 | "* Extract a Falcon 9 launch records HTML table from Wikipedia\n", 100 | "* Parse the table and convert it into a Pandas data frame\n" 101 | ] 102 | }, 103 | { 104 | "cell_type": "markdown", 105 | "metadata": {}, 106 | "source": [ 107 | "First let's import required packages for this lab\n" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": null, 113 | "metadata": {}, 114 | "outputs": [], 115 | "source": [ 116 | "!pip3 install beautifulsoup4\n", 117 | "!pip3 install requests" 118 | ] 119 | }, 120 | { 121 | "cell_type": "code", 122 | "execution_count": null, 123 | "metadata": {}, 124 | "outputs": [], 125 | "source": [ 126 | "import sys\n", 127 | "\n", 128 | "import requests\n", 129 | "from bs4 import BeautifulSoup\n", 130 | "import re\n", 131 | "import unicodedata\n", 132 | "import pandas as pd" 133 | ] 134 | }, 135 | { 136 | "cell_type": "markdown", 137 | "metadata": {}, 138 | "source": [ 139 | "and we will provide some helper functions for you to process web scraped HTML table\n" 140 | ] 141 | }, 142 | { 143 | "cell_type": "code", 144 | "execution_count": null, 145 | "metadata": {}, 146 | "outputs": [], 147 | "source": [ 148 | "def date_time(table_cells):\n", 149 | " \"\"\"\n", 150 | " This function returns the data and time from the HTML table cell\n", 151 | " Input: the element of a table data cell extracts extra row\n", 152 | " \"\"\"\n", 153 | " return [data_time.strip() for data_time in list(table_cells.strings)][0:2]\n", 154 | "\n", 155 | "def booster_version(table_cells):\n", 156 | " \"\"\"\n", 157 | " This function returns the booster version from the HTML table cell \n", 158 | " Input: the element of a table data cell extracts extra row\n", 159 | " \"\"\"\n", 160 | " out=''.join([booster_version for i,booster_version in enumerate( table_cells.strings) if i%2==0][0:-1])\n", 161 | " return out\n", 162 | "\n", 163 | "def landing_status(table_cells):\n", 164 | " \"\"\"\n", 165 | " This function returns the landing status from the HTML table cell \n", 166 | " Input: the element of a table data cell extracts extra row\n", 167 | " \"\"\"\n", 168 | " out=[i for i in table_cells.strings][0]\n", 169 | " return out\n", 170 | "\n", 171 | "\n", 172 | "def get_mass(table_cells):\n", 173 | " mass=unicodedata.normalize(\"NFKD\", table_cells.text).strip()\n", 174 | " if mass:\n", 175 | " mass.find(\"kg\")\n", 176 | " new_mass=mass[0:mass.find(\"kg\")+2]\n", 177 | " else:\n", 178 | " new_mass=0\n", 179 | " return new_mass\n", 180 | "\n", 181 | "\n", 182 | "def extract_column_from_header(row):\n", 183 | " \"\"\"\n", 184 | " This function returns the landing status from the HTML table cell \n", 185 | " Input: the element of a table data cell extracts extra row\n", 186 | " \"\"\"\n", 187 | " if (row.br):\n", 188 | " row.br.extract()\n", 189 | " if row.a:\n", 190 | " row.a.extract()\n", 191 | " if row.sup:\n", 192 | " row.sup.extract()\n", 193 | " \n", 194 | " colunm_name = ' '.join(row.contents)\n", 195 | " \n", 196 | " # Filter the digit and empty names\n", 197 | " if not(colunm_name.strip().isdigit()):\n", 198 | " colunm_name = colunm_name.strip()\n", 199 | " return colunm_name \n" 200 | ] 201 | }, 202 | { 203 | "cell_type": "markdown", 204 | "metadata": {}, 205 | "source": [ 206 | "To keep the lab tasks consistent, you will be asked to scrape the data from a snapshot of the `List of Falcon 9 and Falcon Heavy launches` Wikipage updated on\n", 207 | "`9th June 2021`\n" 208 | ] 209 | }, 210 | { 211 | "cell_type": "code", 212 | "execution_count": null, 213 | "metadata": {}, 214 | "outputs": [], 215 | "source": [ 216 | "static_url = \"https://en.wikipedia.org/w/index.php?title=List_of_Falcon_9_and_Falcon_Heavy_launches&oldid=1027686922\"" 217 | ] 218 | }, 219 | { 220 | "cell_type": "markdown", 221 | "metadata": {}, 222 | "source": [ 223 | "Next, request the HTML page from the above URL and get a `response` object\n" 224 | ] 225 | }, 226 | { 227 | "cell_type": "markdown", 228 | "metadata": {}, 229 | "source": [ 230 | "### TASK 1: Request the Falcon9 Launch Wiki page from its URL\n" 231 | ] 232 | }, 233 | { 234 | "cell_type": "markdown", 235 | "metadata": {}, 236 | "source": [ 237 | "First, let's perform an HTTP GET method to request the Falcon9 Launch HTML page, as an HTTP response.\n" 238 | ] 239 | }, 240 | { 241 | "cell_type": "code", 242 | "execution_count": null, 243 | "metadata": {}, 244 | "outputs": [], 245 | "source": [ 246 | "# use requests.get() method with the provided static_url\n", 247 | "# assign the response to a object" 248 | ] 249 | }, 250 | { 251 | "cell_type": "markdown", 252 | "metadata": {}, 253 | "source": [ 254 | "Create a `BeautifulSoup` object from the HTML `response`\n" 255 | ] 256 | }, 257 | { 258 | "cell_type": "code", 259 | "execution_count": null, 260 | "metadata": {}, 261 | "outputs": [], 262 | "source": [ 263 | "# Use BeautifulSoup() to create a BeautifulSoup object from a response text content" 264 | ] 265 | }, 266 | { 267 | "cell_type": "markdown", 268 | "metadata": {}, 269 | "source": [ 270 | "Print the page title to verify if the `BeautifulSoup` object was created properly\n" 271 | ] 272 | }, 273 | { 274 | "cell_type": "code", 275 | "execution_count": null, 276 | "metadata": {}, 277 | "outputs": [], 278 | "source": [ 279 | "# Use soup.title attribute" 280 | ] 281 | }, 282 | { 283 | "cell_type": "markdown", 284 | "metadata": {}, 285 | "source": [ 286 | "### TASK 2: Extract all column/variable names from the HTML table header\n" 287 | ] 288 | }, 289 | { 290 | "cell_type": "markdown", 291 | "metadata": {}, 292 | "source": [ 293 | "Next, we want to collect all relevant column names from the HTML table header\n" 294 | ] 295 | }, 296 | { 297 | "cell_type": "markdown", 298 | "metadata": {}, 299 | "source": [ 300 | "Let's try to find all tables on the wiki page first. If you need to refresh your memory about `BeautifulSoup`, please check the external reference link towards the end of this lab\n" 301 | ] 302 | }, 303 | { 304 | "cell_type": "code", 305 | "execution_count": null, 306 | "metadata": {}, 307 | "outputs": [], 308 | "source": [ 309 | "# Use the find_all function in the BeautifulSoup object, with element type `table`\n", 310 | "# Assign the result to a list called `html_tables`\n" 311 | ] 312 | }, 313 | { 314 | "cell_type": "markdown", 315 | "metadata": {}, 316 | "source": [ 317 | "Starting from the third table is our target table contains the actual launch records.\n" 318 | ] 319 | }, 320 | { 321 | "cell_type": "code", 322 | "execution_count": null, 323 | "metadata": {}, 324 | "outputs": [], 325 | "source": [ 326 | "# Let's print the third table and check its content\n", 327 | "first_launch_table = html_tables[2]\n", 328 | "print(first_launch_table)" 329 | ] 330 | }, 331 | { 332 | "cell_type": "markdown", 333 | "metadata": {}, 334 | "source": [ 335 | "You should able to see the columns names embedded in the table header elements `` as follows:\n" 336 | ] 337 | }, 338 | { 339 | "cell_type": "markdown", 340 | "metadata": {}, 341 | "source": [ 342 | "```\n", 343 | "\n", 344 | "Flight No.\n", 345 | "\n", 346 | "Date and
time (UTC)\n", 347 | "\n", 348 | "Version,
Booster
[b]\n", 349 | "\n", 350 | "Launch site\n", 351 | "\n", 352 | "Payload[c]\n", 353 | "\n", 354 | "Payload mass\n", 355 | "\n", 356 | "Orbit\n", 357 | "\n", 358 | "Customer\n", 359 | "\n", 360 | "Launch
outcome\n", 361 | "\n", 362 | "Booster
landing
\n", 363 | "\n", 364 | "```\n" 365 | ] 366 | }, 367 | { 368 | "cell_type": "markdown", 369 | "metadata": {}, 370 | "source": [ 371 | "Next, we just need to iterate through the `` elements and apply the provided `extract_column_from_header()` to extract column name one by one\n" 372 | ] 373 | }, 374 | { 375 | "cell_type": "code", 376 | "execution_count": null, 377 | "metadata": {}, 378 | "outputs": [], 379 | "source": [ 380 | "column_names = []\n", 381 | "\n", 382 | "# Apply find_all() function with `th` element on first_launch_table\n", 383 | "# Iterate each th element and apply the provided extract_column_from_header() to get a column name\n", 384 | "# Append the Non-empty column name (`if name is not None and len(name) > 0`) into a list called column_names\n" 385 | ] 386 | }, 387 | { 388 | "cell_type": "markdown", 389 | "metadata": {}, 390 | "source": [ 391 | "Check the extracted column names\n" 392 | ] 393 | }, 394 | { 395 | "cell_type": "code", 396 | "execution_count": null, 397 | "metadata": {}, 398 | "outputs": [], 399 | "source": [ 400 | "print(column_names)" 401 | ] 402 | }, 403 | { 404 | "cell_type": "markdown", 405 | "metadata": {}, 406 | "source": [ 407 | "## TASK 3: Create a data frame by parsing the launch HTML tables\n" 408 | ] 409 | }, 410 | { 411 | "cell_type": "markdown", 412 | "metadata": {}, 413 | "source": [ 414 | "We will create an empty dictionary with keys from the extracted column names in the previous task. Later, this dictionary will be converted into a Pandas dataframe\n" 415 | ] 416 | }, 417 | { 418 | "cell_type": "code", 419 | "execution_count": null, 420 | "metadata": {}, 421 | "outputs": [], 422 | "source": [ 423 | "launch_dict= dict.fromkeys(column_names)\n", 424 | "\n", 425 | "# Remove an irrelvant column\n", 426 | "del launch_dict['Date and time ( )']\n", 427 | "\n", 428 | "# Let's initial the launch_dict with each value to be an empty list\n", 429 | "launch_dict['Flight No.'] = []\n", 430 | "launch_dict['Launch site'] = []\n", 431 | "launch_dict['Payload'] = []\n", 432 | "launch_dict['Payload mass'] = []\n", 433 | "launch_dict['Orbit'] = []\n", 434 | "launch_dict['Customer'] = []\n", 435 | "launch_dict['Launch outcome'] = []\n", 436 | "# Added some new columns\n", 437 | "launch_dict['Version Booster']=[]\n", 438 | "launch_dict['Booster landing']=[]\n", 439 | "launch_dict['Date']=[]\n", 440 | "launch_dict['Time']=[]" 441 | ] 442 | }, 443 | { 444 | "cell_type": "markdown", 445 | "metadata": {}, 446 | "source": [ 447 | "Next, we just need to fill up the `launch_dict` with launch records extracted from table rows.\n" 448 | ] 449 | }, 450 | { 451 | "cell_type": "markdown", 452 | "metadata": {}, 453 | "source": [ 454 | "Usually, HTML tables in Wiki pages are likely to contain unexpected annotations and other types of noises, such as reference links `B0004.1[8]`, missing values `N/A [e]`, inconsistent formatting, etc.\n" 455 | ] 456 | }, 457 | { 458 | "cell_type": "markdown", 459 | "metadata": {}, 460 | "source": [ 461 | "To simplify the parsing process, we have provided an incomplete code snippet below to help you to fill up the `launch_dict`. Please complete the following code snippet with TODOs or you can choose to write your own logic to parse all launch tables:\n" 462 | ] 463 | }, 464 | { 465 | "cell_type": "code", 466 | "execution_count": null, 467 | "metadata": {}, 468 | "outputs": [], 469 | "source": [ 470 | "extracted_row = 0\n", 471 | "#Extract each table \n", 472 | "for table_number,table in enumerate(soup.find_all('table',\"wikitable plainrowheaders collapsible\")):\n", 473 | " # get table row \n", 474 | " for rows in table.find_all(\"tr\"):\n", 475 | " #check to see if first table heading is as number corresponding to launch a number \n", 476 | " if rows.th:\n", 477 | " if rows.th.string:\n", 478 | " flight_number=rows.th.string.strip()\n", 479 | " flag=flight_number.isdigit()\n", 480 | " else:\n", 481 | " flag=False\n", 482 | " #get table element \n", 483 | " row=rows.find_all('td')\n", 484 | " #if it is number save cells in a dictonary \n", 485 | " if flag:\n", 486 | " extracted_row += 1\n", 487 | " # Flight Number value\n", 488 | " # TODO: Append the flight_number into launch_dict with key `Flight No.`\n", 489 | " #print(flight_number)\n", 490 | " datatimelist=date_time(row[0])\n", 491 | " \n", 492 | " # Date value\n", 493 | " # TODO: Append the date into launch_dict with key `Date`\n", 494 | " date = datatimelist[0].strip(',')\n", 495 | " #print(date)\n", 496 | " \n", 497 | " # Time value\n", 498 | " # TODO: Append the time into launch_dict with key `Time`\n", 499 | " time = datatimelist[1]\n", 500 | " #print(time)\n", 501 | " \n", 502 | " # Booster version\n", 503 | " # TODO: Append the bv into launch_dict with key `Version Booster`\n", 504 | " bv=booster_version(row[1])\n", 505 | " if not(bv):\n", 506 | " bv=row[1].a.string\n", 507 | " print(bv)\n", 508 | " \n", 509 | " # Launch Site\n", 510 | " # TODO: Append the bv into launch_dict with key `Launch Site`\n", 511 | " launch_site = row[2].a.string\n", 512 | " #print(launch_site)\n", 513 | " \n", 514 | " # Payload\n", 515 | " # TODO: Append the payload into launch_dict with key `Payload`\n", 516 | " payload = row[3].a.string\n", 517 | " #print(payload)\n", 518 | " \n", 519 | " # Payload Mass\n", 520 | " # TODO: Append the payload_mass into launch_dict with key `Payload mass`\n", 521 | " payload_mass = get_mass(row[4])\n", 522 | " #print(payload)\n", 523 | " \n", 524 | " # Orbit\n", 525 | " # TODO: Append the orbit into launch_dict with key `Orbit`\n", 526 | " orbit = row[5].a.string\n", 527 | " #print(orbit)\n", 528 | " \n", 529 | " # Customer\n", 530 | " # TODO: Append the customer into launch_dict with key `Customer`\n", 531 | " customer = row[6].a.string\n", 532 | " #print(customer)\n", 533 | " \n", 534 | " # Launch outcome\n", 535 | " # TODO: Append the launch_outcome into launch_dict with key `Launch outcome`\n", 536 | " launch_outcome = list(row[7].strings)[0]\n", 537 | " #print(launch_outcome)\n", 538 | " \n", 539 | " # Booster landing\n", 540 | " # TODO: Append the launch_outcome into launch_dict with key `Booster landing`\n", 541 | " booster_landing = landing_status(row[8])\n", 542 | " #print(booster_landing)\n", 543 | " " 544 | ] 545 | }, 546 | { 547 | "cell_type": "markdown", 548 | "metadata": {}, 549 | "source": [ 550 | "After you have fill in the parsed launch record values into `launch_dict`, you can create a dataframe from it.\n" 551 | ] 552 | }, 553 | { 554 | "cell_type": "code", 555 | "execution_count": null, 556 | "metadata": {}, 557 | "outputs": [], 558 | "source": [ 559 | "df=pd.DataFrame(launch_dict)" 560 | ] 561 | }, 562 | { 563 | "cell_type": "markdown", 564 | "metadata": {}, 565 | "source": [ 566 | "We can now export it to a CSV for the next section, but to make the answers consistent and in case you have difficulties finishing this lab.\n", 567 | "\n", 568 | "Following labs will be using a provided dataset to make each lab independent.\n" 569 | ] 570 | }, 571 | { 572 | "cell_type": "markdown", 573 | "metadata": {}, 574 | "source": [ 575 | "df.to_csv('spacex_web_scraped.csv', index=False)\n" 576 | ] 577 | }, 578 | { 579 | "cell_type": "markdown", 580 | "metadata": {}, 581 | "source": [ 582 | "## Authors\n" 583 | ] 584 | }, 585 | { 586 | "cell_type": "markdown", 587 | "metadata": {}, 588 | "source": [ 589 | "Yan Luo\n" 590 | ] 591 | }, 592 | { 593 | "cell_type": "markdown", 594 | "metadata": {}, 595 | "source": [ 596 | "Nayef Abou Tayoun\n" 597 | ] 598 | }, 599 | { 600 | "cell_type": "markdown", 601 | "metadata": {}, 602 | "source": [ 603 | "## Change Log\n" 604 | ] 605 | }, 606 | { 607 | "cell_type": "markdown", 608 | "metadata": {}, 609 | "source": [ 610 | "| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n", 611 | "| ----------------- | ------- | ---------- | --------------------------- |\n", 612 | "| 2021-06-09 | 1.0 | Yan Luo | Tasks updates |\n", 613 | "| 2020-11-10 | 1.0 | Nayef | Created the initial version |\n" 614 | ] 615 | }, 616 | { 617 | "cell_type": "markdown", 618 | "metadata": {}, 619 | "source": [ 620 | "Copyright © 2021 IBM Corporation. All rights reserved.\n" 621 | ] 622 | } 623 | ], 624 | "metadata": { 625 | "kernelspec": { 626 | "display_name": "Python 3", 627 | "language": "python", 628 | "name": "python3" 629 | }, 630 | "language_info": { 631 | "codemirror_mode": { 632 | "name": "ipython", 633 | "version": 3 634 | }, 635 | "file_extension": ".py", 636 | "mimetype": "text/x-python", 637 | "name": "python", 638 | "nbconvert_exporter": "python", 639 | "pygments_lexer": "ipython3", 640 | "version": "3.8.3" 641 | } 642 | }, 643 | "nbformat": 4, 644 | "nbformat_minor": 4 645 | } 646 | -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 1 Introduction/.ipynb_checkpoints/Lab 2 ( Data wrangling )-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "
\n", 8 | " \"cognitiveclass.ai\n", 9 | "
\n" 10 | ] 11 | }, 12 | { 13 | "cell_type": "markdown", 14 | "metadata": {}, 15 | "source": [ 16 | "# **Space X Falcon 9 First Stage Landing Prediction**\n" 17 | ] 18 | }, 19 | { 20 | "cell_type": "markdown", 21 | "metadata": {}, 22 | "source": [ 23 | "## Lab 2: Data wrangling\n" 24 | ] 25 | }, 26 | { 27 | "cell_type": "markdown", 28 | "metadata": {}, 29 | "source": [ 30 | "Estimated time needed: **60** minutes\n" 31 | ] 32 | }, 33 | { 34 | "cell_type": "markdown", 35 | "metadata": {}, 36 | "source": [ 37 | "In this lab, we will perform some Exploratory Data Analysis (EDA) to find some patterns in the data and determine what would be the label for training supervised models.\n", 38 | "\n", 39 | "In the data set, there are several different cases where the booster did not land successfully. Sometimes a landing was attempted but failed due to an accident; for example, True Ocean means the mission outcome was successfully landed to a specific region of the ocean while False Ocean means the mission outcome was unsuccessfully landed to a specific region of the ocean. True RTLS means the mission outcome was successfully landed to a ground pad False RTLS means the mission outcome was unsuccessfully landed to a ground pad.True ASDS means the mission outcome was successfully landed on a drone ship False ASDS means the mission outcome was unsuccessfully landed on a drone ship.\n", 40 | "\n", 41 | "In this lab we will mainly convert those outcomes into Training Labels with `1` means the booster successfully landed `0` means it was unsuccessful.\n" 42 | ] 43 | }, 44 | { 45 | "cell_type": "markdown", 46 | "metadata": {}, 47 | "source": [ 48 | "Falcon 9 first stage will land successfully\n" 49 | ] 50 | }, 51 | { 52 | "cell_type": "markdown", 53 | "metadata": {}, 54 | "source": [ 55 | "![](https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DS0701EN-SkillsNetwork/api/Images/landing\\_1.gif)\n" 56 | ] 57 | }, 58 | { 59 | "cell_type": "markdown", 60 | "metadata": {}, 61 | "source": [ 62 | "Several examples of an unsuccessful landing are shown here:\n" 63 | ] 64 | }, 65 | { 66 | "cell_type": "markdown", 67 | "metadata": {}, 68 | "source": [ 69 | "![](https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DS0701EN-SkillsNetwork/api/Images/crash.gif)\n" 70 | ] 71 | }, 72 | { 73 | "cell_type": "markdown", 74 | "metadata": {}, 75 | "source": [] 76 | }, 77 | { 78 | "cell_type": "markdown", 79 | "metadata": {}, 80 | "source": [ 81 | "## Objectives\n", 82 | "\n", 83 | "Perform exploratory Data Analysis and determine Training Labels\n", 84 | "\n", 85 | "* Exploratory Data Analysis\n", 86 | "* Determine Training Labels\n" 87 | ] 88 | }, 89 | { 90 | "cell_type": "markdown", 91 | "metadata": {}, 92 | "source": [ 93 | "***\n" 94 | ] 95 | }, 96 | { 97 | "cell_type": "markdown", 98 | "metadata": {}, 99 | "source": [ 100 | "## Import Libraries and Define Auxiliary Functions\n" 101 | ] 102 | }, 103 | { 104 | "cell_type": "markdown", 105 | "metadata": {}, 106 | "source": [ 107 | "We will import the following libraries.\n" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": 1, 113 | "metadata": {}, 114 | "outputs": [], 115 | "source": [ 116 | "# Pandas is a software library written for the Python programming language for data manipulation and analysis.\n", 117 | "import pandas as pd\n", 118 | "#NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays\n", 119 | "import numpy as np" 120 | ] 121 | }, 122 | { 123 | "cell_type": "markdown", 124 | "metadata": {}, 125 | "source": [ 126 | "### Data Analysis\n" 127 | ] 128 | }, 129 | { 130 | "cell_type": "markdown", 131 | "metadata": {}, 132 | "source": [ 133 | "Load Space X dataset, from last section.\n" 134 | ] 135 | }, 136 | { 137 | "cell_type": "code", 138 | "execution_count": 2, 139 | "metadata": {}, 140 | "outputs": [ 141 | { 142 | "data": { 143 | "text/html": [ 144 | "
\n", 145 | "\n", 158 | "\n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | "
FlightNumberDateBoosterVersionPayloadMassOrbitLaunchSiteOutcomeFlightsGridFinsReusedLegsLandingPadBlockReusedCountSerialLongitudeLatitude
012010-06-04Falcon 96104.959412LEOCCAFS SLC 40None None1FalseFalseFalseNaN1.00B0003-80.57736628.561857
122012-05-22Falcon 9525.000000LEOCCAFS SLC 40None None1FalseFalseFalseNaN1.00B0005-80.57736628.561857
232013-03-01Falcon 9677.000000ISSCCAFS SLC 40None None1FalseFalseFalseNaN1.00B0007-80.57736628.561857
342013-09-29Falcon 9500.000000POVAFB SLC 4EFalse Ocean1FalseFalseFalseNaN1.00B1003-120.61082934.632093
452013-12-03Falcon 93170.000000GTOCCAFS SLC 40None None1FalseFalseFalseNaN1.00B1004-80.57736628.561857
562014-01-06Falcon 93325.000000GTOCCAFS SLC 40None None1FalseFalseFalseNaN1.00B1005-80.57736628.561857
672014-04-18Falcon 92296.000000ISSCCAFS SLC 40True Ocean1FalseFalseTrueNaN1.00B1006-80.57736628.561857
782014-07-14Falcon 91316.000000LEOCCAFS SLC 40True Ocean1FalseFalseTrueNaN1.00B1007-80.57736628.561857
892014-08-05Falcon 94535.000000GTOCCAFS SLC 40None None1FalseFalseFalseNaN1.00B1008-80.57736628.561857
9102014-09-07Falcon 94428.000000GTOCCAFS SLC 40None None1FalseFalseFalseNaN1.00B1011-80.57736628.561857
\n", 384 | "
" 385 | ], 386 | "text/plain": [ 387 | " FlightNumber Date BoosterVersion PayloadMass Orbit LaunchSite \\\n", 388 | "0 1 2010-06-04 Falcon 9 6104.959412 LEO CCAFS SLC 40 \n", 389 | "1 2 2012-05-22 Falcon 9 525.000000 LEO CCAFS SLC 40 \n", 390 | "2 3 2013-03-01 Falcon 9 677.000000 ISS CCAFS SLC 40 \n", 391 | "3 4 2013-09-29 Falcon 9 500.000000 PO VAFB SLC 4E \n", 392 | "4 5 2013-12-03 Falcon 9 3170.000000 GTO CCAFS SLC 40 \n", 393 | "5 6 2014-01-06 Falcon 9 3325.000000 GTO CCAFS SLC 40 \n", 394 | "6 7 2014-04-18 Falcon 9 2296.000000 ISS CCAFS SLC 40 \n", 395 | "7 8 2014-07-14 Falcon 9 1316.000000 LEO CCAFS SLC 40 \n", 396 | "8 9 2014-08-05 Falcon 9 4535.000000 GTO CCAFS SLC 40 \n", 397 | "9 10 2014-09-07 Falcon 9 4428.000000 GTO CCAFS SLC 40 \n", 398 | "\n", 399 | " Outcome Flights GridFins Reused Legs LandingPad Block \\\n", 400 | "0 None None 1 False False False NaN 1.0 \n", 401 | "1 None None 1 False False False NaN 1.0 \n", 402 | "2 None None 1 False False False NaN 1.0 \n", 403 | "3 False Ocean 1 False False False NaN 1.0 \n", 404 | "4 None None 1 False False False NaN 1.0 \n", 405 | "5 None None 1 False False False NaN 1.0 \n", 406 | "6 True Ocean 1 False False True NaN 1.0 \n", 407 | "7 True Ocean 1 False False True NaN 1.0 \n", 408 | "8 None None 1 False False False NaN 1.0 \n", 409 | "9 None None 1 False False False NaN 1.0 \n", 410 | "\n", 411 | " ReusedCount Serial Longitude Latitude \n", 412 | "0 0 B0003 -80.577366 28.561857 \n", 413 | "1 0 B0005 -80.577366 28.561857 \n", 414 | "2 0 B0007 -80.577366 28.561857 \n", 415 | "3 0 B1003 -120.610829 34.632093 \n", 416 | "4 0 B1004 -80.577366 28.561857 \n", 417 | "5 0 B1005 -80.577366 28.561857 \n", 418 | "6 0 B1006 -80.577366 28.561857 \n", 419 | "7 0 B1007 -80.577366 28.561857 \n", 420 | "8 0 B1008 -80.577366 28.561857 \n", 421 | "9 0 B1011 -80.577366 28.561857 " 422 | ] 423 | }, 424 | "execution_count": 2, 425 | "metadata": {}, 426 | "output_type": "execute_result" 427 | } 428 | ], 429 | "source": [ 430 | "df=pd.read_csv(\"https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBM-DS0321EN-SkillsNetwork/datasets/dataset_part_1.csv\")\n", 431 | "df.head(10)" 432 | ] 433 | }, 434 | { 435 | "cell_type": "markdown", 436 | "metadata": {}, 437 | "source": [ 438 | "Identify and calculate the percentage of the missing values in each attribute\n" 439 | ] 440 | }, 441 | { 442 | "cell_type": "code", 443 | "execution_count": 3, 444 | "metadata": {}, 445 | "outputs": [ 446 | { 447 | "data": { 448 | "text/plain": [ 449 | "FlightNumber 0.000\n", 450 | "Date 0.000\n", 451 | "BoosterVersion 0.000\n", 452 | "PayloadMass 0.000\n", 453 | "Orbit 0.000\n", 454 | "LaunchSite 0.000\n", 455 | "Outcome 0.000\n", 456 | "Flights 0.000\n", 457 | "GridFins 0.000\n", 458 | "Reused 0.000\n", 459 | "Legs 0.000\n", 460 | "LandingPad 40.625\n", 461 | "Block 0.000\n", 462 | "ReusedCount 0.000\n", 463 | "Serial 0.000\n", 464 | "Longitude 0.000\n", 465 | "Latitude 0.000\n", 466 | "dtype: float64" 467 | ] 468 | }, 469 | "execution_count": 3, 470 | "metadata": {}, 471 | "output_type": "execute_result" 472 | } 473 | ], 474 | "source": [ 475 | "df.isnull().sum()/df.count()*100" 476 | ] 477 | }, 478 | { 479 | "cell_type": "markdown", 480 | "metadata": {}, 481 | "source": [ 482 | "Identify which columns are numerical and categorical:\n" 483 | ] 484 | }, 485 | { 486 | "cell_type": "code", 487 | "execution_count": 4, 488 | "metadata": {}, 489 | "outputs": [ 490 | { 491 | "data": { 492 | "text/plain": [ 493 | "FlightNumber int64\n", 494 | "Date object\n", 495 | "BoosterVersion object\n", 496 | "PayloadMass float64\n", 497 | "Orbit object\n", 498 | "LaunchSite object\n", 499 | "Outcome object\n", 500 | "Flights int64\n", 501 | "GridFins bool\n", 502 | "Reused bool\n", 503 | "Legs bool\n", 504 | "LandingPad object\n", 505 | "Block float64\n", 506 | "ReusedCount int64\n", 507 | "Serial object\n", 508 | "Longitude float64\n", 509 | "Latitude float64\n", 510 | "dtype: object" 511 | ] 512 | }, 513 | "execution_count": 4, 514 | "metadata": {}, 515 | "output_type": "execute_result" 516 | } 517 | ], 518 | "source": [ 519 | "df.dtypes" 520 | ] 521 | }, 522 | { 523 | "cell_type": "markdown", 524 | "metadata": {}, 525 | "source": [ 526 | "### TASK 1: Calculate the number of launches on each site\n", 527 | "\n", 528 | "The data contains several Space X launch facilities: Cape Canaveral Space Launch Complex 40 VAFB SLC 4E , Vandenberg Air Force Base Space Launch Complex 4E (SLC-4E), Kennedy Space Center Launch Complex 39A KSC LC 39A .The location of each Launch Is placed in the column LaunchSite\n" 529 | ] 530 | }, 531 | { 532 | "cell_type": "markdown", 533 | "metadata": {}, 534 | "source": [ 535 | "Next, let's see the number of launches for each site.\n", 536 | "\n", 537 | "Use the method value_counts() on the column LaunchSite to determine the number of launches on each site:\n" 538 | ] 539 | }, 540 | { 541 | "cell_type": "code", 542 | "execution_count": 5, 543 | "metadata": {}, 544 | "outputs": [ 545 | { 546 | "data": { 547 | "text/plain": [ 548 | "CCAFS SLC 40 55\n", 549 | "KSC LC 39A 22\n", 550 | "VAFB SLC 4E 13\n", 551 | "Name: LaunchSite, dtype: int64" 552 | ] 553 | }, 554 | "execution_count": 5, 555 | "metadata": {}, 556 | "output_type": "execute_result" 557 | } 558 | ], 559 | "source": [ 560 | "# Apply value_counts() on column LaunchSite\n", 561 | "df[\"LaunchSite\"].value_counts()" 562 | ] 563 | }, 564 | { 565 | "cell_type": "markdown", 566 | "metadata": {}, 567 | "source": [ 568 | "Each launch aims to an dedicated orbit, and here are some common orbit types:\n" 569 | ] 570 | }, 571 | { 572 | "cell_type": "markdown", 573 | "metadata": {}, 574 | "source": [ 575 | "* LEO: Low Earth orbit (LEO)is an Earth-centred orbit with an altitude of 2,000 km (1,200 mi) or less (approximately one-third of the radius of Earth),\\[1] or with at least 11.25 periods per day (an orbital period of 128 minutes or less) and an eccentricity less than 0.25.\\[2] Most of the manmade objects in outer space are in LEO \\[1].\n", 576 | "\n", 577 | "* VLEO: Very Low Earth Orbits (VLEO) can be defined as the orbits with a mean altitude below 450 km. Operating in these orbits can provide a number of benefits to Earth observation spacecraft as the spacecraft operates closer to the observation\\[2].\n", 578 | "\n", 579 | "* GTO A geosynchronous orbit is a high Earth orbit that allows satellites to match Earth's rotation. Located at 22,236 miles (35,786 kilometers) above Earth's equator, this position is a valuable spot for monitoring weather, communications and surveillance. Because the satellite orbits at the same speed that the Earth is turning, the satellite seems to stay in place over a single longitude, though it may drift north to south,” NASA wrote on its Earth Observatory website \\[3] .\n", 580 | "\n", 581 | "* SSO (or SO): It is a Sun-synchronous orbit also called a heliosynchronous orbit is a nearly polar orbit around a planet, in which the satellite passes over any given point of the planet's surface at the same local mean solar time \\[4] .\n", 582 | "\n", 583 | "* ES-L1 :At the Lagrange points the gravitational forces of the two large bodies cancel out in such a way that a small object placed in orbit there is in equilibrium relative to the center of mass of the large bodies. L1 is one such point between the sun and the earth \\[5] .\n", 584 | "\n", 585 | "* HEO A highly elliptical orbit, is an elliptic orbit with high eccentricity, usually referring to one around Earth \\[6].\n", 586 | "\n", 587 | "* ISS A modular space station (habitable artificial satellite) in low Earth orbit. It is a multinational collaborative project between five participating space agencies: NASA (United States), Roscosmos (Russia), JAXA (Japan), ESA (Europe), and CSA (Canada) \\[7] \n", 588 | "\n", 589 | "* MEO Geocentric orbits ranging in altitude from 2,000 km (1,200 mi) to just below geosynchronous orbit at 35,786 kilometers (22,236 mi). Also known as an intermediate circular orbit. These are \"most commonly at 20,200 kilometers (12,600 mi), or 20,650 kilometers (12,830 mi), with an orbital period of 12 hours \\[8] \n", 590 | "\n", 591 | "* HEO Geocentric orbits above the altitude of geosynchronous orbit (35,786 km or 22,236 mi) \\[9] \n", 592 | "\n", 593 | "* GEO It is a circular geosynchronous orbit 35,786 kilometres (22,236 miles) above Earth's equator and following the direction of Earth's rotation \\[10] \n", 594 | "\n", 595 | "* PO It is one type of satellites in which a satellite passes above or nearly above both poles of the body being orbited (usually a planet such as the Earth \\[11] \n", 596 | "\n", 597 | "some are shown in the following plot:\n" 598 | ] 599 | }, 600 | { 601 | "cell_type": "markdown", 602 | "metadata": {}, 603 | "source": [ 604 | "![](https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DS0701EN-SkillsNetwork/api/Images/Orbits.png)\n" 605 | ] 606 | }, 607 | { 608 | "cell_type": "markdown", 609 | "metadata": {}, 610 | "source": [ 611 | "### TASK 2: Calculate the number and occurrence of each orbit\n" 612 | ] 613 | }, 614 | { 615 | "cell_type": "markdown", 616 | "metadata": {}, 617 | "source": [ 618 | "Use the method .value_counts() to determine the number and occurrence of each orbit in the column Orbit\n" 619 | ] 620 | }, 621 | { 622 | "cell_type": "code", 623 | "execution_count": 6, 624 | "metadata": {}, 625 | "outputs": [ 626 | { 627 | "data": { 628 | "text/plain": [ 629 | "GTO 27\n", 630 | "ISS 21\n", 631 | "VLEO 14\n", 632 | "PO 9\n", 633 | "LEO 7\n", 634 | "SSO 5\n", 635 | "MEO 3\n", 636 | "SO 1\n", 637 | "HEO 1\n", 638 | "ES-L1 1\n", 639 | "GEO 1\n", 640 | "Name: Orbit, dtype: int64" 641 | ] 642 | }, 643 | "execution_count": 6, 644 | "metadata": {}, 645 | "output_type": "execute_result" 646 | } 647 | ], 648 | "source": [ 649 | "# Apply value_counts on Orbit column\n", 650 | "df[\"Orbit\"].value_counts()" 651 | ] 652 | }, 653 | { 654 | "cell_type": "markdown", 655 | "metadata": {}, 656 | "source": [ 657 | "### TASK 3: Calculate the number and occurence of mission outcome per orbit type\n" 658 | ] 659 | }, 660 | { 661 | "cell_type": "markdown", 662 | "metadata": {}, 663 | "source": [ 664 | "Use the method value_counts() to determine the number and occurrence of each orbit in the column Outcome , then assign it to the variable landing_outcomes:\n" 665 | ] 666 | }, 667 | { 668 | "cell_type": "code", 669 | "execution_count": 8, 670 | "metadata": {}, 671 | "outputs": [ 672 | { 673 | "data": { 674 | "text/plain": [ 675 | "True ASDS 41\n", 676 | "None None 19\n", 677 | "True RTLS 14\n", 678 | "False ASDS 6\n", 679 | "True Ocean 5\n", 680 | "False Ocean 2\n", 681 | "None ASDS 2\n", 682 | "False RTLS 1\n", 683 | "Name: Outcome, dtype: int64" 684 | ] 685 | }, 686 | "execution_count": 8, 687 | "metadata": {}, 688 | "output_type": "execute_result" 689 | } 690 | ], 691 | "source": [ 692 | "# landing_outcomes = values on Outcome column\n", 693 | "landing_outcomes = df[\"Outcome\"].value_counts()\n", 694 | "landing_outcomes" 695 | ] 696 | }, 697 | { 698 | "cell_type": "markdown", 699 | "metadata": {}, 700 | "source": [ 701 | "True Ocean means the mission outcome was successfully landed to a specific region of the ocean while False Ocean means the mission outcome was unsuccessfully landed to a specific region of the ocean. True RTLS means the mission outcome was successfully landed to a ground pad False RTLS means the mission outcome was unsuccessfully landed to a ground pad.True ASDS means the mission outcome was successfully landed to a drone ship False ASDS means the mission outcome was unsuccessfully landed to a drone ship. None ASDS and None None these represent a failure to land.\n" 702 | ] 703 | }, 704 | { 705 | "cell_type": "code", 706 | "execution_count": 9, 707 | "metadata": {}, 708 | "outputs": [ 709 | { 710 | "name": "stdout", 711 | "output_type": "stream", 712 | "text": [ 713 | "0 True ASDS\n", 714 | "1 None None\n", 715 | "2 True RTLS\n", 716 | "3 False ASDS\n", 717 | "4 True Ocean\n", 718 | "5 False Ocean\n", 719 | "6 None ASDS\n", 720 | "7 False RTLS\n" 721 | ] 722 | } 723 | ], 724 | "source": [ 725 | "for i,outcome in enumerate(landing_outcomes.keys()):\n", 726 | " print(i,outcome)" 727 | ] 728 | }, 729 | { 730 | "cell_type": "markdown", 731 | "metadata": {}, 732 | "source": [ 733 | "We create a set of outcomes where the second stage did not land successfully:\n" 734 | ] 735 | }, 736 | { 737 | "cell_type": "code", 738 | "execution_count": 10, 739 | "metadata": {}, 740 | "outputs": [ 741 | { 742 | "data": { 743 | "text/plain": [ 744 | "{'False ASDS', 'False Ocean', 'False RTLS', 'None ASDS', 'None None'}" 745 | ] 746 | }, 747 | "execution_count": 10, 748 | "metadata": {}, 749 | "output_type": "execute_result" 750 | } 751 | ], 752 | "source": [ 753 | "bad_outcomes=set(landing_outcomes.keys()[[1,3,5,6,7]])\n", 754 | "bad_outcomes" 755 | ] 756 | }, 757 | { 758 | "cell_type": "markdown", 759 | "metadata": {}, 760 | "source": [ 761 | "### TASK 4: Create a landing outcome label from Outcome column\n" 762 | ] 763 | }, 764 | { 765 | "cell_type": "markdown", 766 | "metadata": {}, 767 | "source": [ 768 | "Using the Outcome, create a list where the element is zero if the corresponding row in Outcome is in the set bad_outcome; otherwise, it's one. Then assign it to the variable landing_class:\n" 769 | ] 770 | }, 771 | { 772 | "cell_type": "code", 773 | "execution_count": null, 774 | "metadata": {}, 775 | "outputs": [], 776 | "source": [ 777 | "# landing_class = 0 if bad_outcome\n", 778 | "# landing_class = 1 otherwise" 779 | ] 780 | }, 781 | { 782 | "cell_type": "markdown", 783 | "metadata": {}, 784 | "source": [ 785 | "This variable will represent the classification variable that represents the outcome of each launch. If the value is zero, the first stage did not land successfully; one means the first stage landed Successfully\n" 786 | ] 787 | }, 788 | { 789 | "cell_type": "code", 790 | "execution_count": null, 791 | "metadata": {}, 792 | "outputs": [], 793 | "source": [ 794 | "df['Class']=landing_class\n", 795 | "df[['Class']].head(8)" 796 | ] 797 | }, 798 | { 799 | "cell_type": "code", 800 | "execution_count": null, 801 | "metadata": {}, 802 | "outputs": [], 803 | "source": [ 804 | "df.head(5)" 805 | ] 806 | }, 807 | { 808 | "cell_type": "markdown", 809 | "metadata": {}, 810 | "source": [ 811 | "We can use the following line of code to determine the success rate:\n" 812 | ] 813 | }, 814 | { 815 | "cell_type": "code", 816 | "execution_count": null, 817 | "metadata": {}, 818 | "outputs": [], 819 | "source": [ 820 | "df[\"Class\"].mean()" 821 | ] 822 | }, 823 | { 824 | "cell_type": "markdown", 825 | "metadata": {}, 826 | "source": [ 827 | "We can now export it to a CSV for the next section,but to make the answers consistent, in the next lab we will provide data in a pre-selected date range.\n" 828 | ] 829 | }, 830 | { 831 | "cell_type": "markdown", 832 | "metadata": {}, 833 | "source": [ 834 | "df.to_csv(\"dataset_part\\_2.csv\", index=False)\n" 835 | ] 836 | }, 837 | { 838 | "cell_type": "markdown", 839 | "metadata": {}, 840 | "source": [ 841 | "## Authors\n" 842 | ] 843 | }, 844 | { 845 | "cell_type": "markdown", 846 | "metadata": {}, 847 | "source": [ 848 | "Joseph Santarcangelo has a PhD in Electrical Engineering, his research focused on using machine learning, signal processing, and computer vision to determine how videos impact human cognition. Joseph has been working for IBM since he completed his PhD.\n" 849 | ] 850 | }, 851 | { 852 | "cell_type": "markdown", 853 | "metadata": {}, 854 | "source": [ 855 | "Nayef Abou Tayoun is a Data Scientist at IBM and pursuing a Master of Management in Artificial intelligence degree at Queen's University.\n" 856 | ] 857 | }, 858 | { 859 | "cell_type": "markdown", 860 | "metadata": {}, 861 | "source": [ 862 | "## Change Log\n" 863 | ] 864 | }, 865 | { 866 | "cell_type": "markdown", 867 | "metadata": {}, 868 | "source": [ 869 | "| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n", 870 | "| ----------------- | ------- | ---------- | ----------------------- |\n", 871 | "| 2020-09-20 | 1.0 | Joseph | Modified Multiple Areas |\n", 872 | "| 2020-11-04 | 1.1. | Nayef | updating the input data |\n", 873 | "| 2021-05-026 | 1.1. | Joseph | updating the input data |\n" 874 | ] 875 | }, 876 | { 877 | "cell_type": "markdown", 878 | "metadata": {}, 879 | "source": [ 880 | "Copyright © 2021 IBM Corporation. All rights reserved.\n" 881 | ] 882 | } 883 | ], 884 | "metadata": { 885 | "kernelspec": { 886 | "display_name": "Python 3", 887 | "language": "python", 888 | "name": "python3" 889 | }, 890 | "language_info": { 891 | "codemirror_mode": { 892 | "name": "ipython", 893 | "version": 3 894 | }, 895 | "file_extension": ".py", 896 | "mimetype": "text/x-python", 897 | "name": "python", 898 | "nbconvert_exporter": "python", 899 | "pygments_lexer": "ipython3", 900 | "version": "3.8.3" 901 | } 902 | }, 903 | "nbformat": 4, 904 | "nbformat_minor": 4 905 | } 906 | -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 1 Introduction/Graded Quiz/Data Collection API with Webscraping Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/10.Applied_Data_Science_Capstone/Week 1 Introduction/Graded Quiz/Data Collection API with Webscraping Quiz.pdf -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 1 Introduction/Graded Quiz/Data Wrangling Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/10.Applied_Data_Science_Capstone/Week 1 Introduction/Graded Quiz/Data Wrangling Quiz.pdf -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 2 EDA/.ipynb_checkpoints/EDA-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "
\n", 8 | " \"cognitiveclass.ai\n", 9 | "
\n", 10 | "\n", 11 | "

Assignment: SQL Notebook for Peer Assignment

\n", 12 | "\n", 13 | "Estimated time needed: **60** minutes.\n", 14 | "\n", 15 | "## Introduction\n", 16 | "\n", 17 | "Using this Python notebook you will:\n", 18 | "\n", 19 | "1. Understand the Spacex DataSet\n", 20 | "2. Load the dataset into the corresponding table in a Db2 database\n", 21 | "3. Execute SQL queries to answer assignment questions\n" 22 | ] 23 | }, 24 | { 25 | "cell_type": "markdown", 26 | "metadata": {}, 27 | "source": [ 28 | "## Overview of the DataSet\n", 29 | "\n", 30 | "SpaceX has gained worldwide attention for a series of historic milestones.\n", 31 | "\n", 32 | "It is the only private company ever to return a spacecraft from low-earth orbit, which it first accomplished in December 2010.\n", 33 | "SpaceX advertises Falcon 9 rocket launches on its website with a cost of 62 million dollars wheras other providers cost upward of 165 million dollars each, much of the savings is because Space X can reuse the first stage.\n", 34 | "\n", 35 | "Therefore if we can determine if the first stage will land, we can determine the cost of a launch.\n", 36 | "\n", 37 | "This information can be used if an alternate company wants to bid against SpaceX for a rocket launch.\n", 38 | "\n", 39 | "This dataset includes a record for each payload carried during a SpaceX mission into outer space.\n" 40 | ] 41 | }, 42 | { 43 | "cell_type": "markdown", 44 | "metadata": {}, 45 | "source": [ 46 | "### Download the datasets\n", 47 | "\n", 48 | "This assignment requires you to load the spacex dataset.\n", 49 | "\n", 50 | "In many cases the dataset to be analyzed is available as a .CSV (comma separated values) file, perhaps on the internet. Click on the link below to download and save the dataset (.CSV file):\n", 51 | "\n", 52 | "Spacex DataSet\n" 53 | ] 54 | }, 55 | { 56 | "cell_type": "markdown", 57 | "metadata": {}, 58 | "source": [ 59 | "### Store the dataset in database table\n", 60 | "\n", 61 | "**it is highly recommended to manually load the table using the database console LOAD tool in DB2**.\n", 62 | "\n", 63 | "\n", 64 | "\n", 65 | "Now open the Db2 console, open the LOAD tool, Select / Drag the .CSV file for the dataset, Next create a New Table, and then follow the steps on-screen instructions to load the data. Name the new table as follows:\n", 66 | "\n", 67 | "**SPACEXDATASET**\n", 68 | "\n", 69 | "**Follow these steps while using old DB2 UI which is having Open Console Screen**\n", 70 | "\n", 71 | "**Note:While loading Spacex dataset, ensure that detect datatypes is disabled. Later click on the pencil icon(edit option).**\n", 72 | "\n", 73 | "1. Change the Date Format by manually typing DD-MM-YYYY and timestamp format as DD-MM-YYYY HH\\:MM:SS\n", 74 | "\n", 75 | "2. Change the PAYLOAD_MASS\\_\\_KG\\_ datatype to INTEGER.\n", 76 | "\n", 77 | "\n" 78 | ] 79 | }, 80 | { 81 | "cell_type": "markdown", 82 | "metadata": {}, 83 | "source": [ 84 | "**Changes to be considered when having DB2 instance with the new UI having Go to UI screen**\n", 85 | "\n", 86 | "* Refer to this insruction in this link for viewing the new Go to UI screen.\n", 87 | "\n", 88 | "* Later click on **Data link(below SQL)** in the Go to UI screen and click on **Load Data** tab.\n", 89 | "\n", 90 | "* Later browse for the downloaded spacex file.\n", 91 | "\n", 92 | "\n", 93 | "\n", 94 | "* Once done select the schema andload the file.\n", 95 | "\n", 96 | " \n" 97 | ] 98 | }, 99 | { 100 | "cell_type": "code", 101 | "execution_count": 1, 102 | "metadata": {}, 103 | "outputs": [ 104 | { 105 | "name": "stdout", 106 | "output_type": "stream", 107 | "text": [ 108 | "Requirement already satisfied: sqlalchemy==1.3.9 in c:\\users\\admin\\anaconda3\\lib\\site-packages (1.3.9)\n", 109 | "Requirement already satisfied: ibm_db_sa in c:\\users\\admin\\anaconda3\\lib\\site-packages (0.3.7)\n", 110 | "Requirement already satisfied: sqlalchemy>=0.7.3 in c:\\users\\admin\\anaconda3\\lib\\site-packages (from ibm_db_sa) (1.3.9)\n", 111 | "Requirement already satisfied: ibm-db>=2.0.0 in c:\\users\\admin\\anaconda3\\lib\\site-packages (from ibm_db_sa) (3.0.4)\n" 112 | ] 113 | } 114 | ], 115 | "source": [ 116 | "!pip install sqlalchemy==1.3.9\n", 117 | "!pip install ibm_db_sa" 118 | ] 119 | }, 120 | { 121 | "cell_type": "markdown", 122 | "metadata": {}, 123 | "source": [ 124 | "### Connect to the database\n", 125 | "\n", 126 | "Let us first load the SQL extension and establish a connection with the database\n" 127 | ] 128 | }, 129 | { 130 | "cell_type": "code", 131 | "execution_count": 2, 132 | "metadata": {}, 133 | "outputs": [], 134 | "source": [ 135 | "%load_ext sql" 136 | ] 137 | }, 138 | { 139 | "cell_type": "markdown", 140 | "metadata": {}, 141 | "source": [ 142 | "**DB2 magic in case of old UI service credentials.**\n", 143 | "\n", 144 | "In the next cell enter your db2 connection string. Recall you created Service Credentials for your Db2 instance before. From the **uri** field of your Db2 service credentials copy everything after db2:// (except the double quote at the end) and paste it in the cell below after ibm_db_sa://\n", 145 | "\n", 146 | "\n", 147 | "\n", 148 | "in the following format\n", 149 | "\n", 150 | "**%sql ibm_db_sa://my-username:my-password\\@my-hostname:my-port/my-db-name**\n", 151 | "\n", 152 | "**DB2 magic in case of new UI service credentials.**\n", 153 | "\n", 154 | " \n", 155 | "\n", 156 | "* Use the following format.\n", 157 | "\n", 158 | "* Add security=SSL at the end\n", 159 | "\n", 160 | "**%sql ibm_db_sa://my-username:my-password\\@my-hostname:my-port/my-db-name?security=SSL**\n" 161 | ] 162 | }, 163 | { 164 | "cell_type": "code", 165 | "execution_count": null, 166 | "metadata": {}, 167 | "outputs": [], 168 | "source": [] 169 | }, 170 | { 171 | "cell_type": "code", 172 | "execution_count": null, 173 | "metadata": {}, 174 | "outputs": [], 175 | "source": [] 176 | }, 177 | { 178 | "cell_type": "code", 179 | "execution_count": null, 180 | "metadata": {}, 181 | "outputs": [], 182 | "source": [ 183 | "%sql ibm_db_sa://" 184 | ] 185 | }, 186 | { 187 | "cell_type": "markdown", 188 | "metadata": {}, 189 | "source": [ 190 | "## Tasks\n", 191 | "\n", 192 | "Now write and execute SQL queries to solve the assignment tasks.\n", 193 | "\n", 194 | "### Task 1\n", 195 | "\n", 196 | "##### Display the names of the unique launch sites in the space mission\n" 197 | ] 198 | }, 199 | { 200 | "cell_type": "code", 201 | "execution_count": null, 202 | "metadata": {}, 203 | "outputs": [], 204 | "source": [] 205 | }, 206 | { 207 | "cell_type": "markdown", 208 | "metadata": {}, 209 | "source": [ 210 | "### Task 2\n", 211 | "\n", 212 | "##### Display 5 records where launch sites begin with the string 'CCA'\n" 213 | ] 214 | }, 215 | { 216 | "cell_type": "code", 217 | "execution_count": null, 218 | "metadata": {}, 219 | "outputs": [], 220 | "source": [] 221 | }, 222 | { 223 | "cell_type": "markdown", 224 | "metadata": {}, 225 | "source": [ 226 | "### Task 3\n", 227 | "\n", 228 | "##### Display the total payload mass carried by boosters launched by NASA (CRS)\n" 229 | ] 230 | }, 231 | { 232 | "cell_type": "code", 233 | "execution_count": null, 234 | "metadata": {}, 235 | "outputs": [], 236 | "source": [] 237 | }, 238 | { 239 | "cell_type": "markdown", 240 | "metadata": {}, 241 | "source": [ 242 | "### Task 4\n", 243 | "\n", 244 | "##### Display average payload mass carried by booster version F9 v1.1\n" 245 | ] 246 | }, 247 | { 248 | "cell_type": "code", 249 | "execution_count": null, 250 | "metadata": {}, 251 | "outputs": [], 252 | "source": [] 253 | }, 254 | { 255 | "cell_type": "markdown", 256 | "metadata": {}, 257 | "source": [ 258 | "### Task 5\n", 259 | "\n", 260 | "##### List the date when the first succesful landing outcome in ground pad was acheived.\n", 261 | "\n", 262 | "*Hint:Use min function*\n" 263 | ] 264 | }, 265 | { 266 | "cell_type": "code", 267 | "execution_count": null, 268 | "metadata": {}, 269 | "outputs": [], 270 | "source": [] 271 | }, 272 | { 273 | "cell_type": "markdown", 274 | "metadata": {}, 275 | "source": [ 276 | "### Task 6\n", 277 | "\n", 278 | "##### List the names of the boosters which have success in drone ship and have payload mass greater than 4000 but less than 6000\n" 279 | ] 280 | }, 281 | { 282 | "cell_type": "code", 283 | "execution_count": null, 284 | "metadata": {}, 285 | "outputs": [], 286 | "source": [] 287 | }, 288 | { 289 | "cell_type": "markdown", 290 | "metadata": {}, 291 | "source": [ 292 | "### Task 7\n", 293 | "\n", 294 | "##### List the total number of successful and failure mission outcomes\n" 295 | ] 296 | }, 297 | { 298 | "cell_type": "code", 299 | "execution_count": null, 300 | "metadata": {}, 301 | "outputs": [], 302 | "source": [] 303 | }, 304 | { 305 | "cell_type": "markdown", 306 | "metadata": {}, 307 | "source": [ 308 | "### Task 8\n", 309 | "\n", 310 | "##### List the names of the booster_versions which have carried the maximum payload mass. Use a subquery\n" 311 | ] 312 | }, 313 | { 314 | "cell_type": "code", 315 | "execution_count": null, 316 | "metadata": {}, 317 | "outputs": [], 318 | "source": [] 319 | }, 320 | { 321 | "cell_type": "markdown", 322 | "metadata": {}, 323 | "source": [ 324 | "### Task 9\n", 325 | "\n", 326 | "##### List the failed landing_outcomes in drone ship, their booster versions, and launch site names for the in year 2015\n" 327 | ] 328 | }, 329 | { 330 | "cell_type": "code", 331 | "execution_count": null, 332 | "metadata": {}, 333 | "outputs": [], 334 | "source": [] 335 | }, 336 | { 337 | "cell_type": "markdown", 338 | "metadata": {}, 339 | "source": [ 340 | "### Task 10\n", 341 | "\n", 342 | "##### Rank the count of landing outcomes (such as Failure (drone ship) or Success (ground pad)) between the date 2010-06-04 and 2017-03-20, in descending order\n" 343 | ] 344 | }, 345 | { 346 | "cell_type": "code", 347 | "execution_count": null, 348 | "metadata": {}, 349 | "outputs": [], 350 | "source": [] 351 | }, 352 | { 353 | "cell_type": "markdown", 354 | "metadata": {}, 355 | "source": [ 356 | "### Reference Links\n", 357 | "\n", 358 | "* Hands-on Lab : String Patterns, Sorting and Grouping\n", 359 | "\n", 360 | "* Hands-on Lab: Built-in functions\n", 361 | "\n", 362 | "* Hands-on Lab : Sub-queries and Nested SELECT Statements\n", 363 | "\n", 364 | "* Hands-on Tutorial: Accessing Databases with SQL magic\n", 365 | "\n", 366 | "* Hands-on Lab: Analyzing a real World Data Set\n" 367 | ] 368 | }, 369 | { 370 | "cell_type": "markdown", 371 | "metadata": {}, 372 | "source": [ 373 | "## Author(s)\n", 374 | "\n", 375 | "

Lakshmi Holla

\n" 376 | ] 377 | }, 378 | { 379 | "cell_type": "markdown", 380 | "metadata": {}, 381 | "source": [ 382 | "## Other Contributors\n", 383 | "\n", 384 | "

Rav Ahuja

\n" 385 | ] 386 | }, 387 | { 388 | "cell_type": "markdown", 389 | "metadata": {}, 390 | "source": [ 391 | "## Change log\n", 392 | "\n", 393 | "| Date | Version | Changed by | Change Description |\n", 394 | "| ---------- | ------- | ------------- | ------------------------- |\n", 395 | "| 2021-07-09 | 0.2 | Lakshmi Holla | Changes made in magic sql |\n", 396 | "| 2021-05-20 | 0.1 | Lakshmi Holla | Created Initial Version |\n" 397 | ] 398 | }, 399 | { 400 | "cell_type": "markdown", 401 | "metadata": {}, 402 | "source": [ 403 | "##

© IBM Corporation 2021. All rights reserved.

\n" 404 | ] 405 | } 406 | ], 407 | "metadata": { 408 | "kernelspec": { 409 | "display_name": "Python 3", 410 | "language": "python", 411 | "name": "python3" 412 | }, 413 | "language_info": { 414 | "codemirror_mode": { 415 | "name": "ipython", 416 | "version": 3 417 | }, 418 | "file_extension": ".py", 419 | "mimetype": "text/x-python", 420 | "name": "python", 421 | "nbconvert_exporter": "python", 422 | "pygments_lexer": "ipython3", 423 | "version": "3.8.3" 424 | } 425 | }, 426 | "nbformat": 4, 427 | "nbformat_minor": 4 428 | } 429 | -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 2 EDA/Graded Quiz/Exploratory Data Analysis for Data Visualization.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/10.Applied_Data_Science_Capstone/Week 2 EDA/Graded Quiz/Exploratory Data Analysis for Data Visualization.pdf -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 2 EDA/Graded Quiz/Exploratory Data Analysis using SQL Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/10.Applied_Data_Science_Capstone/Week 2 EDA/Graded Quiz/Exploratory Data Analysis using SQL Quiz.pdf -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 3 Interactive Visual Analytics and Dashboard/.ipynb_checkpoints/Interactive Visual Analytics with Folium-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "id": "3n3ltmfnrqpi", 7 | "outputId": "a2d4f52a-2fb7-4668-f5f0-fe862aab8eb0", 8 | "papermill": { 9 | "duration": 1.489571, 10 | "end_time": "2020-09-19T06:26:57.168979", 11 | "exception": false, 12 | "start_time": "2020-09-19T06:26:55.679408", 13 | "status": "completed" 14 | }, 15 | "tags": [] 16 | }, 17 | "source": [ 18 | "
\n", 19 | " \"cognitiveclass.ai\n", 20 | "
\n" 21 | ] 22 | }, 23 | { 24 | "cell_type": "markdown", 25 | "metadata": {}, 26 | "source": [ 27 | "# **Launch Sites Locations Analysis with Folium**\n" 28 | ] 29 | }, 30 | { 31 | "cell_type": "markdown", 32 | "metadata": {}, 33 | "source": [ 34 | "Estimated time needed: **40** minutes\n" 35 | ] 36 | }, 37 | { 38 | "cell_type": "markdown", 39 | "metadata": {}, 40 | "source": [ 41 | "The launch success rate may depend on many factors such as payload mass, orbit type, and so on. It may also depend on the location and proximities of a launch site, i.e., the initial position of rocket trajectories. Finding an optimal location for building a launch site certainly involves many factors and hopefully we could discover some of the factors by analyzing the existing launch site locations.\n" 42 | ] 43 | }, 44 | { 45 | "cell_type": "markdown", 46 | "metadata": {}, 47 | "source": [ 48 | "In the previous exploratory data analysis labs, you have visualized the SpaceX launch dataset using `matplotlib` and `seaborn` and discovered some preliminary correlations between the launch site and success rates. In this lab, you will be performing more interactive visual analytics using `Folium`.\n" 49 | ] 50 | }, 51 | { 52 | "cell_type": "markdown", 53 | "metadata": {}, 54 | "source": [ 55 | "## Objectives\n" 56 | ] 57 | }, 58 | { 59 | "cell_type": "markdown", 60 | "metadata": {}, 61 | "source": [ 62 | "This lab contains the following tasks:\n", 63 | "\n", 64 | "* **TASK 1:** Mark all launch sites on a map\n", 65 | "* **TASK 2:** Mark the success/failed launches for each site on the map\n", 66 | "* **TASK 3:** Calculate the distances between a launch site to its proximities\n", 67 | "\n", 68 | "After completed the above tasks, you should be able to find some geographical patterns about launch sites.\n" 69 | ] 70 | }, 71 | { 72 | "cell_type": "markdown", 73 | "metadata": {}, 74 | "source": [ 75 | "Let's first import required Python packages for this lab:\n" 76 | ] 77 | }, 78 | { 79 | "cell_type": "code", 80 | "execution_count": 1, 81 | "metadata": {}, 82 | "outputs": [ 83 | { 84 | "name": "stdout", 85 | "output_type": "stream", 86 | "text": [ 87 | "Collecting folium\n", 88 | " Downloading folium-0.12.1-py2.py3-none-any.whl (94 kB)\n", 89 | "Requirement already satisfied: jinja2>=2.9 in c:\\users\\admin\\anaconda3\\lib\\site-packages (from folium) (2.11.2)\n", 90 | "Requirement already satisfied: numpy in c:\\users\\admin\\anaconda3\\lib\\site-packages (from folium) (1.18.5)\n", 91 | "Collecting branca>=0.3.0\n", 92 | " Downloading branca-0.4.2-py3-none-any.whl (24 kB)\n", 93 | "Requirement already satisfied: requests in c:\\users\\admin\\anaconda3\\lib\\site-packages (from folium) (2.24.0)\n", 94 | "Requirement already satisfied: MarkupSafe>=0.23 in c:\\users\\admin\\anaconda3\\lib\\site-packages (from jinja2>=2.9->folium) (1.1.1)\n", 95 | "Requirement already satisfied: chardet<4,>=3.0.2 in c:\\users\\admin\\anaconda3\\lib\\site-packages (from requests->folium) (3.0.4)\n", 96 | "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\admin\\anaconda3\\lib\\site-packages (from requests->folium) (2020.6.20)\n", 97 | "Requirement already satisfied: idna<3,>=2.5 in c:\\users\\admin\\anaconda3\\lib\\site-packages (from requests->folium) (2.10)\n", 98 | "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\admin\\anaconda3\\lib\\site-packages (from requests->folium) (1.25.9)\n", 99 | "Installing collected packages: branca, folium\n", 100 | "Successfully installed branca-0.4.2 folium-0.12.1\n", 101 | "Collecting wget\n", 102 | " Downloading wget-3.2.zip (10 kB)\n", 103 | "Building wheels for collected packages: wget\n", 104 | " Building wheel for wget (setup.py): started\n", 105 | " Building wheel for wget (setup.py): finished with status 'done'\n", 106 | " Created wheel for wget: filename=wget-3.2-py3-none-any.whl size=9686 sha256=2d4d3051483c092d28ac9319fdb34354de1a44673e848684c48303fcc83d3eda\n", 107 | " Stored in directory: c:\\users\\admin\\appdata\\local\\pip\\cache\\wheels\\bd\\a8\\c3\\3cf2c14a1837a4e04bd98631724e81f33f462d86a1d895fae0\n", 108 | "Successfully built wget\n", 109 | "Installing collected packages: wget\n", 110 | "Successfully installed wget-3.2\n" 111 | ] 112 | } 113 | ], 114 | "source": [ 115 | "!pip3 install folium\n", 116 | "!pip3 install wget" 117 | ] 118 | }, 119 | { 120 | "cell_type": "code", 121 | "execution_count": 2, 122 | "metadata": {}, 123 | "outputs": [], 124 | "source": [ 125 | "import folium\n", 126 | "import wget\n", 127 | "import pandas as pd" 128 | ] 129 | }, 130 | { 131 | "cell_type": "code", 132 | "execution_count": 3, 133 | "metadata": {}, 134 | "outputs": [], 135 | "source": [ 136 | "# Import folium MarkerCluster plugin\n", 137 | "from folium.plugins import MarkerCluster\n", 138 | "# Import folium MousePosition plugin\n", 139 | "from folium.plugins import MousePosition\n", 140 | "# Import folium DivIcon plugin\n", 141 | "from folium.features import DivIcon" 142 | ] 143 | }, 144 | { 145 | "cell_type": "markdown", 146 | "metadata": {}, 147 | "source": [ 148 | "## Task 1: Mark all launch sites on a map\n" 149 | ] 150 | }, 151 | { 152 | "cell_type": "markdown", 153 | "metadata": {}, 154 | "source": [ 155 | "First, let's try to add each site's location on a map using site's latitude and longitude coordinates\n" 156 | ] 157 | }, 158 | { 159 | "cell_type": "markdown", 160 | "metadata": {}, 161 | "source": [ 162 | "The following dataset with the name `spacex_launch_geo.csv` is an augmented dataset with latitude and longitude added for each site.\n" 163 | ] 164 | }, 165 | { 166 | "cell_type": "code", 167 | "execution_count": 4, 168 | "metadata": {}, 169 | "outputs": [ 170 | { 171 | "name": "stdout", 172 | "output_type": "stream", 173 | "text": [ 174 | "\r", 175 | " 0% [ ] 0 / 8966\r", 176 | " 91% [......................................................................... ] 8192 / 8966\r", 177 | "100% [................................................................................] 8966 / 8966" 178 | ] 179 | } 180 | ], 181 | "source": [ 182 | "# Download and read the `spacex_launch_geo.csv`\n", 183 | "spacex_csv_file = wget.download('https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBM-DS0321EN-SkillsNetwork/datasets/spacex_launch_geo.csv')\n", 184 | "spacex_df=pd.read_csv(spacex_csv_file)" 185 | ] 186 | }, 187 | { 188 | "cell_type": "markdown", 189 | "metadata": {}, 190 | "source": [ 191 | "Now, you can take a look at what are the coordinates for each site.\n" 192 | ] 193 | }, 194 | { 195 | "cell_type": "code", 196 | "execution_count": 5, 197 | "metadata": {}, 198 | "outputs": [ 199 | { 200 | "data": { 201 | "text/html": [ 202 | "
\n", 203 | "\n", 216 | "\n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | "
Launch SiteLatLong
0CCAFS LC-4028.562302-80.577356
1CCAFS SLC-4028.563197-80.576820
2KSC LC-39A28.573255-80.646895
3VAFB SLC-4E34.632834-120.610746
\n", 252 | "
" 253 | ], 254 | "text/plain": [ 255 | " Launch Site Lat Long\n", 256 | "0 CCAFS LC-40 28.562302 -80.577356\n", 257 | "1 CCAFS SLC-40 28.563197 -80.576820\n", 258 | "2 KSC LC-39A 28.573255 -80.646895\n", 259 | "3 VAFB SLC-4E 34.632834 -120.610746" 260 | ] 261 | }, 262 | "execution_count": 5, 263 | "metadata": {}, 264 | "output_type": "execute_result" 265 | } 266 | ], 267 | "source": [ 268 | "# Select relevant sub-columns: `Launch Site`, `Lat(Latitude)`, `Long(Longitude)`, `class`\n", 269 | "spacex_df = spacex_df[['Launch Site', 'Lat', 'Long', 'class']]\n", 270 | "launch_sites_df = spacex_df.groupby(['Launch Site'], as_index=False).first()\n", 271 | "launch_sites_df = launch_sites_df[['Launch Site', 'Lat', 'Long']]\n", 272 | "launch_sites_df" 273 | ] 274 | }, 275 | { 276 | "cell_type": "code", 277 | "execution_count": 6, 278 | "metadata": {}, 279 | "outputs": [ 280 | { 281 | "data": { 282 | "text/plain": [ 283 | "28.56230196799018" 284 | ] 285 | }, 286 | "execution_count": 6, 287 | "metadata": {}, 288 | "output_type": "execute_result" 289 | } 290 | ], 291 | "source": [ 292 | "launch_sites_df[\"Lat\"][0]" 293 | ] 294 | }, 295 | { 296 | "cell_type": "markdown", 297 | "metadata": {}, 298 | "source": [ 299 | "Above coordinates are just plain numbers that can not give you any intuitive insights about where are those launch sites. If you are very good at geography, you can interpret those numbers directly in your mind. If not, that's fine too. Let's visualize those locations by pinning them on a map.\n" 300 | ] 301 | }, 302 | { 303 | "cell_type": "markdown", 304 | "metadata": {}, 305 | "source": [ 306 | "We first need to create a folium `Map` object, with an initial center location to be NASA Johnson Space Center at Houston, Texas.\n" 307 | ] 308 | }, 309 | { 310 | "cell_type": "code", 311 | "execution_count": 7, 312 | "metadata": {}, 313 | "outputs": [], 314 | "source": [ 315 | "# Start location is NASA Johnson Space Center\n", 316 | "nasa_coordinate = [29.559684888503615, -95.0830971930759]\n", 317 | "site_map = folium.Map(location=nasa_coordinate, zoom_start=10)" 318 | ] 319 | }, 320 | { 321 | "cell_type": "markdown", 322 | "metadata": {}, 323 | "source": [ 324 | "We could use `folium.Circle` to add a highlighted circle area with a text label on a specific coordinate. For example,\n" 325 | ] 326 | }, 327 | { 328 | "cell_type": "code", 329 | "execution_count": 8, 330 | "metadata": {}, 331 | "outputs": [ 332 | { 333 | "data": { 334 | "text/html": [ 335 | "
Make this Notebook Trusted to load map: File -> Trust Notebook
" 336 | ], 337 | "text/plain": [ 338 | "" 339 | ] 340 | }, 341 | "execution_count": 8, 342 | "metadata": {}, 343 | "output_type": "execute_result" 344 | } 345 | ], 346 | "source": [ 347 | "# Create a blue circle at NASA Johnson Space Center's coordinate with a popup label showing its name\n", 348 | "circle = folium.Circle(nasa_coordinate, radius=1000, color='#d35400', fill=True).add_child(folium.Popup('NASA Johnson Space Center'))\n", 349 | "# Create a blue circle at NASA Johnson Space Center's coordinate with a icon showing its name\n", 350 | "marker = folium.map.Marker(\n", 351 | " nasa_coordinate,\n", 352 | " # Create an icon as a text label\n", 353 | " icon=DivIcon(\n", 354 | " icon_size=(20,20),\n", 355 | " icon_anchor=(0,0),\n", 356 | " html='
%s
' % 'NASA JSC',\n", 357 | " )\n", 358 | " )\n", 359 | "site_map.add_child(circle)\n", 360 | "site_map.add_child(marker)" 361 | ] 362 | }, 363 | { 364 | "cell_type": "markdown", 365 | "metadata": {}, 366 | "source": [ 367 | "and you should find a small yellow circle near the city of Houston and you can zoom-in to see a larger circle.\n" 368 | ] 369 | }, 370 | { 371 | "cell_type": "markdown", 372 | "metadata": {}, 373 | "source": [ 374 | "Now, let's add a circle for each launch site in data frame `launch_sites`\n" 375 | ] 376 | }, 377 | { 378 | "cell_type": "markdown", 379 | "metadata": {}, 380 | "source": [ 381 | "*TODO:* Create and add `folium.Circle` and `folium.Marker` for each launch site on the site map\n" 382 | ] 383 | }, 384 | { 385 | "cell_type": "code", 386 | "execution_count": null, 387 | "metadata": {}, 388 | "outputs": [], 389 | "source": [ 390 | "# Initial the map\n", 391 | "site_map = folium.Map(location=nasa_coordinate, zoom_start=5)\n", 392 | "# For each launch site, add a Circle object based on its coordinate (Lat, Long) values. In addition, add Launch site name as a popup label\n" 393 | ] 394 | }, 395 | { 396 | "cell_type": "markdown", 397 | "metadata": {}, 398 | "source": [ 399 | "The generated map with marked launch sites should look similar to the following:\n" 400 | ] 401 | }, 402 | { 403 | "cell_type": "markdown", 404 | "metadata": {}, 405 | "source": [ 406 | "
\n", 407 | " \n", 408 | "
\n" 409 | ] 410 | }, 411 | { 412 | "cell_type": "markdown", 413 | "metadata": {}, 414 | "source": [ 415 | "Now, you can explore the map by zoom-in/out the marked areas\n", 416 | ", and try to answer the following questions:\n", 417 | "\n", 418 | "* Are all launch sites in proximity to the Equator line?\n", 419 | "* Are all launch sites in very close proximity to the coast?\n", 420 | "\n", 421 | "Also please try to explain your findings.\n" 422 | ] 423 | }, 424 | { 425 | "cell_type": "markdown", 426 | "metadata": {}, 427 | "source": [ 428 | "# Task 2: Mark the success/failed launches for each site on the map\n" 429 | ] 430 | }, 431 | { 432 | "cell_type": "markdown", 433 | "metadata": {}, 434 | "source": [ 435 | "Next, let's try to enhance the map by adding the launch outcomes for each site, and see which sites have high success rates.\n", 436 | "Recall that data frame spacex_df has detailed launch records, and the `class` column indicates if this launch was successful or not\n" 437 | ] 438 | }, 439 | { 440 | "cell_type": "code", 441 | "execution_count": null, 442 | "metadata": {}, 443 | "outputs": [], 444 | "source": [ 445 | "spacex_df.tail(10)" 446 | ] 447 | }, 448 | { 449 | "cell_type": "markdown", 450 | "metadata": {}, 451 | "source": [ 452 | "Next, let's create markers for all launch records.\n", 453 | "If a launch was successful `(class=1)`, then we use a green marker and if a launch was failed, we use a red marker `(class=0)`\n" 454 | ] 455 | }, 456 | { 457 | "cell_type": "markdown", 458 | "metadata": {}, 459 | "source": [ 460 | "Note that a launch only happens in one of the four launch sites, which means many launch records will have the exact same coordinate. Marker clusters can be a good way to simplify a map containing many markers having the same coordinate.\n" 461 | ] 462 | }, 463 | { 464 | "cell_type": "markdown", 465 | "metadata": {}, 466 | "source": [ 467 | "Let's first create a `MarkerCluster` object\n" 468 | ] 469 | }, 470 | { 471 | "cell_type": "code", 472 | "execution_count": null, 473 | "metadata": { 474 | "id": "wP9PVUZ7Jfjt", 475 | "outputId": "6a3b8164-940c-4b93-9f3d-c655c4a0c683", 476 | "papermill": { 477 | "duration": 0.904519, 478 | "end_time": "2020-09-19T06:27:38.357041", 479 | "exception": false, 480 | "start_time": "2020-09-19T06:27:37.452522", 481 | "status": "completed" 482 | }, 483 | "tags": [] 484 | }, 485 | "outputs": [], 486 | "source": [ 487 | "marker_cluster = MarkerCluster()\n" 488 | ] 489 | }, 490 | { 491 | "cell_type": "markdown", 492 | "metadata": {}, 493 | "source": [ 494 | "*TODO:* Create a new column in `launch_sites` dataframe called `marker_color` to store the marker colors based on the `class` value\n" 495 | ] 496 | }, 497 | { 498 | "cell_type": "code", 499 | "execution_count": null, 500 | "metadata": {}, 501 | "outputs": [], 502 | "source": [ 503 | "\n", 504 | "# Apply a function to check the value of `class` column\n", 505 | "# If class=1, marker_color value will be green\n", 506 | "# If class=0, marker_color value will be red\n" 507 | ] 508 | }, 509 | { 510 | "cell_type": "code", 511 | "execution_count": null, 512 | "metadata": {}, 513 | "outputs": [], 514 | "source": [ 515 | "# Function to assign color to launch outcome\n", 516 | "def assign_marker_color(launch_outcome):\n", 517 | " if launch_outcome == 1:\n", 518 | " return 'green'\n", 519 | " else:\n", 520 | " return 'red'\n", 521 | " \n", 522 | "spacex_df['marker_color'] = spacex_df['class'].apply(assign_marker_color)\n", 523 | "spacex_df.tail(10)" 524 | ] 525 | }, 526 | { 527 | "cell_type": "markdown", 528 | "metadata": {}, 529 | "source": [ 530 | "*TODO:* For each launch result in `spacex_df` data frame, add a `folium.Marker` to `marker_cluster`\n" 531 | ] 532 | }, 533 | { 534 | "cell_type": "code", 535 | "execution_count": null, 536 | "metadata": {}, 537 | "outputs": [], 538 | "source": [ 539 | "# Add the Marker cluster to the site map\n", 540 | "site_map.add_child(marker_cluster)\n", 541 | "\n", 542 | "# for each row in spacex_df data frame\n", 543 | "# create a Marker object with its coordinate\n", 544 | "# and customize the Marker's icon property to indicate if this launch was successed or failed, e.g., icon=folium.Icon(color='white', icon_color=row['marker_color']" 545 | ] 546 | }, 547 | { 548 | "cell_type": "markdown", 549 | "metadata": {}, 550 | "source": [ 551 | "Your updated map may look like the following screenshots:\n" 552 | ] 553 | }, 554 | { 555 | "cell_type": "markdown", 556 | "metadata": {}, 557 | "source": [ 558 | "
\n", 559 | " \n", 560 | "
\n" 561 | ] 562 | }, 563 | { 564 | "cell_type": "markdown", 565 | "metadata": {}, 566 | "source": [ 567 | "
\n", 568 | " \n", 569 | "
\n" 570 | ] 571 | }, 572 | { 573 | "cell_type": "markdown", 574 | "metadata": {}, 575 | "source": [ 576 | "From the color-labeled markers in marker clusters, you should be able to easily identify which launch sites have relatively high success rates.\n" 577 | ] 578 | }, 579 | { 580 | "cell_type": "markdown", 581 | "metadata": {}, 582 | "source": [ 583 | "# TASK 3: Calculate the distances between a launch site to its proximities\n" 584 | ] 585 | }, 586 | { 587 | "cell_type": "markdown", 588 | "metadata": {}, 589 | "source": [ 590 | "Next, we need to explore and analyze the proximities of launch sites.\n" 591 | ] 592 | }, 593 | { 594 | "cell_type": "markdown", 595 | "metadata": {}, 596 | "source": [ 597 | "Let's first add a `MousePosition` on the map to get coordinate for a mouse over a point on the map. As such, while you are exploring the map, you can easily find the coordinates of any points of interests (such as railway)\n" 598 | ] 599 | }, 600 | { 601 | "cell_type": "code", 602 | "execution_count": null, 603 | "metadata": {}, 604 | "outputs": [], 605 | "source": [ 606 | "# Add Mouse Position to get the coordinate (Lat, Long) for a mouse over on the map\n", 607 | "formatter = \"function(num) {return L.Util.formatNum(num, 5);};\"\n", 608 | "mouse_position = MousePosition(\n", 609 | " position='topright',\n", 610 | " separator=' Long: ',\n", 611 | " empty_string='NaN',\n", 612 | " lng_first=False,\n", 613 | " num_digits=20,\n", 614 | " prefix='Lat:',\n", 615 | " lat_formatter=formatter,\n", 616 | " lng_formatter=formatter,\n", 617 | ")\n", 618 | "\n", 619 | "site_map.add_child(mouse_position)\n", 620 | "site_map" 621 | ] 622 | }, 623 | { 624 | "cell_type": "markdown", 625 | "metadata": {}, 626 | "source": [ 627 | "Now zoom in to a launch site and explore its proximity to see if you can easily find any railway, highway, coastline, etc. Move your mouse to these points and mark down their coordinates (shown on the top-left) in order to the distance to the launch site.\n" 628 | ] 629 | }, 630 | { 631 | "cell_type": "markdown", 632 | "metadata": {}, 633 | "source": [ 634 | "You can calculate the distance between two points on the map based on their `Lat` and `Long` values using the following method:\n" 635 | ] 636 | }, 637 | { 638 | "cell_type": "code", 639 | "execution_count": null, 640 | "metadata": {}, 641 | "outputs": [], 642 | "source": [ 643 | "from math import sin, cos, sqrt, atan2, radians\n", 644 | "\n", 645 | "def calculate_distance(lat1, lon1, lat2, lon2):\n", 646 | " # approximate radius of earth in km\n", 647 | " R = 6373.0\n", 648 | "\n", 649 | " lat1 = radians(lat1)\n", 650 | " lon1 = radians(lon1)\n", 651 | " lat2 = radians(lat2)\n", 652 | " lon2 = radians(lon2)\n", 653 | "\n", 654 | " dlon = lon2 - lon1\n", 655 | " dlat = lat2 - lat1\n", 656 | "\n", 657 | " a = sin(dlat / 2)**2 + cos(lat1) * cos(lat2) * sin(dlon / 2)**2\n", 658 | " c = 2 * atan2(sqrt(a), sqrt(1 - a))\n", 659 | "\n", 660 | " distance = R * c\n", 661 | " return distance" 662 | ] 663 | }, 664 | { 665 | "cell_type": "markdown", 666 | "metadata": {}, 667 | "source": [ 668 | "*TODO:* Mark down a point on the closest railway using MousePosition and calculate the distance between the railway point to the launch site.\n" 669 | ] 670 | }, 671 | { 672 | "cell_type": "code", 673 | "execution_count": null, 674 | "metadata": {}, 675 | "outputs": [], 676 | "source": [ 677 | "# distance_railway = calculate_distance(lat1, lon1, lat2, lon2)" 678 | ] 679 | }, 680 | { 681 | "cell_type": "markdown", 682 | "metadata": {}, 683 | "source": [ 684 | "*TODO:* After obtained its coordinate, create a `folium.Marker` to show the distance\n" 685 | ] 686 | }, 687 | { 688 | "cell_type": "code", 689 | "execution_count": null, 690 | "metadata": {}, 691 | "outputs": [], 692 | "source": [ 693 | "# create and add a folium.Marker on your selected closest raiwaly point on the map\n", 694 | "# show the distance to the launch site using the icon property " 695 | ] 696 | }, 697 | { 698 | "cell_type": "markdown", 699 | "metadata": {}, 700 | "source": [ 701 | "*TODO:* Draw a `PolyLine` between a launch site to the selected\n" 702 | ] 703 | }, 704 | { 705 | "cell_type": "code", 706 | "execution_count": null, 707 | "metadata": {}, 708 | "outputs": [], 709 | "source": [ 710 | "# Create a `folium.PolyLine` object using the railway point coordinate and launch site coordinate" 711 | ] 712 | }, 713 | { 714 | "cell_type": "markdown", 715 | "metadata": {}, 716 | "source": [ 717 | "Your updated map with distance line should look like the following screenshot:\n" 718 | ] 719 | }, 720 | { 721 | "cell_type": "markdown", 722 | "metadata": {}, 723 | "source": [ 724 | "
\n", 725 | " \n", 726 | "
\n" 727 | ] 728 | }, 729 | { 730 | "cell_type": "markdown", 731 | "metadata": {}, 732 | "source": [ 733 | "*TODO:* Similarly, you can draw a line betwee a launch site to its closest city, coastline, highway, etc.\n" 734 | ] 735 | }, 736 | { 737 | "cell_type": "code", 738 | "execution_count": null, 739 | "metadata": {}, 740 | "outputs": [], 741 | "source": [ 742 | "# Create a marker with distance to a closest city, coastline, highway, etc.\n", 743 | "# Draw a line between the marker to the launch site\n" 744 | ] 745 | }, 746 | { 747 | "cell_type": "markdown", 748 | "metadata": {}, 749 | "source": [ 750 | "After you plot distance lines to the proximities, you can answer the following questions easily:\n", 751 | "\n", 752 | "* Are launch sites in close proximity to railways?\n", 753 | "* Are launch sites in close proximity to highways?\n", 754 | "* Are launch sites in close proximity to coastline?\n", 755 | "* Do launch sites keep certain distance away from cities?\n", 756 | "\n", 757 | "Also please try to explain your findings.\n" 758 | ] 759 | }, 760 | { 761 | "cell_type": "markdown", 762 | "metadata": {}, 763 | "source": [ 764 | "# Next Steps:\n", 765 | "\n", 766 | "Now you have discovered many interesting insights related to the launch sites' location using folium, in a very interactive way. Next, you will need to build a dashboard using Ploty Dash on detailed launch records.\n" 767 | ] 768 | }, 769 | { 770 | "cell_type": "markdown", 771 | "metadata": {}, 772 | "source": [ 773 | "## Authors\n" 774 | ] 775 | }, 776 | { 777 | "cell_type": "markdown", 778 | "metadata": {}, 779 | "source": [ 780 | "[Yan Luo](https://www.linkedin.com/in/yan-luo-96288783/?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDS0321ENSkillsNetwork26802033-2021-01-01)\n" 781 | ] 782 | }, 783 | { 784 | "cell_type": "markdown", 785 | "metadata": {}, 786 | "source": [ 787 | "### Other Contributors\n" 788 | ] 789 | }, 790 | { 791 | "cell_type": "markdown", 792 | "metadata": {}, 793 | "source": [ 794 | "Joseph Santarcangelo\n" 795 | ] 796 | }, 797 | { 798 | "cell_type": "markdown", 799 | "metadata": {}, 800 | "source": [ 801 | "## Change Log\n" 802 | ] 803 | }, 804 | { 805 | "cell_type": "markdown", 806 | "metadata": {}, 807 | "source": [ 808 | "| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n", 809 | "| ----------------- | ------- | ---------- | --------------------------- |\n", 810 | "| 2021-05-26 | 1.0 | Yan | Created the initial version |\n" 811 | ] 812 | }, 813 | { 814 | "cell_type": "markdown", 815 | "metadata": {}, 816 | "source": [ 817 | "Copyright © 2021 IBM Corporation. All rights reserved.\n" 818 | ] 819 | } 820 | ], 821 | "metadata": { 822 | "kernelspec": { 823 | "display_name": "Python 3", 824 | "language": "python", 825 | "name": "python3" 826 | }, 827 | "language_info": { 828 | "codemirror_mode": { 829 | "name": "ipython", 830 | "version": 3 831 | }, 832 | "file_extension": ".py", 833 | "mimetype": "text/x-python", 834 | "name": "python", 835 | "nbconvert_exporter": "python", 836 | "pygments_lexer": "ipython3", 837 | "version": "3.8.3" 838 | }, 839 | "papermill": { 840 | "duration": 142.196942, 841 | "end_time": "2020-09-19T06:29:13.341578", 842 | "environment_variables": {}, 843 | "exception": null, 844 | "input_path": "__notebook__.ipynb", 845 | "output_path": "__notebook__.ipynb", 846 | "parameters": {}, 847 | "start_time": "2020-09-19T06:26:51.144636", 848 | "version": "2.1.0" 849 | } 850 | }, 851 | "nbformat": 4, 852 | "nbformat_minor": 4 853 | } 854 | -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 3 Interactive Visual Analytics and Dashboard/Graded Quiz/Interactive Visual Analytics and Dashboard Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/10.Applied_Data_Science_Capstone/Week 3 Interactive Visual Analytics and Dashboard/Graded Quiz/Interactive Visual Analytics and Dashboard Quiz.pdf -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 3 Interactive Visual Analytics and Dashboard/spacex_dash_app.py: -------------------------------------------------------------------------------- 1 | # Import required libraries 2 | import pandas as pd 3 | import dash 4 | import dash_html_components as html 5 | import dash_core_components as dcc 6 | from dash.dependencies import Input, Output, State 7 | import plotly.graph_objects as go 8 | import plotly.express as px 9 | from dash import no_update 10 | 11 | # Read the airline data into pandas dataframe 12 | spacex_df = pd.read_csv("spacex_launch_dash.csv") 13 | max_payload = spacex_df['Payload Mass (kg)'].max() 14 | min_payload = spacex_df['Payload Mass (kg)'].min() 15 | 16 | # Create a dash application 17 | app = dash.Dash(__name__) 18 | 19 | # Create an app layout 20 | launch_sites = [] 21 | launch_sites.append({'label': 'All Sites', 'value': 'All Sites'}) 22 | for item in spacex_df["Launch Site"].value_counts().index: 23 | launch_sites.append({'label': item, 'value': item}) 24 | app.layout = html.Div(children=[html.H1('SpaceX Launch Records Dashboard', 25 | style={'textAlign': 'center', 'color': '#503D36', 26 | 'font-size': 40}), 27 | # TASK 1: Add a dropdown list to enable Launch Site selection 28 | # The default select value is for ALL sites 29 | dcc.Dropdown(id='site-dropdown', options = launch_sites, value = 'All Sites', placeholder = "Select a Launch Site here", searchable = True), 30 | html.Br(), 31 | 32 | # TASK 2: Add a pie chart to show the total successful launches count for all sites 33 | # If a specific launch site was selected, show the Success vs. Failed counts for the site 34 | html.Div(dcc.Graph(id='success-pie-chart')), 35 | html.Br(), 36 | 37 | html.P("Payload range (Kg):"), 38 | # TASK 3: Add a slider to select payload range 39 | dcc.RangeSlider(id='payload-slider', min = 0, max = 10000, step = 1000, value = [min_payload, max_payload], marks={ 2500: {'label': '2500 (Kg)'}, 5000: {'label': '5000 (Kg)'}, 7500: {'label': '7500 (Kg)'}}), 40 | 41 | # TASK 4: Add a scatter chart to show the correlation between payload and launch success 42 | html.Div(dcc.Graph(id='success-payload-scatter-chart')), 43 | ]) 44 | 45 | # TASK 2: 46 | # Add a callback function for `site-dropdown` as input, `success-pie-chart` as output 47 | @app.callback( Output(component_id='success-pie-chart', component_property='figure'), 48 | Input(component_id='site-dropdown', component_property='value') 49 | ) 50 | # Add computation to callback function and return graph 51 | def select(inputt): 52 | if inputt == 'All Sites': 53 | new_df = spacex_df.groupby(['Launch Site'])["class"].sum().to_frame() 54 | new_df = new_df.reset_index() 55 | fig = px.pie(new_df, values='class', names='Launch Site', title='Total Success Launches by Site') 56 | else: 57 | new_df = spacex_df[spacex_df["Launch Site"] == inputt]["class"].value_counts().to_frame() 58 | new_df["name"] = ["Failure", "Success"] 59 | fig = px.pie(new_df, values='class', names='name', title='Total Success Launches for ' + inputt) 60 | return fig 61 | 62 | # TASK 4: 63 | # Add a callback function for `site-dropdown` and `payload-slider` as inputs, `success-payload-scatter-chart` as output 64 | @app.callback( Output(component_id='success-payload-scatter-chart', component_property='figure'), 65 | Input(component_id='site-dropdown', component_property='value'), Input(component_id='payload-slider', component_property='value') 66 | ) 67 | def scatter(input1, input2): 68 | print(input1) 69 | print(input2) 70 | if input1 == 'All Sites': 71 | new_df = spacex_df 72 | new_df2 = new_df[new_df["Payload Mass (kg)"] >= input2[0]] 73 | new_df3 = new_df2[new_df["Payload Mass (kg)"] <= input2[1]] 74 | fig2 = px.scatter(new_df3, y="class", x="Payload Mass (kg)", color="Booster Version Category") 75 | else: 76 | new_df = spacex_df[spacex_df["Launch Site"] == input1] 77 | new_df2 = new_df[new_df["Payload Mass (kg)"] >= input2[0]] 78 | new_df3 = new_df2[new_df["Payload Mass (kg)"] <= input2[1]] 79 | #new_df2 = new_df[new_df["Payload Mass (kg)"] >= input2[0] & new_df["Payload Mass (kg)"] <= input2[1]] 80 | fig2 = px.scatter(new_df3, y="class", x="Payload Mass (kg)", color="Booster Version Category") 81 | return fig2 82 | 83 | 84 | # Run the app 85 | if __name__ == '__main__': 86 | app.run_server() 87 | -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 3 Interactive Visual Analytics and Dashboard/spacex_launch_dash.csv: -------------------------------------------------------------------------------- 1 | ,Flight Number,Launch Site,Mission Outcome,class,Payload Mass (kg),Booster Version,Booster Version Category 2 | 0,1,CCAFS LC-40,Success,0,0.0,F9 v1.0 B0003,v1.0 3 | 1,2,CCAFS LC-40,Success,0,0.0,F9 v1.0 B0004,v1.0 4 | 2,3,CCAFS LC-40,Success,0,525.0,F9 v1.0 B0005,v1.0 5 | 3,4,CCAFS LC-40,Success,0,500.0,F9 v1.0 B0006,v1.0 6 | 4,5,CCAFS LC-40,Success,0,677.0,F9 v1.0 B0007,v1.0 7 | 5,7,CCAFS LC-40,Success,0,3170.0,F9 v1.1,v1.1 8 | 6,8,CCAFS LC-40,Success,0,3325.0,F9 v1.1,v1.1 9 | 7,9,CCAFS LC-40,Success,0,2296.0,F9 v1.1,v1.1 10 | 8,10,CCAFS LC-40,Success,0,1316.0,F9 v1.1,v1.1 11 | 9,11,CCAFS LC-40,Success,0,4535.0,F9 v1.1,v1.1 12 | 10,12,CCAFS LC-40,Success,0,4428.0,F9 v1.1 B1011,v1.1 13 | 11,13,CCAFS LC-40,Success,0,2216.0,F9 v1.1 B1010,v1.1 14 | 12,14,CCAFS LC-40,Success,0,2395.0,F9 v1.1 B1012,v1.1 15 | 13,15,CCAFS LC-40,Success,0,570.0,F9 v1.1 B1013,v1.1 16 | 14,16,CCAFS LC-40,Success,0,4159.0,F9 v1.1 B1014,v1.1 17 | 15,17,CCAFS LC-40,Success,0,1898.0,F9 v1.1 B1015,v1.1 18 | 16,18,CCAFS LC-40,Success,0,4707.0,F9 v1.1 B1016,v1.1 19 | 17,19,CCAFS LC-40,Failure (in flight),1,1952.0,F9 v1.1 B1018,v1.1 20 | 18,20,CCAFS LC-40,Success,1,2034.0,F9 FT B1019,FT 21 | 19,22,CCAFS LC-40,Success,0,5271.0,F9 FT B1020,FT 22 | 20,23,CCAFS LC-40,Success,1,3136.0,F9 FT B1021.1,FT 23 | 21,24,CCAFS LC-40,Success,1,4696.0,F9 FT B1022,FT 24 | 22,25,CCAFS LC-40,Success,1,3100.0,F9 FT B1023.1,FT 25 | 23,26,CCAFS LC-40,Success,0,3600.0,F9 FT B1024,FT 26 | 24,27,CCAFS LC-40,Success,1,2257.0,F9 FT B1025.1,FT 27 | 25,28,CCAFS LC-40,Success,1,4600.0,F9 FT B1026,FT 28 | 26,6,VAFB SLC-4E,Success,0,500.0,F9 v1.1 B1003,v1.1 29 | 27,21,VAFB SLC-4E,Success,0,553.0,F9 v1.1 B1017,v1.1 30 | 28,29,VAFB SLC-4E,Success,1,9600.0,F9 FT B1029.1,FT 31 | 29,37,VAFB SLC-4E,Success,1,9600.0,F9 FT B1036.1,FT 32 | 30,40,VAFB SLC-4E,Success,1,475.0,F9 FT B1038.1,FT 33 | 31,42,VAFB SLC-4E,Success,1,9600.0,F9 B4 B1041.1,B4 34 | 32,46,VAFB SLC-4E,Success,0,9600.0,F9 FT B1036.2,FT 35 | 33,49,VAFB SLC-4E,Success,0,2150.0,F9 FT B1038.2,FT 36 | 34,51,VAFB SLC-4E,Success,0,9600.0,F9 B4 B1041.2,B4 37 | 35,55,VAFB SLC-4E,Success,0,6460.0,F9 B4 B1043.2,B4 38 | 36,30,KSC LC-39A,Success,1,2490.0,F9 FT B1031.1,FT 39 | 37,31,KSC LC-39A,Success,0,5600.0,F9 FT B1030,FT 40 | 38,32,KSC LC-39A,Success,1,5300.0,F9 FT B1021.2,FT 41 | 39,33,KSC LC-39A,Success,1,3696.65,F9 FT B1032.1,FT 42 | 40,34,KSC LC-39A,Success,0,6070.0,F9 FT B1034,FT 43 | 41,35,KSC LC-39A,Success,1,2708.0,F9 FT B1035.1,FT 44 | 42,36,KSC LC-39A,Success,1,3669.0,F9 FT B1029.2,FT 45 | 43,38,KSC LC-39A,Success,0,6761.0,F9 FT B1037,FT 46 | 44,39,KSC LC-39A,Success,1,3310.0,F9 B4 B1039.1,B4 47 | 45,41,KSC LC-39A,Success,1,4990.0,F9 B4 B1040.1,B4 48 | 46,43,KSC LC-39A,Success,1,5200.0,F9 FT B1031.2,FT 49 | 47,44,KSC LC-39A,Success,1,3500.0,F9 B4 B1042.1,B4 50 | 48,54,KSC LC-39A,Success,1,3600.0,F9 B5 B1046.1,B5 51 | 49,45,CCAFS SLC-40,Success,1,2205.0,F9 FT B1035.2,FT 52 | 50,47,CCAFS SLC-40,Success (payload status unclear),1,3696.65,F9 B4 B1043.1,B4 53 | 51,48,CCAFS SLC-40,Success,0,4230.0,F9 FT B1032.2,FT 54 | 52,50,CCAFS SLC-40,Success,0,6092.0,F9 B4 B1044,B4 55 | 53,52,CCAFS SLC-40,Success,0,2647.0,F9 B4 B1039.2,B4 56 | 54,53,CCAFS SLC-40,Success,1,362.0,F9 B4 B1045.1,B4 57 | 55,56,CCAFS SLC-40,Success,0,5384.0,F9 B4 B1040.2,B4 58 | -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 3 Interactive Visual Analytics and Dashboard/spacex_launch_geo.csv: -------------------------------------------------------------------------------- 1 | Flight Number,Date,Time (UTC),Booster Version,Launch Site,Payload,Payload Mass (kg),Orbit,Customer,Mission Outcome,Landing Outcome,class,Lat,Long 2 | 1,2010-06-04,18:45:00,F9 v1.0 B0003,CCAFS LC-40,Dragon Spacecraft Qualification Unit,0.0,LEO,SpaceX,Success,Failure (parachute),0,28.56230196799018,-80.57735647504778 3 | 2,2010-12-08,15:43:00,F9 v1.0 B0004,CCAFS LC-40,"Dragon demo flight C1, two CubeSats, barrel of Brouère cheese",0.0,LEO (ISS),NASA (COTS) NRO,Success,Failure (parachute),0,28.56230196799018,-80.57735647504778 4 | 3,2012-05-22,7:44:00,F9 v1.0 B0005,CCAFS LC-40,Dragon demo flight C2+,525.0,LEO (ISS),NASA (COTS),Success,No attempt,0,28.56230196799018,-80.57735647504778 5 | 4,2012-10-08,0:35:00,F9 v1.0 B0006,CCAFS LC-40,SpaceX CRS-1,500.0,LEO (ISS),NASA (CRS),Success,No attempt,0,28.56230196799018,-80.57735647504778 6 | 5,2013-03-01,15:10:00,F9 v1.0 B0007,CCAFS LC-40,SpaceX CRS-2,677.0,LEO (ISS),NASA (CRS),Success,No attempt,0,28.56230196799018,-80.57735647504778 7 | 7,2013-12-03,22:41:00,F9 v1.1,CCAFS LC-40,SES-8,3170.0,GTO,SES,Success,No attempt,0,28.56230196799018,-80.57735647504778 8 | 8,2014-01-06,22:06:00,F9 v1.1,CCAFS LC-40,Thaicom 6,3325.0,GTO,Thaicom,Success,No attempt,0,28.56230196799018,-80.57735647504778 9 | 9,2014-04-18,19:25:00,F9 v1.1,CCAFS LC-40,SpaceX CRS-3,2296.0,LEO (ISS),NASA (CRS),Success,Controlled (ocean),0,28.56230196799018,-80.57735647504778 10 | 10,2014-07-14,15:15:00,F9 v1.1,CCAFS LC-40,OG2 Mission 1 6 Orbcomm-OG2 satellites,1316.0,LEO,Orbcomm,Success,Controlled (ocean),0,28.56230196799018,-80.57735647504778 11 | 11,2014-08-05,8:00:00,F9 v1.1,CCAFS LC-40,AsiaSat 8,4535.0,GTO,AsiaSat,Success,No attempt,0,28.56230196799018,-80.57735647504778 12 | 12,2014-09-07,5:00:00,F9 v1.1 B1011,CCAFS LC-40,AsiaSat 6,4428.0,GTO,AsiaSat,Success,No attempt,0,28.56230196799018,-80.57735647504778 13 | 13,2014-09-21,5:52:00,F9 v1.1 B1010,CCAFS LC-40,SpaceX CRS-4,2216.0,LEO (ISS),NASA (CRS),Success,Uncontrolled (ocean),0,28.56230196799018,-80.57735647504778 14 | 14,2015-01-10,9:47:00,F9 v1.1 B1012,CCAFS LC-40,SpaceX CRS-5,2395.0,LEO (ISS),NASA (CRS),Success,Failure (drone ship),0,28.56230196799018,-80.57735647504778 15 | 15,2015-02-11,23:03:00,F9 v1.1 B1013,CCAFS LC-40,DSCOVR,570.0,Sun–Earth L1,U.S. Air Force NASA NOAA,Success,Controlled (ocean),0,28.56230196799018,-80.57735647504778 16 | 16,2015-03-02,3:50:00,F9 v1.1 B1014,CCAFS LC-40,ABS-3A Eutelsat 115 West B,4159.0,GTO,ABS Eutelsat,Success,No attempt,0,28.56230196799018,-80.57735647504778 17 | 17,2015-04-14,20:10:00,F9 v1.1 B1015,CCAFS LC-40,SpaceX CRS-6,1898.0,LEO (ISS),NASA (CRS),Success,Failure (drone ship),0,28.56230196799018,-80.57735647504778 18 | 18,2015-04-27,23:03:00,F9 v1.1 B1016,CCAFS LC-40,TürkmenÄlem 52°E / MonacoSAT,4707.0,GTO,Turkmenistan National Space Agency,Success,No attempt,0,28.56230196799018,-80.57735647504778 19 | 19,2015-06-28,14:21:00,F9 v1.1 B1018,CCAFS LC-40,SpaceX CRS-7,1952.0,LEO (ISS),NASA (CRS),Failure (in flight),Precluded (drone ship),1,28.56230196799018,-80.57735647504778 20 | 20,2015-12-22,1:29:00,F9 FT B1019,CCAFS LC-40,OG2 Mission 2 11 Orbcomm-OG2 satellites,2034.0,LEO,Orbcomm,Success,Success (ground pad),1,28.56230196799018,-80.57735647504778 21 | 22,2016-03-04,23:35:00,F9 FT B1020,CCAFS LC-40,SES-9,5271.0,GTO,SES,Success,Failure (drone ship),0,28.56230196799018,-80.57735647504778 22 | 23,2016-04-08,20:43:00,F9 FT B1021.1,CCAFS LC-40,SpaceX CRS-8,3136.0,LEO (ISS),NASA (CRS),Success,Success (drone ship),1,28.56230196799018,-80.57735647504778 23 | 24,2016-05-06,5:21:00,F9 FT B1022,CCAFS LC-40,JCSAT-14,4696.0,GTO,SKY Perfect JSAT Group,Success,Success (drone ship),1,28.56230196799018,-80.57735647504778 24 | 25,2016-05-27,21:39:00,F9 FT B1023.1,CCAFS LC-40,Thaicom 8,3100.0,GTO,Thaicom,Success,Success (drone ship),1,28.56230196799018,-80.57735647504778 25 | 26,2016-06-15,14:29:00,F9 FT B1024,CCAFS LC-40,ABS-2A Eutelsat 117 West B,3600.0,GTO,ABS Eutelsat,Success,Failure (drone ship),0,28.56230196799018,-80.57735647504778 26 | 27,2016-07-18,4:45:00,F9 FT B1025.1,CCAFS LC-40,SpaceX CRS-9,2257.0,LEO (ISS),NASA (CRS),Success,Success (ground pad),1,28.56230196799018,-80.57735647504778 27 | 28,2016-08-14,5:26:00,F9 FT B1026,CCAFS LC-40,JCSAT-16,4600.0,GTO,SKY Perfect JSAT Group,Success,Success (drone ship),1,28.56230196799018,-80.57735647504778 28 | 6,2013-09-29,16:00:00,F9 v1.1 B1003,VAFB SLC-4E,CASSIOPE,500.0,Polar LEO,MDA,Success,Uncontrolled (ocean),0,34.632834161782775,-120.61074553068327 29 | 21,2016-01-17,18:42:00,F9 v1.1 B1017,VAFB SLC-4E,Jason-3,553.0,LEO,NASA (LSP) NOAA CNES,Success,Failure (drone ship),0,34.632834161782775,-120.61074553068327 30 | 29,2017-01-14,17:54:00,F9 FT B1029.1,VAFB SLC-4E,Iridium NEXT 1,9600.0,Polar LEO,Iridium Communications,Success,Success (drone ship),1,34.632834161782775,-120.61074553068327 31 | 37,2017-06-25,20:25:00,F9 FT B1036.1,VAFB SLC-4E,Iridium NEXT 2,9600.0,LEO,Iridium Communications,Success,Success (drone ship),1,34.632834161782775,-120.61074553068327 32 | 40,2017-08-24,18:51:00,F9 FT B1038.1,VAFB SLC-4E,Formosat-5,475.0,SSO,NSPO,Success,Success (drone ship),1,34.632834161782775,-120.61074553068327 33 | 42,2017-10-09,12:37:00,F9 B4 B1041.1,VAFB SLC-4E,Iridium NEXT 3,9600.0,Polar LEO,Iridium Communications,Success,Success (drone ship),1,34.632834161782775,-120.61074553068327 34 | 46,2017-12-23,1:27:00,F9 FT B1036.2,VAFB SLC-4E,Iridium NEXT 4,9600.0,Polar LEO,Iridium Communications,Success,Controlled (ocean),0,34.632834161782775,-120.61074553068327 35 | 49,2018-02-22,14:17:00,F9 FT B1038.2,VAFB SLC-4E,Paz Tintin A & B,2150.0,SSO,Hisdesat exactEarth SpaceX,Success,No attempt,0,34.632834161782775,-120.61074553068327 36 | 51,2018-03-30,14:14:00,F9 B4 B1041.2,VAFB SLC-4E,Iridium NEXT 5,9600.0,Polar LEO,Iridium Communications,Success,No attempt,0,34.632834161782775,-120.61074553068327 37 | 55,2018-05-22,19:47:58,F9 B4 B1043.2,VAFB SLC-4E,"Iridium NEXT 6 GRACE-FO 1, 2",6460.0,Polar LEO,Iridium Communications GFZ • NASA,Success,No attempt,0,34.632834161782775,-120.61074553068327 38 | 30,2017-02-19,14:39:00,F9 FT B1031.1,KSC LC-39A,SpaceX CRS-10,2490.0,LEO (ISS),NASA (CRS),Success,Success (ground pad),1,28.57325457037815,-80.64689528960382 39 | 31,2017-03-16,6:00:00,F9 FT B1030,KSC LC-39A,EchoStar 23,5600.0,GTO,EchoStar,Success,No attempt,0,28.57325457037815,-80.64689528960382 40 | 32,2017-03-30,22:27:00,F9 FT B1021.2,KSC LC-39A,SES-10,5300.0,GTO,SES,Success,Success (drone ship),1,28.57325457037815,-80.64689528960382 41 | 33,2017-05-01,11:15:00,F9 FT B1032.1,KSC LC-39A,NROL-76,3696.65,LEO,NRO,Success,Success (ground pad),1,28.57325457037815,-80.64689528960382 42 | 34,2017-05-15,23:21:00,F9 FT B1034,KSC LC-39A,Inmarsat-5 F4,6070.0,GTO,Inmarsat,Success,No attempt,0,28.57325457037815,-80.64689528960382 43 | 35,2017-06-03,21:07:00,F9 FT B1035.1,KSC LC-39A,SpaceX CRS-11,2708.0,LEO (ISS),NASA (CRS),Success,Success (ground pad),1,28.57325457037815,-80.64689528960382 44 | 36,2017-06-23,19:10:00,F9 FT B1029.2,KSC LC-39A,BulgariaSat-1,3669.0,GTO,Bulsatcom,Success,Success (drone ship),1,28.57325457037815,-80.64689528960382 45 | 38,2017-07-05,23:38:00,F9 FT B1037,KSC LC-39A,Intelsat 35e,6761.0,GTO,Intelsat,Success,No attempt,0,28.57325457037815,-80.64689528960382 46 | 39,2017-08-14,16:31:00,F9 B4 B1039.1,KSC LC-39A,SpaceX CRS-12,3310.0,LEO (ISS),NASA (CRS),Success,Success (ground pad),1,28.57325457037815,-80.64689528960382 47 | 41,2017-09-07,14:00:00,F9 B4 B1040.1,KSC LC-39A,Boeing X-37B OTV-5,4990.0,LEO,U.S. Air Force,Success,Success (ground pad),1,28.57325457037815,-80.64689528960382 48 | 43,2017-10-11,22:53:00,F9 FT B1031.2,KSC LC-39A,SES-11 / EchoStar 105,5200.0,GTO,SES EchoStar,Success,Success (drone ship),1,28.57325457037815,-80.64689528960382 49 | 44,2017-10-30,19:34:00,F9 B4 B1042.1,KSC LC-39A,Koreasat 5A,3500.0,GTO,KT Corporation,Success,Success (drone ship),1,28.57325457037815,-80.64689528960382 50 | 54,2018-05-11,20:14:00,F9 B5 B1046.1,KSC LC-39A,Bangabandhu-1,3600.0,GTO,Thales-Alenia/BTRC,Success,Success (drone ship),1,28.57325457037815,-80.64689528960382 51 | 45,2017-12-15,15:36:00,F9 FT B1035.2,CCAFS SLC-40,SpaceX CRS-13,2205.0,LEO (ISS),NASA (CRS),Success,Success (ground pad),1,28.563197177407144,-80.57682003124195 52 | 47,2018-01-08,1:00:00,F9 B4 B1043.1,CCAFS SLC-40,Zuma,3696.65,LEO,Northrop Grumman,Success (payload status unclear),Success (ground pad),1,28.563197177407144,-80.57682003124195 53 | 48,2018-01-31,21:25:00,F9 FT B1032.2,CCAFS SLC-40,GovSat-1 / SES-16,4230.0,GTO,SES,Success,Controlled (ocean),0,28.563197177407144,-80.57682003124195 54 | 50,2018-03-06,5:33:00,F9 B4 B1044,CCAFS SLC-40,Hispasat 30W-6 PODSat,6092.0,GTO,Hispasat NovaWurks,Success,No attempt,0,28.563197177407144,-80.57682003124195 55 | 52,2018-04-02,20:30:00,F9 B4 B1039.2,CCAFS SLC-40,SpaceX CRS-14,2647.0,LEO (ISS),NASA (CRS),Success,No attempt,0,28.563197177407144,-80.57682003124195 56 | 53,2018-04-18,22:51:00,F9 B4 B1045.1,CCAFS SLC-40,Transiting Exoplanet Survey Satellite (TESS),362.0,HEO,NASA (LSP),Success,Success (drone ship),1,28.563197177407144,-80.57682003124195 57 | 56,2018-06-04,4:45:00,F9 B4 B1040.2,CCAFS SLC-40,SES-12,5384.0,GTO,SES,Success,No attempt,0,28.563197177407144,-80.57682003124195 58 | -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 4 Predictive Analysis (Classification)/Graded Quiz/Predictive Analysisis.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/10.Applied_Data_Science_Capstone/Week 4 Predictive Analysis (Classification)/Graded Quiz/Predictive Analysisis.pdf -------------------------------------------------------------------------------- /10.Applied_Data_Science_Capstone/Week 5 Present Your Data-Driven Insights/Data Science Journey.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/10.Applied_Data_Science_Capstone/Week 5 Present Your Data-Driven Insights/Data Science Journey.pptx -------------------------------------------------------------------------------- /2.Tools for Data Science/Week 1 Data Scientist's Toolkit/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/2.Tools for Data Science/Week 1 Data Scientist's Toolkit/Graded Quiz.pdf -------------------------------------------------------------------------------- /2.Tools for Data Science/Week 2 Open Source Tools/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/2.Tools for Data Science/Week 2 Open Source Tools/Graded Quiz.pdf -------------------------------------------------------------------------------- /2.Tools for Data Science/Week 3 IBM Tools for Data Science/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/2.Tools for Data Science/Week 3 IBM Tools for Data Science/Graded Quiz.pdf -------------------------------------------------------------------------------- /2.Tools for Data Science/Week 4 Final Assignment/Assignment.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "collapsed": true 7 | }, 8 | "source": [ 9 | "# My Jupyter Notebook on IBM Watson Studio" 10 | ] 11 | }, 12 | { 13 | "cell_type": "markdown", 14 | "metadata": {}, 15 | "source": [ 16 | "**Navas Sherif I**
\n", 17 | "Associate Software Developer" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "*I am interested in data science because I love to work with data*" 25 | ] 26 | }, 27 | { 28 | "cell_type": "markdown", 29 | "metadata": {}, 30 | "source": [ 31 | "### cell5 will Print a string \"Hello IBM\" " 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": 2, 37 | "metadata": {}, 38 | "outputs": [ 39 | { 40 | "name": "stdout", 41 | "output_type": "stream", 42 | "text": [ 43 | "Hello IBM\n" 44 | ] 45 | } 46 | ], 47 | "source": [ 48 | "print(\"Hello IBM\")" 49 | ] 50 | }, 51 | { 52 | "cell_type": "markdown", 53 | "metadata": {}, 54 | "source": [ 55 | "\n", 56 | "> Hi, I am Navas\n", 57 | "* My Portfolio : \n", 58 | "* Email : " 59 | ] 60 | }, 61 | { 62 | "cell_type": "code", 63 | "execution_count": null, 64 | "metadata": {}, 65 | "outputs": [], 66 | "source": [] 67 | } 68 | ], 69 | "metadata": { 70 | "kernelspec": { 71 | "display_name": "Python 3.8", 72 | "language": "python", 73 | "name": "python3" 74 | }, 75 | "language_info": { 76 | "codemirror_mode": { 77 | "name": "ipython", 78 | "version": 3 79 | }, 80 | "file_extension": ".py", 81 | "mimetype": "text/x-python", 82 | "name": "python", 83 | "nbconvert_exporter": "python", 84 | "pygments_lexer": "ipython3", 85 | "version": "3.8.10" 86 | } 87 | }, 88 | "nbformat": 4, 89 | "nbformat_minor": 1 90 | } 91 | -------------------------------------------------------------------------------- /2.Tools for Data Science/Week 4 Final Assignment/Final Exam.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/2.Tools for Data Science/Week 4 Final Assignment/Final Exam.pdf -------------------------------------------------------------------------------- /3.Data Science Methodology/Week 1 From Problem to Approach and From Requirements to Collection/From Problem to Approach Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/3.Data Science Methodology/Week 1 From Problem to Approach and From Requirements to Collection/From Problem to Approach Quiz.pdf -------------------------------------------------------------------------------- /3.Data Science Methodology/Week 1 From Problem to Approach and From Requirements to Collection/From Requirements to Collection Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/3.Data Science Methodology/Week 1 From Problem to Approach and From Requirements to Collection/From Requirements to Collection Quiz.pdf -------------------------------------------------------------------------------- /3.Data Science Methodology/Week 2 From Understanding to Preparation and From Modeling to Evaluation/From Modeling to Evaluation Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/3.Data Science Methodology/Week 2 From Understanding to Preparation and From Modeling to Evaluation/From Modeling to Evaluation Quiz.pdf -------------------------------------------------------------------------------- /3.Data Science Methodology/Week 2 From Understanding to Preparation and From Modeling to Evaluation/From Understanding to Preparation Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/3.Data Science Methodology/Week 2 From Understanding to Preparation and From Modeling to Evaluation/From Understanding to Preparation Quiz.pdf -------------------------------------------------------------------------------- /3.Data Science Methodology/Week 3 From Deployment to Feedback/Assignment.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/3.Data Science Methodology/Week 3 From Deployment to Feedback/Assignment.pdf -------------------------------------------------------------------------------- /3.Data Science Methodology/Week 3 From Deployment to Feedback/From Deployment to Feedback Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/3.Data Science Methodology/Week 3 From Deployment to Feedback/From Deployment to Feedback Quiz.pdf -------------------------------------------------------------------------------- /4.Python for Data Science, AI & Development/Week 1 Python Basics/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/4.Python for Data Science, AI & Development/Week 1 Python Basics/Graded Quiz.pdf -------------------------------------------------------------------------------- /4.Python for Data Science, AI & Development/Week 2 Python Data Structures/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/4.Python for Data Science, AI & Development/Week 2 Python Data Structures/Graded Quiz.pdf -------------------------------------------------------------------------------- /4.Python for Data Science, AI & Development/Week 3 Python Programming Fundamentals/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/4.Python for Data Science, AI & Development/Week 3 Python Programming Fundamentals/Graded Quiz.pdf -------------------------------------------------------------------------------- /4.Python for Data Science, AI & Development/Week 4 Working with Data in Python/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/4.Python for Data Science, AI & Development/Week 4 Working with Data in Python/Graded Quiz.pdf -------------------------------------------------------------------------------- /4.Python for Data Science, AI & Development/Week 5 APIs, and Data Collection/Final Exam.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/4.Python for Data Science, AI & Development/Week 5 APIs, and Data Collection/Final Exam.pdf -------------------------------------------------------------------------------- /4.Python for Data Science, AI & Development/Week 5 APIs, and Data Collection/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/4.Python for Data Science, AI & Development/Week 5 APIs, and Data Collection/Graded Quiz.pdf -------------------------------------------------------------------------------- /5.Python Project for Data Science/Week 1 Crowdsourcing Short squeeze Dashboard/Quiz Extracting Stock Data Using a Python Library.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/5.Python Project for Data Science/Week 1 Crowdsourcing Short squeeze Dashboard/Quiz Extracting Stock Data Using a Python Library.pdf -------------------------------------------------------------------------------- /6.Databases and SQL for Data Science with Python/Week 1 Getting Started with SQL/Graded Quiz Basic SQL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/6.Databases and SQL for Data Science with Python/Week 1 Getting Started with SQL/Graded Quiz Basic SQL.pdf -------------------------------------------------------------------------------- /6.Databases and SQL for Data Science with Python/Week 2 Introduction to Relational Databases and Tables/Graded Quiz Relational DB Concepts and Tables.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/6.Databases and SQL for Data Science with Python/Week 2 Introduction to Relational Databases and Tables/Graded Quiz Relational DB Concepts and Tables.pdf -------------------------------------------------------------------------------- /6.Databases and SQL for Data Science with Python/Week 3 Intermediate SQL/Graded Quiz Functions, Sub-Queries, Multiple Tables.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/6.Databases and SQL for Data Science with Python/Week 3 Intermediate SQL/Graded Quiz Functions, Sub-Queries, Multiple Tables.pdf -------------------------------------------------------------------------------- /6.Databases and SQL for Data Science with Python/Week 4 Accessing Databases using Python/Graded Quiz Database access from Python.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/6.Databases and SQL for Data Science with Python/Week 4 Accessing Databases using Python/Graded Quiz Database access from Python.pdf -------------------------------------------------------------------------------- /6.Databases and SQL for Data Science with Python/Week 5 Course Assignment/Final Assignment.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "
\n", 8 | " \"cognitiveclass.ai\n", 9 | "
\n", 10 | "\n", 11 | "

Assignment: Notebook for Peer Assignment

\n" 12 | ] 13 | }, 14 | { 15 | "cell_type": "markdown", 16 | "metadata": {}, 17 | "source": [ 18 | "# Introduction\n", 19 | "\n", 20 | "Using this Python notebook you will:\n", 21 | "\n", 22 | "1. Understand three Chicago datasets\n", 23 | "2. Load the three datasets into three tables in a Db2 database\n", 24 | "3. Execute SQL queries to answer assignment questions\n" 25 | ] 26 | }, 27 | { 28 | "cell_type": "markdown", 29 | "metadata": {}, 30 | "source": [ 31 | "## Understand the datasets\n", 32 | "\n", 33 | "To complete the assignment problems in this notebook you will be using three datasets that are available on the city of Chicago's Data Portal:\n", 34 | "\n", 35 | "1. Socioeconomic Indicators in Chicago\n", 36 | "2. Chicago Public Schools\n", 37 | "3. Chicago Crime Data\n", 38 | "\n", 39 | "### 1. Socioeconomic Indicators in Chicago\n", 40 | "\n", 41 | "This dataset contains a selection of six socioeconomic indicators of public health significance and a “hardship index,” for each Chicago community area, for the years 2008 – 2012.\n", 42 | "\n", 43 | "A detailed description of this dataset and the original dataset can be obtained from the Chicago Data Portal at:\n", 44 | "[https://data.cityofchicago.org/Health-Human-Services/Census-Data-Selected-socioeconomic-indicators-in-C/kn9c-c2s2](https://data.cityofchicago.org/Health-Human-Services/Census-Data-Selected-socioeconomic-indicators-in-C/kn9c-c2s2?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkDB0201ENSkillsNetwork20127838-2021-01-01&cm_mmc=Email_Newsletter-\\_-Developer_Ed%2BTech-\\_-WW_WW-\\_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-DB0201EN-SkillsNetwork-20127838&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ)\n", 45 | "\n", 46 | "### 2. Chicago Public Schools\n", 47 | "\n", 48 | "This dataset shows all school level performance data used to create CPS School Report Cards for the 2011-2012 school year. This dataset is provided by the city of Chicago's Data Portal.\n", 49 | "\n", 50 | "A detailed description of this dataset and the original dataset can be obtained from the Chicago Data Portal at:\n", 51 | "[https://data.cityofchicago.org/Education/Chicago-Public-Schools-Progress-Report-Cards-2011-/9xs2-f89t](https://data.cityofchicago.org/Education/Chicago-Public-Schools-Progress-Report-Cards-2011-/9xs2-f89t?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkDB0201ENSkillsNetwork20127838-2021-01-01&cm_mmc=Email_Newsletter-\\_-Developer_Ed%2BTech-\\_-WW_WW-\\_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-DB0201EN-SkillsNetwork-20127838&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ)\n", 52 | "\n", 53 | "### 3. Chicago Crime Data\n", 54 | "\n", 55 | "This dataset reflects reported incidents of crime (with the exception of murders where data exists for each victim) that occurred in the City of Chicago from 2001 to present, minus the most recent seven days.\n", 56 | "\n", 57 | "A detailed description of this dataset and the original dataset can be obtained from the Chicago Data Portal at:\n", 58 | "[https://data.cityofchicago.org/Public-Safety/Crimes-2001-to-present/ijzp-q8t2](https://data.cityofchicago.org/Public-Safety/Crimes-2001-to-present/ijzp-q8t2?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkDB0201ENSkillsNetwork20127838-2021-01-01&cm_mmc=Email_Newsletter-\\_-Developer_Ed%2BTech-\\_-WW_WW-\\_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-DB0201EN-SkillsNetwork-20127838&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ)\n" 59 | ] 60 | }, 61 | { 62 | "cell_type": "markdown", 63 | "metadata": {}, 64 | "source": [ 65 | "### Download the datasets\n", 66 | "\n", 67 | "This assignment requires you to have these three tables populated with a subset of the whole datasets.\n", 68 | "\n", 69 | "In many cases the dataset to be analyzed is available as a .CSV (comma separated values) file, perhaps on the internet. Click on the links below to download and save the datasets (.CSV files):\n", 70 | "\n", 71 | "* Chicago Census Data\n", 72 | "\n", 73 | "* Chicago Public Schools\n", 74 | "\n", 75 | "* Chicago Crime Data\n", 76 | "\n", 77 | "**NOTE:** Ensure you have downloaded the datasets using the links above instead of directly from the Chicago Data Portal. The versions linked here are subsets of the original datasets and have some of the column names modified to be more database friendly which will make it easier to complete this assignment.\n" 78 | ] 79 | }, 80 | { 81 | "cell_type": "markdown", 82 | "metadata": {}, 83 | "source": [ 84 | "### Store the datasets in database tables\n", 85 | "\n", 86 | "To analyze the data using SQL, it first needs to be stored in the database.\n", 87 | "\n", 88 | "While it is easier to read the dataset into a Pandas dataframe and then PERSIST it into the database as we saw in Week 3 Lab 3, it results in mapping to default datatypes which may not be optimal for SQL querying. For example a long textual field may map to a CLOB instead of a VARCHAR.\n", 89 | "\n", 90 | "Therefore, **it is highly recommended to manually load the table using the database console LOAD tool, as indicated in Week 2 Lab 1 Part II**. The only difference with that lab is that in Step 5 of the instructions you will need to click on create \"(+) New Table\" and specify the name of the table you want to create and then click \"Next\".\n", 91 | "\n", 92 | "\n", 93 | "\n", 94 | "##### Now open the Db2 console, open the LOAD tool, Select / Drag the .CSV file for the first dataset, Next create a New Table, and then follow the steps on-screen instructions to load the data. Name the new tables as follows:\n", 95 | "\n", 96 | "1. **CENSUS_DATA**\n", 97 | "2. **CHICAGO_PUBLIC_SCHOOLS**\n", 98 | "3. **CHICAGO_CRIME_DATA**\n" 99 | ] 100 | }, 101 | { 102 | "cell_type": "markdown", 103 | "metadata": {}, 104 | "source": [ 105 | "### Connect to the database\n", 106 | "\n", 107 | "Let us first load the SQL extension and establish a connection with the database\n" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": null, 113 | "metadata": {}, 114 | "outputs": [], 115 | "source": [ 116 | "!pip install sqlalchemy==1.3.9\n", 117 | "!pip install ibm_db_sa" 118 | ] 119 | }, 120 | { 121 | "cell_type": "code", 122 | "execution_count": null, 123 | "metadata": {}, 124 | "outputs": [], 125 | "source": [ 126 | "%load_ext sql" 127 | ] 128 | }, 129 | { 130 | "cell_type": "markdown", 131 | "metadata": {}, 132 | "source": [ 133 | "In the next cell enter your db2 connection string. Recall you created Service Credentials for your Db2 instance in first lab in Week 3. From your Db2 service credentials copy everything after db2:// (except the double quote at the end) and paste it in the cell below after ibm_db_sa://\n", 134 | "\n", 135 | "\n" 136 | ] 137 | }, 138 | { 139 | "cell_type": "code", 140 | "execution_count": null, 141 | "metadata": {}, 142 | "outputs": [], 143 | "source": [ 144 | "# Remember the connection string is of the format:\n", 145 | "# %sql ibm_db_sa://my-username:my-password@my-hostname:my-port/my-db-name?security=SSL\n", 146 | "# Enter the connection string for your Db2 on Cloud database instance below\n", 147 | "%sql ibm_db_sa://" 148 | ] 149 | }, 150 | { 151 | "cell_type": "markdown", 152 | "metadata": {}, 153 | "source": [ 154 | "## Problems\n", 155 | "\n", 156 | "Now write and execute SQL queries to solve assignment problems\n", 157 | "\n", 158 | "### Problem 1\n", 159 | "\n", 160 | "##### Find the total number of crimes recorded in the CRIME table.\n" 161 | ] 162 | }, 163 | { 164 | "cell_type": "code", 165 | "execution_count": null, 166 | "metadata": {}, 167 | "outputs": [], 168 | "source": [ 169 | "%%sql\n", 170 | "select count(*) from CHICAGO_CRIME_DATA" 171 | ] 172 | }, 173 | { 174 | "cell_type": "markdown", 175 | "metadata": {}, 176 | "source": [ 177 | "### Problem 2\n", 178 | "\n", 179 | "##### List community areas with per capita income less than 11000.\n" 180 | ] 181 | }, 182 | { 183 | "cell_type": "code", 184 | "execution_count": null, 185 | "metadata": {}, 186 | "outputs": [], 187 | "source": [ 188 | "%%sql\n", 189 | "select COMMUNITY_AREA_NAME , PER_CAPITAL_INCOME from CENSUS_DATA where PER_CAPITA_INCOME < 11000" 190 | ] 191 | }, 192 | { 193 | "cell_type": "markdown", 194 | "metadata": {}, 195 | "source": [ 196 | "### Problem 3\n", 197 | "\n", 198 | "##### List all case numbers for crimes involving minors?(children are not considered minors for the purposes of crime analysis)\n" 199 | ] 200 | }, 201 | { 202 | "cell_type": "code", 203 | "execution_count": null, 204 | "metadata": {}, 205 | "outputs": [], 206 | "source": [ 207 | "%%sql\n", 208 | "select CASE_NUMBER,PRIMARY_TYPE,DESCRIPTION from CHICAGO_CRIME_DATA where DESCRIPTION like '%MINOR%' or PRIMARY_TYPE like '%MINOR%'" 209 | ] 210 | }, 211 | { 212 | "cell_type": "markdown", 213 | "metadata": {}, 214 | "source": [ 215 | "### Problem 4\n", 216 | "\n", 217 | "##### List all kidnapping crimes involving a child?\n" 218 | ] 219 | }, 220 | { 221 | "cell_type": "code", 222 | "execution_count": null, 223 | "metadata": {}, 224 | "outputs": [], 225 | "source": [ 226 | "%%sql\n", 227 | "select * from CHICAGO_CRIME_DATA where PRIMARY_TYPE = 'KIDNAPPING' and DESCRIPTION like '%CHILD%';" 228 | ] 229 | }, 230 | { 231 | "cell_type": "markdown", 232 | "metadata": {}, 233 | "source": [ 234 | "### Problem 5\n", 235 | "\n", 236 | "##### What kinds of crimes were recorded at schools?\n" 237 | ] 238 | }, 239 | { 240 | "cell_type": "code", 241 | "execution_count": null, 242 | "metadata": {}, 243 | "outputs": [], 244 | "source": [ 245 | "%%sql\n", 246 | "select distinct(PRIMARY_TYPE) from CHICAGO_CRIME_DATA where LOCATION_DESCRIPTION like '%SCHOOL%' " 247 | ] 248 | }, 249 | { 250 | "cell_type": "markdown", 251 | "metadata": {}, 252 | "source": [ 253 | "### Problem 6\n", 254 | "\n", 255 | "##### List the average safety score for all types of schools.\n" 256 | ] 257 | }, 258 | { 259 | "cell_type": "code", 260 | "execution_count": null, 261 | "metadata": {}, 262 | "outputs": [], 263 | "source": [ 264 | "%%sql\n", 265 | "select \"Elementary, Middle, or High School\", avg(safety_score) as average_safety_score\n", 266 | "from CHICAGO_PRIMARY_SCHOOLS group by \"Elementary, Middle, or High School\"" 267 | ] 268 | }, 269 | { 270 | "cell_type": "markdown", 271 | "metadata": {}, 272 | "source": [ 273 | "### Problem 7\n", 274 | "\n", 275 | "##### List 5 community areas with highest % of households below poverty line\n" 276 | ] 277 | }, 278 | { 279 | "cell_type": "code", 280 | "execution_count": null, 281 | "metadata": {}, 282 | "outputs": [], 283 | "source": [ 284 | "%%sql\n", 285 | "select community_area_name, percent_households_below_poverty from CENSUS_DATA\n", 286 | "order by percent_households_below_poverty desc nulls last limit 5;" 287 | ] 288 | }, 289 | { 290 | "cell_type": "markdown", 291 | "metadata": {}, 292 | "source": [ 293 | "### Problem 8\n", 294 | "\n", 295 | "##### Which community area is most crime prone?\n" 296 | ] 297 | }, 298 | { 299 | "cell_type": "code", 300 | "execution_count": null, 301 | "metadata": {}, 302 | "outputs": [], 303 | "source": [ 304 | "%%sql\n", 305 | "select community_area_name from CHICAGO_CRIME_DATA group by community_area_name \n", 306 | "order by count(*) desc nulls last limit 1" 307 | ] 308 | }, 309 | { 310 | "cell_type": "markdown", 311 | "metadata": {}, 312 | "source": [ 313 | "Double-click **here** for a hint\n", 314 | "\n", 315 | "\n" 318 | ] 319 | }, 320 | { 321 | "cell_type": "markdown", 322 | "metadata": {}, 323 | "source": [ 324 | "### Problem 9\n", 325 | "\n", 326 | "##### Use a sub-query to find the name of the community area with highest hardship index\n" 327 | ] 328 | }, 329 | { 330 | "cell_type": "code", 331 | "execution_count": null, 332 | "metadata": {}, 333 | "outputs": [], 334 | "source": [ 335 | "%%sql\n", 336 | "select community_area_name from CENSUS_DATA where hardship_index = (select MAX(hardship_index) from CENSUS_DATA) " 337 | ] 338 | }, 339 | { 340 | "cell_type": "markdown", 341 | "metadata": {}, 342 | "source": [ 343 | "### Problem 10\n", 344 | "\n", 345 | "##### Use a sub-query to determine the Community Area Name with most number of crimes?\n" 346 | ] 347 | }, 348 | { 349 | "cell_type": "code", 350 | "execution_count": null, 351 | "metadata": {}, 352 | "outputs": [], 353 | "source": [ 354 | "%%sql\n", 355 | "select COMMUNITY_AREA_NAME from CENSUS_DATA where COMMUNITY_AREA_NUMBER in \n", 356 | "(select COMMUNITY_AREA_NUMBER from CHICAGO_CRIME_DATA group by COMMUNITY_AREA_NUMBER order by count(*) desc limit 1)" 357 | ] 358 | }, 359 | { 360 | "cell_type": "code", 361 | "execution_count": null, 362 | "metadata": {}, 363 | "outputs": [], 364 | "source": [] 365 | }, 366 | { 367 | "cell_type": "markdown", 368 | "metadata": {}, 369 | "source": [ 370 | "Copyright © 2020 [cognitiveclass.ai](cognitiveclass.ai?utm_source=bducopyrightlink&utm_medium=dswb&utm_campaign=bdu). This notebook and its source code are released under the terms of the [MIT License](https://bigdatauniversity.com/mit-license?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkDB0201ENSkillsNetwork20127838-2021-01-01&cm_mmc=Email_Newsletter-\\_-Developer_Ed%2BTech-\\_-WW_WW-\\_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-DB0201EN-SkillsNetwork-20127838&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ).\n" 371 | ] 372 | }, 373 | { 374 | "cell_type": "markdown", 375 | "metadata": {}, 376 | "source": [ 377 | "## Author(s)\n", 378 | "\n", 379 | "

Hima Vasudevan

\n", 380 | "

Rav Ahuja

\n", 381 | "

Ramesh Sannreddy

\n", 382 | "\n", 383 | "## Contribtuor(s)\n", 384 | "\n", 385 | "

Malika Singla

\n", 386 | "\n", 387 | "## Change log\n", 388 | "\n", 389 | "| Date | Version | Changed by | Change Description |\n", 390 | "| ---------- | ------- | ----------------- | ---------------------------------------------- |\n", 391 | "| 2021-05-19 | 2.4 | Lakshmi Holla | Updated the question |\n", 392 | "| 2021-04-30 | 2.3 | Malika Singla | Updated the libraries |\n", 393 | "| 2021-01-15 | 2.2 | Rav Ahuja | Removed problem 11 and fixed changelog |\n", 394 | "| 2020-11-25 | 2.1 | Ramesh Sannareddy | Updated the problem statements, and datasets |\n", 395 | "| 2020-09-05 | 2.0 | Malika Singla | Moved lab to course repo in GitLab |\n", 396 | "| 2018-07-18 | 1.0 | Rav Ahuja | Several updates including loading instructions |\n", 397 | "| 2018-05-04 | 0.1 | Hima Vasudevan | Created initial version |\n", 398 | "\n", 399 | "##

© IBM Corporation 2020. All rights reserved.

\n" 400 | ] 401 | } 402 | ], 403 | "metadata": { 404 | "kernelspec": { 405 | "display_name": "Python 3", 406 | "language": "python", 407 | "name": "python3" 408 | }, 409 | "language_info": { 410 | "codemirror_mode": { 411 | "name": "ipython", 412 | "version": 3 413 | }, 414 | "file_extension": ".py", 415 | "mimetype": "text/x-python", 416 | "name": "python", 417 | "nbconvert_exporter": "python", 418 | "pygments_lexer": "ipython3", 419 | "version": "3.8.3" 420 | }, 421 | "widgets": { 422 | "state": {}, 423 | "version": "1.1.2" 424 | } 425 | }, 426 | "nbformat": 4, 427 | "nbformat_minor": 4 428 | } 429 | -------------------------------------------------------------------------------- /6.Databases and SQL for Data Science with Python/Week 5 Course Assignment/Final Exam.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/6.Databases and SQL for Data Science with Python/Week 5 Course Assignment/Final Exam.pdf -------------------------------------------------------------------------------- /7.Data Analysis with Python/Week 1 Importing Datasets/Graded Quiz Importing Datasets.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/7.Data Analysis with Python/Week 1 Importing Datasets/Graded Quiz Importing Datasets.pdf -------------------------------------------------------------------------------- /7.Data Analysis with Python/Week 1 Importing Datasets/Graded Quiz Model Development.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/7.Data Analysis with Python/Week 1 Importing Datasets/Graded Quiz Model Development.pdf -------------------------------------------------------------------------------- /7.Data Analysis with Python/Week 2 Data Wrangling/Graded Quiz Data Wrangling.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/7.Data Analysis with Python/Week 2 Data Wrangling/Graded Quiz Data Wrangling.pdf -------------------------------------------------------------------------------- /7.Data Analysis with Python/Week 3 Exploratory Data Analysis/Graded Quiz Exploratory Data Analysis.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/7.Data Analysis with Python/Week 3 Exploratory Data Analysis/Graded Quiz Exploratory Data Analysis.pdf -------------------------------------------------------------------------------- /7.Data Analysis with Python/Week 5 Model Evaluation/Graded Quiz Model Refinement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/7.Data Analysis with Python/Week 5 Model Evaluation/Graded Quiz Model Refinement.pdf -------------------------------------------------------------------------------- /7.Data Analysis with Python/Week 6 Final Assignment/Final Exam.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/7.Data Analysis with Python/Week 6 Final Assignment/Final Exam.pdf -------------------------------------------------------------------------------- /8.Data Visualization with Python/Week 1 Introduction to Data Visualization Tools/Quiz Introduction to Data Visualization Tools.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/8.Data Visualization with Python/Week 1 Introduction to Data Visualization Tools/Quiz Introduction to Data Visualization Tools.pdf -------------------------------------------------------------------------------- /8.Data Visualization with Python/Week 2 Basic and Specialized Visualization Tools/Quiz Basic Visualization Tools.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/8.Data Visualization with Python/Week 2 Basic and Specialized Visualization Tools/Quiz Basic Visualization Tools.pdf -------------------------------------------------------------------------------- /8.Data Visualization with Python/Week 2 Basic and Specialized Visualization Tools/Quiz Specialized Visualization Tools.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/8.Data Visualization with Python/Week 2 Basic and Specialized Visualization Tools/Quiz Specialized Visualization Tools.pdf -------------------------------------------------------------------------------- /8.Data Visualization with Python/Week 3 Advanced Visualizations and Geospatial Data/Quiz Advanced Visualization Tools.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/8.Data Visualization with Python/Week 3 Advanced Visualizations and Geospatial Data/Quiz Advanced Visualization Tools.pdf -------------------------------------------------------------------------------- /8.Data Visualization with Python/Week 3 Advanced Visualizations and Geospatial Data/Quiz Visualizing Geospatial Data.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/8.Data Visualization with Python/Week 3 Advanced Visualizations and Geospatial Data/Quiz Visualizing Geospatial Data.pdf -------------------------------------------------------------------------------- /8.Data Visualization with Python/Week 4 Creating Dashboards with Plotly and Dash/Graded Quiz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/8.Data Visualization with Python/Week 4 Creating Dashboards with Plotly and Dash/Graded Quiz.pdf -------------------------------------------------------------------------------- /8.Data Visualization with Python/Week 5 Final Project/Final Assignment.py: -------------------------------------------------------------------------------- 1 | # Import required libraries 2 | import pandas as pd 3 | import dash 4 | import dash_html_components as html 5 | import dash_core_components as dcc 6 | from dash.dependencies import Input, Output, State 7 | import plotly.graph_objects as go 8 | import plotly.express as px 9 | from dash import no_update 10 | 11 | 12 | # Create a dash application 13 | app = dash.Dash(__name__) 14 | 15 | # REVIEW1: Clear the layout and do not display exception till callback gets executed 16 | app.config.suppress_callback_exceptions = True 17 | 18 | # Read the airline data into pandas dataframe 19 | airline_data = pd.read_csv('https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DV0101EN-SkillsNetwork/Data%20Files/airline_data.csv', 20 | encoding = "ISO-8859-1", 21 | dtype={'Div1Airport': str, 'Div1TailNum': str, 22 | 'Div2Airport': str, 'Div2TailNum': str}) 23 | 24 | 25 | # List of years 26 | year_list = [i for i in range(2005, 2021, 1)] 27 | 28 | """Compute graph data for creating yearly airline performance report 29 | 30 | Function that takes airline data as input and create 5 dataframes based on the grouping condition to be used for plottling charts and grphs. 31 | 32 | Argument: 33 | 34 | df: Filtered dataframe 35 | 36 | Returns: 37 | Dataframes to create graph. 38 | """ 39 | def compute_data_choice_1(df): 40 | # Cancellation Category Count 41 | bar_data = df.groupby(['Month','CancellationCode'])['Flights'].sum().reset_index() 42 | # Average flight time by reporting airline 43 | line_data = df.groupby(['Month','Reporting_Airline'])['AirTime'].mean().reset_index() 44 | # Diverted Airport Landings 45 | div_data = df[df['DivAirportLandings'] != 0.0] 46 | # Source state count 47 | map_data = df.groupby(['OriginState'])['Flights'].sum().reset_index() 48 | # Destination state count 49 | tree_data = df.groupby(['DestState', 'Reporting_Airline'])['Flights'].sum().reset_index() 50 | return bar_data, line_data, div_data, map_data, tree_data 51 | 52 | 53 | """Compute graph data for creating yearly airline delay report 54 | 55 | This function takes in airline data and selected year as an input and performs computation for creating charts and plots. 56 | 57 | Arguments: 58 | df: Input airline data. 59 | 60 | Returns: 61 | Computed average dataframes for carrier delay, weather delay, NAS delay, security delay, and late aircraft delay. 62 | """ 63 | def compute_data_choice_2(df): 64 | # Compute delay averages 65 | avg_car = df.groupby(['Month','Reporting_Airline'])['CarrierDelay'].mean().reset_index() 66 | avg_weather = df.groupby(['Month','Reporting_Airline'])['WeatherDelay'].mean().reset_index() 67 | avg_NAS = df.groupby(['Month','Reporting_Airline'])['NASDelay'].mean().reset_index() 68 | avg_sec = df.groupby(['Month','Reporting_Airline'])['SecurityDelay'].mean().reset_index() 69 | avg_late = df.groupby(['Month','Reporting_Airline'])['LateAircraftDelay'].mean().reset_index() 70 | return avg_car, avg_weather, avg_NAS, avg_sec, avg_late 71 | 72 | 73 | # Application layout 74 | app.layout = html.Div(children=[ 75 | # TASK1: Add title to the dashboard 76 | # Enter your code below. Make sure you have correct formatting. 77 | html.H1(style={'text-align':'center','color': '#503D36','font-size': 24},children='US Domestic Airline Flights Performance'), 78 | # REVIEW2: Dropdown creation 79 | # Create an outer division 80 | html.Div([ 81 | # Add an division 82 | html.Div([ 83 | # Create an division for adding dropdown helper text for report type 84 | html.Div( 85 | [ 86 | html.H2('Report Type:', style={'margin-right': '2em'}), 87 | ] 88 | ), 89 | # TASK2: Add a dropdown 90 | # Enter your code below. Make sure you have correct formatting. 91 | dcc.Dropdown(id='input-type', 92 | options=[ 93 | {'label': 'Yearly Airline Performance Report', 'value': "OPT1"}, 94 | {'label': 'Yearly Airline Delay Report', 'value': "OPT2"} 95 | ], 96 | placeholder='Select a report type', 97 | style={'text-align':'center','width':'80%','padding':'3px','font-size':'20px'}) 98 | 99 | # Place them next to each other using the division style 100 | ], style={'display':'flex'}), 101 | 102 | # Add next division 103 | html.Div([ 104 | # Create an division for adding dropdown helper text for choosing year 105 | html.Div( 106 | [ 107 | html.H2('Choose Year:', style={'margin-right': '2em'}) 108 | ] 109 | ), 110 | dcc.Dropdown(id='input-year', 111 | # Update dropdown values using list comphrehension 112 | options=[{'label': i, 'value': i} for i in year_list], 113 | placeholder="Select a year", 114 | style={'width':'80%', 'padding':'3px', 'font-size': '20px', 'text-align-last' : 'center'}), 115 | # Place them next to each other using the division style 116 | ], style={'display': 'flex'}), 117 | ]), 118 | 119 | # Add Computed graphs 120 | # REVIEW3: Observe how we add an empty division and providing an id that will be updated during callback 121 | html.Div([ ], id='plot1'), 122 | 123 | html.Div([ 124 | html.Div([ ], id='plot2'), 125 | html.Div([ ], id='plot3') 126 | ], style={'display': 'flex'}), 127 | 128 | # TASK3: Add a division with two empty divisions inside. See above disvision for example. 129 | # Enter your code below. Make sure you have correct formatting. 130 | html.Div([html.Div([],id='plot4'), 131 | html.Div([],id='plot5') 132 | ],style={'display': 'flex'}) 133 | ]) 134 | 135 | # Callback function definition 136 | # TASK4: Add 5 ouput components 137 | # Enter your code below. Make sure you have correct formatting. 138 | @app.callback( [Output(component_id='plot1', component_property='children'), 139 | Output(component_id='plot2', component_property='children'), 140 | Output(component_id='plot3', component_property='children'), 141 | Output(component_id='plot4', component_property='children'), 142 | Output(component_id='plot5', component_property='children')], 143 | [Input(component_id='input-type', component_property='value'), 144 | Input(component_id='input-year', component_property='value')], 145 | # REVIEW4: Holding output state till user enters all the form information. In this case, it will be chart type and year 146 | [State("plot1", 'children'), State("plot2", "children"), 147 | State("plot3", "children"), State("plot4", "children"), 148 | State("plot5", "children") 149 | ]) 150 | # Add computation to callback function and return graph 151 | def get_graph(chart, year, children1, children2, c3, c4, c5): 152 | 153 | # Select data 154 | df = airline_data[airline_data['Year']==year] 155 | 156 | if chart == 'OPT1': 157 | # Compute required information for creating graph from the data 158 | bar_data, line_data, div_data, map_data, tree_data = compute_data_choice_1(df) 159 | 160 | # Number of flights under different cancellation categories 161 | bar_fig = px.bar(bar_data, x='Month', y='Flights', color='CancellationCode', title='Monthly Flight Cancellation') 162 | 163 | # TASK5: Average flight time by reporting airline 164 | # Enter your code below. Make sure you have correct formatting. 165 | line_fig = px.line(line_data, x='Month', y='AirTime', color='Reporting_Airline', title='Average monthly flight time (minutes) by airline') 166 | 167 | # Percentage of diverted airport landings per reporting airline 168 | pie_fig = px.pie(div_data, values='Flights', names='Reporting_Airline', title='% of flights by reporting airline') 169 | 170 | # REVIEW5: Number of flights flying from each state using choropleth 171 | map_fig = px.choropleth(map_data, # Input data 172 | locations='OriginState', 173 | color='Flights', 174 | hover_data=['OriginState', 'Flights'], 175 | locationmode = 'USA-states', # Set to plot as US States 176 | color_continuous_scale='GnBu', 177 | range_color=[0, map_data['Flights'].max()]) 178 | map_fig.update_layout( 179 | title_text = 'Number of flights from origin state', 180 | geo_scope='usa') # Plot only the USA instead of globe 181 | 182 | # TASK6: Number of flights flying to each state from each reporting airline 183 | # Enter your code below. Make sure you have correct formatting. 184 | tree_fig = px.treemap(tree_data, path=['DestState', 'Reporting_Airline'], 185 | values='Flights', 186 | color='Flights', 187 | color_continuous_scale='RdBu', 188 | title='Flight count by airline to destination state' 189 | ) 190 | 191 | 192 | # REVIEW6: Return dcc.Graph component to the empty division 193 | return [dcc.Graph(figure=tree_fig), 194 | dcc.Graph(figure=pie_fig), 195 | dcc.Graph(figure=map_fig), 196 | dcc.Graph(figure=bar_fig), 197 | dcc.Graph(figure=line_fig) 198 | ] 199 | else: 200 | # REVIEW7: This covers chart type 2 and we have completed this exercise under Flight Delay Time Statistics Dashboard section 201 | # Compute required information for creating graph from the data 202 | avg_car, avg_weather, avg_NAS, avg_sec, avg_late = compute_data_choice_2(df) 203 | 204 | # Create graph 205 | carrier_fig = px.line(avg_car, x='Month', y='CarrierDelay', color='Reporting_Airline', title='Average carrrier delay time (minutes) by airline') 206 | weather_fig = px.line(avg_weather, x='Month', y='WeatherDelay', color='Reporting_Airline', title='Average weather delay time (minutes) by airline') 207 | nas_fig = px.line(avg_NAS, x='Month', y='NASDelay', color='Reporting_Airline', title='Average NAS delay time (minutes) by airline') 208 | sec_fig = px.line(avg_sec, x='Month', y='SecurityDelay', color='Reporting_Airline', title='Average security delay time (minutes) by airline') 209 | late_fig = px.line(avg_late, x='Month', y='LateAircraftDelay', color='Reporting_Airline', title='Average late aircraft delay time (minutes) by airline') 210 | 211 | return[dcc.Graph(figure=carrier_fig), 212 | dcc.Graph(figure=weather_fig), 213 | dcc.Graph(figure=nas_fig), 214 | dcc.Graph(figure=sec_fig), 215 | dcc.Graph(figure=late_fig)] 216 | 217 | 218 | # Run the app 219 | if __name__ == '__main__': 220 | app.run_server() -------------------------------------------------------------------------------- /8.Data Visualization with Python/Week 5 Final Project/Final Exam.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/8.Data Visualization with Python/Week 5 Final Project/Final Exam.pdf -------------------------------------------------------------------------------- /9.Machine Learning with Python/Week 1 Introduction to Machine Learning/Quiz Intro to Machine Learning.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/9.Machine Learning with Python/Week 1 Introduction to Machine Learning/Quiz Intro to Machine Learning.pdf -------------------------------------------------------------------------------- /9.Machine Learning with Python/Week 2 Regression/Quiz Regression.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/9.Machine Learning with Python/Week 2 Regression/Quiz Regression.pdf -------------------------------------------------------------------------------- /9.Machine Learning with Python/Week 3 Classification/Quiz Classification.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/9.Machine Learning with Python/Week 3 Classification/Quiz Classification.pdf -------------------------------------------------------------------------------- /9.Machine Learning with Python/Week 4 Clustering/Quiz Clustering.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/9.Machine Learning with Python/Week 4 Clustering/Quiz Clustering.pdf -------------------------------------------------------------------------------- /9.Machine Learning with Python/Week 5 Recommender Systems/Quiz Recommender System.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/9.Machine Learning with Python/Week 5 Recommender Systems/Quiz Recommender System.pdf -------------------------------------------------------------------------------- /9.Machine Learning with Python/Week 6 Final Project/Final Exam.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/9.Machine Learning with Python/Week 6 Final Project/Final Exam.pdf -------------------------------------------------------------------------------- /Financial Aid.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/Financial Aid.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![ViewCount](https://views.whatilearened.today/views/github/navassherif98/IBM_Data_Science_Professional_Certification.svg?cache=remove) 2 | 3 | # IBM: Data Science Professional Certification 4 | 5 | Smiley face Smiley face 6 | 7 | 8 | ![IBM](http://i.imgur.com/Qktqnu1.png) INSTRUCTORS 9 | #### Instructors: Rav Ahuja, Alex Aklson, Aije Egwaikhide, Svetlana Levitan, Romeo Kienzler, Polong Lin, Joseph Santarcangelo, Azim Hirjani, Hima Vasudevan, Saishruthi Swaminathan, Saeed Aghabozorgi, Yan Luo 10 | 11 | This repository contains resources and solution of the quizzes given and asked in IBM Data Science Professional Certification. 12 | 13 | Specialization Course Link: [https://www.coursera.org/professional-certificates/ibm-data-science] 14 | 15 | #### There are 10 Courses in this Professional Certificate 16 | 17 | The courses enlisted in this specialization are as follows: 18 | 19 | - [x] __What is Data Science? [Go To Course](https://www.coursera.org/learn/what-is-datascience?specialization=ibm-data-science)__ 20 | 21 | - [x] __Tools for Data Science [Go To Course](https://www.coursera.org/learn/open-source-tools-for-data-science?specialization=ibm-data-science)__ 22 | 23 | - [x] __Data Science Methodology [Go To Course](https://www.coursera.org/learn/data-science-methodology?specialization=ibm-data-science)__ 24 | 25 | - [x] __Python for Data Science, AI & Development [Go To Course](https://www.coursera.org/learn/python-for-applied-data-science-ai?specialization=ibm-data-science)__ 26 | 27 | - [x] __Python Project for Data Science [Go To Course](https://www.coursera.org/learn/python-project-for-data-science?specialization=ibm-data-science)__ 28 | 29 | - [x] __Databases and SQL for Data Science with Python [Go To Course](https://www.coursera.org/learn/sql-data-science?specialization=ibm-data-science)__ 30 | 31 | - [x] __Data Analysis with Python [Go To Course](https://www.coursera.org/learn/data-analysis-with-python?specialization=ibm-data-science)__ 32 | 33 | - [x] __Data Visualization with Python [Go To Course](https://www.coursera.org/learn/python-for-data-visualization?specialization=ibm-data-science)__ 34 | 35 | - [x] __Machine Learning with Python [Go To Course](https://www.coursera.org/learn/machine-learning-with-python?specialization=ibm-data-science)__ 36 | 37 | - [x] __Applied Data Science Capstone [Go To Course](https://www.coursera.org/learn/applied-data-science-capstone?specialization=ibm-data-science)__ 38 | 39 |
40 | 41 | The course is a paid Course but if you can't afford that, then there is **Finacial Aid** option 42 | You can apply for that by answering some questions 43 | 44 | Check this answers so you will get a rough idea : [Financial Aid Answers](https://github.com/navassherif98/IBM_Data_Science_Professional_Certification/blob/main/Financial%20Aid.pdf) 45 | -------------------------------------------------------------------------------- /assets/IBM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/assets/IBM.png -------------------------------------------------------------------------------- /assets/instructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/navassherif98/IBM_Data_Science_Professional_Certification/4b9853f907a045130eb46d4bb8bac7ccb2bede42/assets/instructor.png -------------------------------------------------------------------------------- /assets/style.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v3.0.2 | MIT License | git.io/normalize */ 2 | @import url("https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap"); 3 | html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999;font-weight:bold}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-weight:bold;font-style:italic}.highlight .c,.highlight .cd{color:#999988;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#000000;background-color:#ffdddd}.highlight .ge{color:#000000;font-style:italic}.highlight .gr{color:#aa0000}.highlight .gh{color:#999999}.highlight .gi{color:#000000;background-color:#ddffdd}.highlight .go{color:#888888}.highlight .gp{color:#555555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaaaaa}.highlight .gt{color:#aa0000}.highlight .kc{color:#000000;font-weight:bold}.highlight .kd{color:#000000;font-weight:bold}.highlight .kn{color:#000000;font-weight:bold}.highlight .kp{color:#000000;font-weight:bold}.highlight .kr{color:#000000;font-weight:bold}.highlight .kt{color:#445588;font-weight:bold}.highlight .k,.highlight .kv{color:#000000;font-weight:bold}.highlight .mf{color:#009999}.highlight .mh{color:#009999}.highlight .il{color:#009999}.highlight .mi{color:#009999}.highlight .mo{color:#009999}.highlight .m,.highlight .mb,.highlight .mx{color:#009999}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .s{color:#d14}.highlight .na{color:#008080}.highlight .bp{color:#999999}.highlight .nb{color:#0086B3}.highlight .nc{color:#445588;font-weight:bold}.highlight .no{color:#008080}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:#800080}.highlight .ne{color:#990000;font-weight:bold}.highlight .nf{color:#990000;font-weight:bold}.highlight .nl{color:#990000;font-weight:bold}.highlight .nn{color:#555555}.highlight .nt{color:#000080}.highlight .vc{color:#008080}.highlight .vg{color:#008080}.highlight .vi{color:#008080}.highlight .nv{color:#008080}.highlight .ow{color:#000000;font-weight:bold}.highlight .o{color:#000000;font-weight:bold}.highlight .w{color:#bbbbbb}.highlight{background-color:#f8f8f8}*{box-sizing:border-box}body{padding:0;margin:0;font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;line-height:1.5;color:#606c71}#skip-to-content{height:1px;width:1px;position:absolute;overflow:hidden;top:-10px}#skip-to-content:focus{position:fixed;top:10px;left:10px;height:auto;width:auto;background:#e19447;outline:thick solid #e19447}a{color:#1e6bb8;text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-block;margin-bottom:1rem;color:rgba(255,255,255,0.7);background-color:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.2);border-style:solid;border-width:1px;border-radius:0.3rem;transition:color 0.2s, background-color 0.2s, border-color 0.2s}.btn:hover{color:rgba(255,255,255,0.8);text-decoration:none;background-color:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.3)}.btn+.btn{margin-left:1rem}@media screen and (min-width: 64em){.btn{padding:0.75rem 1rem}}@media screen and (min-width: 42em) and (max-width: 64em){.btn{padding:0.6rem 0.9rem;font-size:0.9rem}}@media screen and (max-width: 42em){.btn{display:block;width:100%;padding:0.75rem;font-size:0.9rem}.btn+.btn{margin-top:1rem;margin-left:0}}.page-header{color:#fff;text-align:center;background-color:#159957;background-image:linear-gradient(120deg, #155799, #159957)}@media screen and (min-width: 64em){.page-header{padding:5rem 6rem}}@media screen and (min-width: 42em) and (max-width: 64em){.page-header{padding:3rem 4rem}}@media screen and (max-width: 42em){.page-header{padding:2rem 1rem}}.project-name{margin-top:0;margin-bottom:0.1rem}@media screen and (min-width: 64em){.project-name{font-size:3.25rem}}@media screen and (min-width: 42em) and (max-width: 64em){.project-name{font-size:2.25rem}}@media screen and (max-width: 42em){.project-name{font-size:1.75rem}}.project-tagline{margin-bottom:2rem;font-weight:normal;opacity:0.7}@media screen and (min-width: 64em){.project-tagline{font-size:1.25rem}}@media screen and (min-width: 42em) and (max-width: 64em){.project-tagline{font-size:1.15rem}}@media screen and (max-width: 42em){.project-tagline{font-size:1rem}}.main-content{word-wrap:break-word}.main-content :first-child{margin-top:0}@media screen and (min-width: 64em){.main-content{max-width:64rem;padding:2rem 6rem;margin:0 auto;font-size:1.1rem}}@media screen and (min-width: 42em) and (max-width: 64em){.main-content{padding:2rem 4rem;font-size:1.1rem}}@media screen and (max-width: 42em){.main-content{padding:2rem 1rem;font-size:1rem}}.main-content kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;border-radius:3px;box-shadow:inset 0 -1px 0 #959da5;color:#444d56;display:inline-block;font-size:11px;line-height:10px;padding:3px 5px;vertical-align:middle}.main-content img{max-width:100%}.main-content h1,.main-content h2,.main-content h3,.main-content h4,.main-content h5,.main-content h6{margin-top:2rem;margin-bottom:1rem;font-weight:normal;color:#159957}.main-content p{margin-bottom:1em}.main-content code{padding:2px 4px;font-family:Consolas, "Liberation Mono", Menlo, Courier, monospace;font-size:0.9rem;color:#567482;background-color:#f3f6fa;border-radius:0.3rem}.main-content pre{padding:0.8rem;margin-top:0;margin-bottom:1rem;font:1rem Consolas, "Liberation Mono", Menlo, Courier, monospace;color:#567482;word-wrap:normal;background-color:#f3f6fa;border:solid 1px #dce6f0;border-radius:0.3rem}.main-content pre>code{padding:0;margin:0;font-size:0.9rem;color:#567482;word-break:normal;white-space:pre;background:transparent;border:0}.main-content .highlight{margin-bottom:1rem}.main-content .highlight pre{margin-bottom:0;word-break:normal}.main-content .highlight pre,.main-content pre{padding:0.8rem;overflow:auto;font-size:0.9rem;line-height:1.45;border-radius:0.3rem;-webkit-overflow-scrolling:touch}.main-content pre code,.main-content pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.main-content pre code:before,.main-content pre code:after,.main-content pre tt:before,.main-content pre tt:after{content:normal}.main-content ul,.main-content ol{margin-top:0}.main-content blockquote{padding:0 1rem;margin-left:0;color:#819198;border-left:0.3rem solid #dce6f0}.main-content blockquote>:first-child{margin-top:0}.main-content blockquote>:last-child{margin-bottom:0}.main-content table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all;-webkit-overflow-scrolling:touch}.main-content table th{font-weight:bold}.main-content table th,.main-content table td{padding:0.5rem 1rem;border:1px solid #e9ebec}.main-content dl{padding:0}.main-content dl dt{padding:0;margin-top:1rem;font-size:1rem;font-weight:bold}.main-content dl dd{padding:0;margin-bottom:1rem}.main-content hr{height:2px;padding:0;margin:1rem 0;background-color:#eff0f1;border:0}.site-footer{padding-top:2rem;margin-top:2rem;border-top:solid 1px #eff0f1}@media screen and (min-width: 64em){.site-footer{font-size:1rem}}@media screen and (min-width: 42em) and (max-width: 64em){.site-footer{font-size:1rem}}@media screen and (max-width: 42em){.site-footer{font-size:0.9rem}}.site-footer-owner{display:block;font-weight:bold}.site-footer-credits{color:#819198} -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | IBM: Data Science 9 | 10 | 11 | 12 | Skip to the content. 13 | 14 | 22 | 23 |
24 |

IBM: Data Science Professional Certification Go To Repository

25 | 26 |

IBM logo Smiley face

27 | 28 |

Instructor INSTRUCTORS

29 |

Instructors: Rav Ahuja, Alex Aklson, Aije Egwaikhide, Svetlana Levitan, Romeo Kienzler, Polong Lin, Joseph Santarcangelo, Azim Hirjani, Hima Vasudevan, Saishruthi Swaminathan, Saeed Aghabozorgi, Yan Luo

30 | 31 |

This repository contains resources and solution of the quizzes given and asked in IBM Data Science Professional Certification.

32 | 33 |

Specialization Course Link: [https://www.coursera.org/professional-certificates/ibm-data-science]

34 | 35 |

There are 10 Courses in this Professional Certificate

36 | 37 |

The courses enlisted in this specialization are as follows:

38 | 39 | 71 | 72 |


73 | 74 |

The course is a paid Course but if you can’t afford that, then there is Finacial Aid option 75 | You can apply for that by answering some questions

76 | 77 |

Check this answers so you will get a rough idea : Financial Aid Answers

78 | 79 | 80 | 86 |
87 | 88 | 89 | 90 | --------------------------------------------------------------------------------