Queer European MD passionate about IT
Jelajahi Sumber

Add solutions for M349

Alex 6 tahun lalu
induk
melakukan
6366f2ab56
1 mengubah file dengan 633 tambahan dan 0 penghapusan
  1. 633 0
      Mission349Solutions.ipynb

+ 633 - 0
Mission349Solutions.ipynb

@@ -0,0 +1,633 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Project: Jupyter Notebook\n",
+    "\n",
+    "## 2. Running Code"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Hello, Jupyter!\n"
+     ]
+    }
+   ],
+   "source": [
+    "welcome_message = 'Hello, Jupyter!'\n",
+    "first_cell = True\n",
+    "\n",
+    "if first_cell:\n",
+    "    print(welcome_message)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "240.0\n"
+     ]
+    }
+   ],
+   "source": [
+    "result = 1200 / 5\n",
+    "second_cell = True\n",
+    "\n",
+    "if second_cell:\n",
+    "    print(result)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 3. Running Code Using the Keyboard"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Hello, Jupyter!\n",
+      "First cell\n"
+     ]
+    }
+   ],
+   "source": [
+    "### Shift + Enter; then Alt + Enter ###\n",
+    "\n",
+    "welcome_message = 'Hello, Jupyter!'\n",
+    "first_cell = True\n",
+    "\n",
+    "if first_cell:\n",
+    "    print(welcome_message)\n",
+    "    \n",
+    "print('First cell')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Second cell\n"
+     ]
+    }
+   ],
+   "source": [
+    "### Ctrl + Enter ###\n",
+    "\n",
+    "print('Second cell')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "240.0\n",
+      "Third cell\n"
+     ]
+    }
+   ],
+   "source": [
+    "### Ctrl + Enter ###\n",
+    "\n",
+    "result = 1200 / 5\n",
+    "second_cell = True\n",
+    "\n",
+    "if second_cell:\n",
+    "    print(result)\n",
+    "    \n",
+    "print('Third cell')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 4. Keyboard Shortcuts"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Hello, Jupyter!\n",
+      "First cell\n"
+     ]
+    }
+   ],
+   "source": [
+    "welcome_message = 'Hello, Jupyter!'\n",
+    "first_cell = True\n",
+    "\n",
+    "if first_cell:\n",
+    "    print(welcome_message)\n",
+    "    \n",
+    "print('First cell')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "240.0\n",
+      "Second cell\n"
+     ]
+    }
+   ],
+   "source": [
+    "result = 1200 / 5\n",
+    "second_cell = True\n",
+    "\n",
+    "if second_cell:\n",
+    "    print(result)\n",
+    "    \n",
+    "print('Second cell')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "A true third cell\n"
+     ]
+    }
+   ],
+   "source": [
+    "print('A true third cell')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 5. State"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def welcome(a_string):\n",
+    "    print('Welcome to ' + a_string + '!')\n",
+    "    \n",
+    "dq = 'Dataquest'\n",
+    "jn = 'Jupyter Notebook'\n",
+    "py = 'Python'"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Welcome to Dataquest!\n",
+      "Welcome to Jupyter Notebook!\n",
+      "Welcome to Python!\n"
+     ]
+    }
+   ],
+   "source": [
+    "welcome(dq)\n",
+    "welcome(jn)\n",
+    "welcome(py)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 6. Hidden State"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      ">>> welcome_message = 'Hello, Jupyter!'\n",
+      "... first_cell = True\n",
+      "... \n",
+      "... if first_cell:\n",
+      "...     print(welcome_message)\n",
+      "...\n",
+      ">>> result = 1200 / 5\n",
+      "... second_cell = True\n",
+      "... \n",
+      "... if second_cell:\n",
+      "...     print(result)\n",
+      "...\n",
+      ">>> ### Shift + Enter; then Alt + Enter ###\n",
+      "... \n",
+      "... welcome_message = 'Hello, Jupyter!'\n",
+      "... first_cell = True\n",
+      "... \n",
+      "... if first_cell:\n",
+      "...     print(welcome_message)\n",
+      "...     \n",
+      "... print('First cell')\n",
+      "...\n",
+      ">>> ### Ctrl + Enter ###\n",
+      "... \n",
+      "... print('Second cell')\n",
+      "...\n",
+      ">>> ### Ctrl + Enter ###\n",
+      "... \n",
+      "... result = 1200 / 5\n",
+      "... second_cell = True\n",
+      "... \n",
+      "... if second_cell:\n",
+      "...     print(result)\n",
+      "...     \n",
+      "... print('Third cell')\n",
+      "...\n",
+      ">>> welcome_message = 'Hello, Jupyter!'\n",
+      "... first_cell = True\n",
+      "... \n",
+      "... if first_cell:\n",
+      "...     print(welcome_message)\n",
+      "...     \n",
+      "... print('First cell')\n",
+      "...\n",
+      ">>> result = 1200 / 5\n",
+      "... second_cell = True\n",
+      "... \n",
+      "... if second_cell:\n",
+      "...     print(result)\n",
+      "...     \n",
+      "... print('Second cell')\n",
+      "...\n",
+      ">>> print('A true third cell')\n",
+      ">>> def welcome(a_string):\n",
+      "...     print('Welcome to ' + a_string + '!')\n",
+      "...     \n",
+      "... dq = 'Dataquest'\n",
+      "... jn = 'Jupyter Notebook'\n",
+      "... py = 'Python'\n",
+      "...\n",
+      ">>> welcome(dq)\n",
+      "... welcome(jn)\n",
+      "... welcome(py)\n",
+      "...\n",
+      ">>> %history -p\n"
+     ]
+    }
+   ],
+   "source": [
+    "%history -p"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Restart & Clear Output"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "'''\n",
+    "Note: To reproduce exactly the output in this notebook\n",
+    "as whole:\n",
+    "\n",
+    "1. Run all the cells above.\n",
+    "2. Restart the program's state but keep the output\n",
+    "(click Restart Kernel).\n",
+    "3. Then, run only the cells below.\n",
+    "\n",
+    "\n",
+    "(You were not asked in this exercise to write a note like this.\n",
+    "The note above was written to give more details on how to reproduce\n",
+    "the behavior seen in this notebook.)\n",
+    "'''"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      ">>> %history -p\n"
+     ]
+    }
+   ],
+   "source": [
+    "%history -p"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def welcome(a_string):\n",
+    "    welcome_msg = 'Welcome to ' + a_string + '!'\n",
+    "    return welcome_msg\n",
+    "\n",
+    "dq = 'Dataquest'\n",
+    "jn = 'Jupyter Notebook'"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Welcome to Dataquest!\n",
+      "Welcome to Jupyter Notebook!\n",
+      "Welcome to Python!\n"
+     ]
+    }
+   ],
+   "source": [
+    "welcome(dq)\n",
+    "welcome(jn)\n",
+    "welcome(py)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      ">>> %history -p\n",
+      ">>> def welcome(a_string):\n",
+      "...     print('Welcome to ' + a_string + '!')\n",
+      "...     \n",
+      "... dq = 'Dataquest'\n",
+      "... jn = 'Jupyter Notebook'\n",
+      "... py = 'Python'\n",
+      "...\n",
+      ">>> welcome(dq)\n",
+      "... welcome(jn)\n",
+      "... welcome(py)\n",
+      "...\n",
+      ">>> def welcome(a_string):\n",
+      "...     welcome_msg = 'Welcome to ' + a_string + '!'\n",
+      "...     return welcome_msg\n",
+      "... \n",
+      "... dq = 'Dataquest'\n",
+      "... jn = 'Jupyter Notebook'\n",
+      "...\n",
+      ">>> %history -p\n"
+     ]
+    }
+   ],
+   "source": [
+    "%history -p"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'Welcome to Python!'"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "welcome(dq)\n",
+    "welcome(jn)\n",
+    "welcome(py)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 7. Text and Markdown"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "In the code cell below, we:\n",
+    "\n",
+    "- Open the `AppleStore.csv` file using the `open()` function, and assign the output to a variable named `opened_file`\n",
+    "- Import the `reader()` function from the `csv` module\n",
+    "- Read in the opened file using the `reader()` function, and assign the output to a variable named `read_file`\n",
+    "- Transform the read-in file to a list of lists using `list()` and save it to a variable named `apps_data`\n",
+    "- Display the header row and the first three rows of the data set."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[['id',\n",
+       "  'track_name',\n",
+       "  'size_bytes',\n",
+       "  'currency',\n",
+       "  'price',\n",
+       "  'rating_count_tot',\n",
+       "  'rating_count_ver',\n",
+       "  'user_rating',\n",
+       "  'user_rating_ver',\n",
+       "  'ver',\n",
+       "  'cont_rating',\n",
+       "  'prime_genre',\n",
+       "  'sup_devices.num',\n",
+       "  'ipadSc_urls.num',\n",
+       "  'lang.num',\n",
+       "  'vpp_lic'],\n",
+       " ['284882215',\n",
+       "  'Facebook',\n",
+       "  '389879808',\n",
+       "  'USD',\n",
+       "  '0.0',\n",
+       "  '2974676',\n",
+       "  '212',\n",
+       "  '3.5',\n",
+       "  '3.5',\n",
+       "  '95.0',\n",
+       "  '4+',\n",
+       "  'Social Networking',\n",
+       "  '37',\n",
+       "  '1',\n",
+       "  '29',\n",
+       "  '1'],\n",
+       " ['389801252',\n",
+       "  'Instagram',\n",
+       "  '113954816',\n",
+       "  'USD',\n",
+       "  '0.0',\n",
+       "  '2161558',\n",
+       "  '1289',\n",
+       "  '4.5',\n",
+       "  '4.0',\n",
+       "  '10.23',\n",
+       "  '12+',\n",
+       "  'Photo & Video',\n",
+       "  '37',\n",
+       "  '0',\n",
+       "  '29',\n",
+       "  '1'],\n",
+       " ['529479190',\n",
+       "  'Clash of Clans',\n",
+       "  '116476928',\n",
+       "  'USD',\n",
+       "  '0.0',\n",
+       "  '2130805',\n",
+       "  '579',\n",
+       "  '4.5',\n",
+       "  '4.5',\n",
+       "  '9.24.12',\n",
+       "  '9+',\n",
+       "  'Games',\n",
+       "  '38',\n",
+       "  '5',\n",
+       "  '18',\n",
+       "  '1']]"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "opened_file = open('AppleStore.csv')\n",
+    "from csv import reader\n",
+    "read_file = reader(opened_file)\n",
+    "apps_data = list(read_file)\n",
+    "\n",
+    "apps_data[:4]"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The data set above contains information about more than 7000 Apple iOS mobile apps. The data was collected from the iTunes Search API by data engineer [Ramanathan Perumal](https://www.kaggle.com/ramamet4). Documentation for the data set can be found [at this page](https://www.kaggle.com/ramamet4/app-store-apple-data-set-10k-apps/home), where you'll also be able to download the data set.\n",
+    "\n",
+    "This is a table explaining what each column in the data set describes:\n",
+    "\n",
+    "Column name | Description\n",
+    "-- | --\n",
+    "\"id\" | App ID\n",
+    "\"track_name\"| App Name\n",
+    "\"size_bytes\"| Size (in Bytes)\n",
+    "\"currency\"| Currency Type\n",
+    "\"price\"| Price amount\n",
+    "\"rating_count_tot\"| User Rating counts (for all version)\n",
+    "\"rating_count_ver\"| User Rating counts (for current version)\n",
+    "\"user_rating\" | Average User Rating value (for all version)\n",
+    "\"user_rating_ver\"| Average User Rating value (for current version)\n",
+    "\"ver\" | Latest version code\n",
+    "\"cont_rating\"| Content Rating\n",
+    "\"prime_genre\"| Primary Genre\n",
+    "\"sup_devices.num\"| Number of supporting devices\n",
+    "\"ipadSc_urls.num\"| Number of screenshots showed for display\n",
+    "\"lang.num\"| Number of supported languages\n",
+    "\"vpp_lic\"| Vpp Device Based Licensing Enabled"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.4"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}