From 83b382fc4b6eddf2ae22942a901d9835d03cb8c2 Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Wed, 4 Sep 2019 22:06:47 -0400 Subject: [PATCH 1/9] Created using Colaboratory --- .../LS_DSPT3_111_A_First_Look_at_Data.ipynb | 483 ++++++++++++++++++ 1 file changed, 483 insertions(+) create mode 100644 module1-afirstlookatdata/LS_DSPT3_111_A_First_Look_at_Data.ipynb diff --git a/module1-afirstlookatdata/LS_DSPT3_111_A_First_Look_at_Data.ipynb b/module1-afirstlookatdata/LS_DSPT3_111_A_First_Look_at_Data.ipynb new file mode 100644 index 00000000..110330e2 --- /dev/null +++ b/module1-afirstlookatdata/LS_DSPT3_111_A_First_Look_at_Data.ipynb @@ -0,0 +1,483 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "LS_DSPT3_111_A_First_Look_at_Data.ipynb", + "version": "0.3.2", + "provenance": [], + "collapsed_sections": [], + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Okfr_uhwhS1X", + "colab_type": "text" + }, + "source": [ + "# Lambda School Data Science - A First Look at Data\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9dtJETFRhnOG", + "colab_type": "text" + }, + "source": [ + "## Lecture - let's explore Python DS libraries and examples!\n", + "\n", + "The Python Data Science ecosystem is huge. You've seen some of the big pieces - pandas, scikit-learn, matplotlib. What parts do you want to see more of?" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "WiBkgmPJhmhE", + "colab_type": "code", + "colab": {} + }, + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "P9Gx2pik9wbC", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "86fa207a-2d55-492d-b8a5-0bfcc1650663" + }, + "source": [ + "np.random.randint" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 4 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "jxmjmUoq_e3E", + "colab_type": "code", + "colab": {} + }, + "source": [ + "x = [1,2,3,4]\n", + "y = [2,4,6,10]" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "cYf23Xz-_9w-", + "colab_type": "code", + "outputId": "747614f3-e65a-4a15-f29b-21b11c130266", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 171 + } + }, + "source": [ + "df = pd.DataFrame({'first_col': x, 'second_col': y})\n", + "df['third_col'] = df['first_col'] + 2*df['second_col']\n", + "df['fourth_col'] = df['third_col'] > 10\n", + "df" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
first_colsecond_colthird_colfourth_col
0125False
12410False
23615True
341024True
\n", + "
" + ], + "text/plain": [ + " first_col second_col third_col fourth_col\n", + "0 1 2 5 False\n", + "1 2 4 10 False\n", + "2 3 6 15 True\n", + "3 4 10 24 True" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 6 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "DJIKkngQENf_", + "colab_type": "code", + "outputId": "30d339bb-098e-491a-9f9e-e4cc54778d16", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 79 + } + }, + "source": [ + "df[df['second_col'] == 10]" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
first_colsecond_colthird_colfourth_col
341024True
\n", + "
" + ], + "text/plain": [ + " first_col second_col third_col fourth_col\n", + "3 4 10 24 True" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 7 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lOqaPds9huME", + "colab_type": "text" + }, + "source": [ + "## Assignment - now it's your turn\n", + "\n", + "Pick at least one Python DS library, and using documentation/examples reproduce in this notebook something cool. It's OK if you don't fully understand it or get it 100% working, but do put in effort and look things up." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "TGUS79cOhPWj", + "colab_type": "code", + "outputId": "79e8f3be-5588-4945-c6b9-112be394d995", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + } + }, + "source": [ + "arr_1 = np.random.randint(low=0, high=100, size=1000)\n", + "arr_2 = np.random.randint(low=0, high=100, size=1000)\n", + "plt.scatter(arr_1, arr_2)\n", + "\n", + "# Plotting 1000 random x's and y's" + ], + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 20 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "PA8bb4rRX1GZ", + "colab_type": "code", + "outputId": "f18ed091-9a7c-4adb-f6c0-a3066193c912", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 307 + } + }, + "source": [ + "fib = [1]\n", + "for i in range(50):\n", + " fib.append(fib[i-1]+fib[i])\n", + "# Fibonacci sequence in honor of the new Tool LP\n", + "\n", + "plt.scatter(fib, fib)" + ], + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 21 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "JvkQaJTHDhij", + "colab_type": "code", + "colab": { + "resources": { + "http://localhost:8080/nbextensions/google.colab/files.js": { + "data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7Ci8vIE1heCBhbW91bnQgb2YgdGltZSB0byBibG9jayB3YWl0aW5nIGZvciB0aGUgdXNlci4KY29uc3QgRklMRV9DSEFOR0VfVElNRU9VVF9NUyA9IDMwICogMTAwMDsKCmZ1bmN0aW9uIF91cGxvYWRGaWxlcyhpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IHN0ZXBzID0gdXBsb2FkRmlsZXNTdGVwKGlucHV0SWQsIG91dHB1dElkKTsKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIC8vIENhY2hlIHN0ZXBzIG9uIHRoZSBvdXRwdXRFbGVtZW50IHRvIG1ha2UgaXQgYXZhaWxhYmxlIGZvciB0aGUgbmV4dCBjYWxsCiAgLy8gdG8gdXBsb2FkRmlsZXNDb250aW51ZSBmcm9tIFB5dGhvbi4KICBvdXRwdXRFbGVtZW50LnN0ZXBzID0gc3RlcHM7CgogIHJldHVybiBfdXBsb2FkRmlsZXNDb250aW51ZShvdXRwdXRJZCk7Cn0KCi8vIFRoaXMgaXMgcm91Z2hseSBhbiBhc3luYyBnZW5lcmF0b3IgKG5vdCBzdXBwb3J0ZWQgaW4gdGhlIGJyb3dzZXIgeWV0KSwKLy8gd2hlcmUgdGhlcmUgYXJlIG11bHRpcGxlIGFzeW5jaHJvbm91cyBzdGVwcyBhbmQgdGhlIFB5dGhvbiBzaWRlIGlzIGdvaW5nCi8vIHRvIHBvbGwgZm9yIGNvbXBsZXRpb24gb2YgZWFjaCBzdGVwLgovLyBUaGlzIHVzZXMgYSBQcm9taXNlIHRvIGJsb2NrIHRoZSBweXRob24gc2lkZSBvbiBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcCwKLy8gdGhlbiBwYXNzZXMgdGhlIHJlc3VsdCBvZiB0aGUgcHJldmlvdXMgc3RlcCBhcyB0aGUgaW5wdXQgdG8gdGhlIG5leHQgc3RlcC4KZnVuY3Rpb24gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpIHsKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIGNvbnN0IHN0ZXBzID0gb3V0cHV0RWxlbWVudC5zdGVwczsKCiAgY29uc3QgbmV4dCA9IHN0ZXBzLm5leHQob3V0cHV0RWxlbWVudC5sYXN0UHJvbWlzZVZhbHVlKTsKICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5leHQudmFsdWUucHJvbWlzZSkudGhlbigodmFsdWUpID0+IHsKICAgIC8vIENhY2hlIHRoZSBsYXN0IHByb21pc2UgdmFsdWUgdG8gbWFrZSBpdCBhdmFpbGFibGUgdG8gdGhlIG5leHQKICAgIC8vIHN0ZXAgb2YgdGhlIGdlbmVyYXRvci4KICAgIG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSA9IHZhbHVlOwogICAgcmV0dXJuIG5leHQudmFsdWUucmVzcG9uc2U7CiAgfSk7Cn0KCi8qKgogKiBHZW5lcmF0b3IgZnVuY3Rpb24gd2hpY2ggaXMgY2FsbGVkIGJldHdlZW4gZWFjaCBhc3luYyBzdGVwIG9mIHRoZSB1cGxvYWQKICogcHJvY2Vzcy4KICogQHBhcmFtIHtzdHJpbmd9IGlucHV0SWQgRWxlbWVudCBJRCBvZiB0aGUgaW5wdXQgZmlsZSBwaWNrZXIgZWxlbWVudC4KICogQHBhcmFtIHtzdHJpbmd9IG91dHB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIG91dHB1dCBkaXNwbGF5LgogKiBAcmV0dXJuIHshSXRlcmFibGU8IU9iamVjdD59IEl0ZXJhYmxlIG9mIG5leHQgc3RlcHMuCiAqLwpmdW5jdGlvbiogdXBsb2FkRmlsZXNTdGVwKGlucHV0SWQsIG91dHB1dElkKSB7CiAgY29uc3QgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5wdXRJZCk7CiAgaW5wdXRFbGVtZW50LmRpc2FibGVkID0gZmFsc2U7CgogIGNvbnN0IG91dHB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvdXRwdXRJZCk7CiAgb3V0cHV0RWxlbWVudC5pbm5lckhUTUwgPSAnJzsKCiAgY29uc3QgcGlja2VkUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKGUpID0+IHsKICAgICAgcmVzb2x2ZShlLnRhcmdldC5maWxlcyk7CiAgICB9KTsKICB9KTsKCiAgY29uc3QgY2FuY2VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgaW5wdXRFbGVtZW50LnBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoY2FuY2VsKTsKICBjYW5jZWwudGV4dENvbnRlbnQgPSAnQ2FuY2VsIHVwbG9hZCc7CiAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICBjYW5jZWwub25jbGljayA9ICgpID0+IHsKICAgICAgcmVzb2x2ZShudWxsKTsKICAgIH07CiAgfSk7CgogIC8vIENhbmNlbCB1cGxvYWQgaWYgdXNlciBoYXNuJ3QgcGlja2VkIGFueXRoaW5nIGluIHRpbWVvdXQuCiAgY29uc3QgdGltZW91dFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9LCBGSUxFX0NIQU5HRV9USU1FT1VUX01TKTsKICB9KTsKCiAgLy8gV2FpdCBmb3IgdGhlIHVzZXIgdG8gcGljayB0aGUgZmlsZXMuCiAgY29uc3QgZmlsZXMgPSB5aWVsZCB7CiAgICBwcm9taXNlOiBQcm9taXNlLnJhY2UoW3BpY2tlZFByb21pc2UsIHRpbWVvdXRQcm9taXNlLCBjYW5jZWxQcm9taXNlXSksCiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdzdGFydGluZycsCiAgICB9CiAgfTsKCiAgaWYgKCFmaWxlcykgewogICAgcmV0dXJuIHsKICAgICAgcmVzcG9uc2U6IHsKICAgICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICAgIH0KICAgIH07CiAgfQoKICBjYW5jZWwucmVtb3ZlKCk7CgogIC8vIERpc2FibGUgdGhlIGlucHV0IGVsZW1lbnQgc2luY2UgZnVydGhlciBwaWNrcyBhcmUgbm90IGFsbG93ZWQuCiAgaW5wdXRFbGVtZW50LmRpc2FibGVkID0gdHJ1ZTsKCiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7CiAgICBjb25zdCBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpJyk7CiAgICBsaS5hcHBlbmQoc3BhbihmaWxlLm5hbWUsIHtmb250V2VpZ2h0OiAnYm9sZCd9KSk7CiAgICBsaS5hcHBlbmQoc3BhbigKICAgICAgICBgKCR7ZmlsZS50eXBlIHx8ICduL2EnfSkgLSAke2ZpbGUuc2l6ZX0gYnl0ZXMsIGAgKwogICAgICAgIGBsYXN0IG1vZGlmaWVkOiAkewogICAgICAgICAgICBmaWxlLmxhc3RNb2RpZmllZERhdGUgPyBmaWxlLmxhc3RNb2RpZmllZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCkgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbi9hJ30gLSBgKSk7CiAgICBjb25zdCBwZXJjZW50ID0gc3BhbignMCUgZG9uZScpOwogICAgbGkuYXBwZW5kQ2hpbGQocGVyY2VudCk7CgogICAgb3V0cHV0RWxlbWVudC5hcHBlbmRDaGlsZChsaSk7CgogICAgY29uc3QgZmlsZURhdGFQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKICAgICAgcmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7CiAgICAgICAgcmVzb2x2ZShlLnRhcmdldC5yZXN1bHQpOwogICAgICB9OwogICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7CiAgICB9KTsKICAgIC8vIFdhaXQgZm9yIHRoZSBkYXRhIHRvIGJlIHJlYWR5LgogICAgbGV0IGZpbGVEYXRhID0geWllbGQgewogICAgICBwcm9taXNlOiBmaWxlRGF0YVByb21pc2UsCiAgICAgIHJlc3BvbnNlOiB7CiAgICAgICAgYWN0aW9uOiAnY29udGludWUnLAogICAgICB9CiAgICB9OwoKICAgIC8vIFVzZSBhIGNodW5rZWQgc2VuZGluZyB0byBhdm9pZCBtZXNzYWdlIHNpemUgbGltaXRzLiBTZWUgYi82MjExNTY2MC4KICAgIGxldCBwb3NpdGlvbiA9IDA7CiAgICB3aGlsZSAocG9zaXRpb24gPCBmaWxlRGF0YS5ieXRlTGVuZ3RoKSB7CiAgICAgIGNvbnN0IGxlbmd0aCA9IE1hdGgubWluKGZpbGVEYXRhLmJ5dGVMZW5ndGggLSBwb3NpdGlvbiwgTUFYX1BBWUxPQURfU0laRSk7CiAgICAgIGNvbnN0IGNodW5rID0gbmV3IFVpbnQ4QXJyYXkoZmlsZURhdGEsIHBvc2l0aW9uLCBsZW5ndGgpOwogICAgICBwb3NpdGlvbiArPSBsZW5ndGg7CgogICAgICBjb25zdCBiYXNlNjQgPSBidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgY2h1bmspKTsKICAgICAgeWllbGQgewogICAgICAgIHJlc3BvbnNlOiB7CiAgICAgICAgICBhY3Rpb246ICdhcHBlbmQnLAogICAgICAgICAgZmlsZTogZmlsZS5uYW1lLAogICAgICAgICAgZGF0YTogYmFzZTY0LAogICAgICAgIH0sCiAgICAgIH07CiAgICAgIHBlcmNlbnQudGV4dENvbnRlbnQgPQogICAgICAgICAgYCR7TWF0aC5yb3VuZCgocG9zaXRpb24gLyBmaWxlRGF0YS5ieXRlTGVuZ3RoKSAqIDEwMCl9JSBkb25lYDsKICAgIH0KICB9CgogIC8vIEFsbCBkb25lLgogIHlpZWxkIHsKICAgIHJlc3BvbnNlOiB7CiAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgIH0KICB9Owp9CgpzY29wZS5nb29nbGUgPSBzY29wZS5nb29nbGUgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYiA9IHNjb3BlLmdvb2dsZS5jb2xhYiB8fCB7fTsKc2NvcGUuZ29vZ2xlLmNvbGFiLl9maWxlcyA9IHsKICBfdXBsb2FkRmlsZXMsCiAgX3VwbG9hZEZpbGVzQ29udGludWUsCn07Cn0pKHNlbGYpOwo=", + "ok": true, + "headers": [ + [ + "content-type", + "application/javascript" + ] + ], + "status": 200, + "status_text": "" + } + }, + "base_uri": "https://localhost:8080/", + "height": 75 + }, + "outputId": "da1f5368-0e8c-48cf-ee66-6e0a34e7c53a" + }, + "source": [ + "from google.colab import files\n", + "uploaded = files.upload()" + ], + "execution_count": 22, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " Upload widget is only available when the cell has been executed in the\n", + " current browser session. Please rerun this cell to enable.\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "Saving adult.csv to adult.csv\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BT9gdS7viJZa", + "colab_type": "text" + }, + "source": [ + "### Assignment questions\n", + "\n", + "After you've worked on some code, answer the following questions in this text block:\n", + "\n", + "1. Describe in a paragraph of text what you did and why, as if you were writing an email to somebody interested but nontechnical.\n", + "\n", + "2. What was the most challenging part of what you did?\n", + "\n", + "3. What was the most interesting thing you learned?\n", + "\n", + "4. What area would you like to explore with more time?\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_XXg2crAipwP", + "colab_type": "text" + }, + "source": [ + "## Stretch goals and resources\n", + "\n", + "Following are *optional* things for you to take a look at. Focus on the above assignment first, and make sure to commit and push your changes to GitHub (and since this is the first assignment of the sprint, open a PR as well).\n", + "\n", + "- [pandas documentation](https://pandas.pydata.org/pandas-docs/stable/)\n", + "- [scikit-learn documentation](http://scikit-learn.org/stable/documentation.html)\n", + "- [matplotlib documentation](https://matplotlib.org/contents.html)\n", + "- [Awesome Data Science](https://github.com/bulutyazilim/awesome-datascience) - a list of many types of DS resources\n", + "\n", + "Stretch goals:\n", + "\n", + "- Find and read blogs, walkthroughs, and other examples of people working through cool things with data science - and share with your classmates!\n", + "- Write a blog post (Medium is a popular place to publish) introducing yourself as somebody learning data science, and talking about what you've learned already and what you're excited to learn more about." + ] + } + ] +} \ No newline at end of file From dc27b1960ea7fad7b96bac6fdd7dd77bea07b036 Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Wed, 4 Sep 2019 23:27:54 -0400 Subject: [PATCH 2/9] Created using Colaboratory --- .../LS_DSPT3_111_A_First_Look_at_Data.ipynb | 1380 ++++++++++++++++- 1 file changed, 1353 insertions(+), 27 deletions(-) diff --git a/module1-afirstlookatdata/LS_DSPT3_111_A_First_Look_at_Data.ipynb b/module1-afirstlookatdata/LS_DSPT3_111_A_First_Look_at_Data.ipynb index 110330e2..8b5eecc5 100644 --- a/module1-afirstlookatdata/LS_DSPT3_111_A_First_Look_at_Data.ipynb +++ b/module1-afirstlookatdata/LS_DSPT3_111_A_First_Look_at_Data.ipynb @@ -68,16 +68,16 @@ "metadata": { "id": "P9Gx2pik9wbC", "colab_type": "code", + "outputId": "5ba62774-1610-438b-9e4f-aa5a6cc43eb2", "colab": { "base_uri": "https://localhost:8080/", "height": 35 - }, - "outputId": "86fa207a-2d55-492d-b8a5-0bfcc1650663" + } }, "source": [ "np.random.randint" ], - "execution_count": 4, + "execution_count": 0, "outputs": [ { "output_type": "execute_result", @@ -89,7 +89,7 @@ "metadata": { "tags": [] }, - "execution_count": 4 + "execution_count": 25 } ] }, @@ -112,7 +112,7 @@ "metadata": { "id": "cYf23Xz-_9w-", "colab_type": "code", - "outputId": "747614f3-e65a-4a15-f29b-21b11c130266", + "outputId": "e7d72879-5121-4a69-c351-1e2c1c352f9d", "colab": { "base_uri": "https://localhost:8080/", "height": 171 @@ -124,7 +124,7 @@ "df['fourth_col'] = df['third_col'] > 10\n", "df" ], - "execution_count": 6, + "execution_count": 0, "outputs": [ { "output_type": "execute_result", @@ -198,7 +198,7 @@ "metadata": { "tags": [] }, - "execution_count": 6 + "execution_count": 27 } ] }, @@ -207,7 +207,7 @@ "metadata": { "id": "DJIKkngQENf_", "colab_type": "code", - "outputId": "30d339bb-098e-491a-9f9e-e4cc54778d16", + "outputId": "9235c5d8-1e55-4659-f79e-60762ed3ef35", "colab": { "base_uri": "https://localhost:8080/", "height": 79 @@ -216,7 +216,7 @@ "source": [ "df[df['second_col'] == 10]" ], - "execution_count": 7, + "execution_count": 0, "outputs": [ { "output_type": "execute_result", @@ -266,7 +266,7 @@ "metadata": { "tags": [] }, - "execution_count": 7 + "execution_count": 28 } ] }, @@ -287,7 +287,7 @@ "metadata": { "id": "TGUS79cOhPWj", "colab_type": "code", - "outputId": "79e8f3be-5588-4945-c6b9-112be394d995", + "outputId": "6de440d4-4d62-44a1-93d7-e80ce6a846ed", "colab": { "base_uri": "https://localhost:8080/", "height": 287 @@ -300,24 +300,24 @@ "\n", "# Plotting 1000 random x's and y's" ], - "execution_count": 20, + "execution_count": 59, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "" + "" ] }, "metadata": { "tags": [] }, - "execution_count": 20 + "execution_count": 59 }, { "output_type": "display_data", "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -333,7 +333,7 @@ "metadata": { "id": "PA8bb4rRX1GZ", "colab_type": "code", - "outputId": "f18ed091-9a7c-4adb-f6c0-a3066193c912", + "outputId": "9d13fc3b-f864-430d-8060-9923c6da13f4", "colab": { "base_uri": "https://localhost:8080/", "height": 307 @@ -344,22 +344,23 @@ "for i in range(50):\n", " fib.append(fib[i-1]+fib[i])\n", "# Fibonacci sequence in honor of the new Tool LP\n", + "# Sort of -- a real Fibo would start with [0, 1, ...]. This is a rude approximation.\n", "\n", "plt.scatter(fib, fib)" ], - "execution_count": 21, + "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "" + "" ] }, "metadata": { "tags": [] }, - "execution_count": 21 + "execution_count": 30 }, { "output_type": "display_data", @@ -380,6 +381,7 @@ "metadata": { "id": "JvkQaJTHDhij", "colab_type": "code", + "outputId": "a57aefd5-cfa9-473e-b946-ba0b50db8eaf", "colab": { "resources": { "http://localhost:8080/nbextensions/google.colab/files.js": { @@ -397,22 +399,22 @@ }, "base_uri": "https://localhost:8080/", "height": 75 - }, - "outputId": "da1f5368-0e8c-48cf-ee66-6e0a34e7c53a" + } }, "source": [ "from google.colab import files\n", - "uploaded = files.upload()" + "uploaded = files.upload()\n", + "# Imported census income dataset from UCI ML repository" ], - "execution_count": 22, + "execution_count": 35, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", - " \n", - " \n", + " \n", + " \n", " Upload widget is only available when the cell has been executed in the\n", " current browser session. Please rerun this cell to enable.\n", " \n", @@ -429,12 +431,1330 @@ { "output_type": "stream", "text": [ - "Saving adult.csv to adult.csv\n" + "Saving adult.csv to adult (1).csv\n" ], "name": "stdout" } ] }, + { + "cell_type": "code", + "metadata": { + "id": "WEXiuj-SMLi0", + "colab_type": "code", + "colab": {} + }, + "source": [ + "import io\n", + "df = pd.read_csv(io.BytesIO(uploaded['adult.csv']))\n", + "\n", + "# Used uploaded file to create Pandas dataframe" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "5zhUXs3OPueL", + "colab_type": "code", + "colab": {} + }, + "source": [ + "columns = ['age', 'workclass', 'fnlwgt', 'education', 'education_num', 'marital_status', 'occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss', 'hours_per_wk', 'native_country', 'income']\n", + "df.columns = columns\n", + "\n", + "# Give columns titles per the UCI ML Repo page for the dataset\n", + "# This seems to have actually replaced the original first row with the column headers. That's not exactly what I wanted... workaround?" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "-LwupQdyOJHN", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "d56fce20-948b-45de-ae7f-c4819fa8d2ad" + }, + "source": [ + "df.head(20)" + ], + "execution_count": 67, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ageworkclassfnlwgteducationeducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours_per_wknative_countryincome
050Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50K
138Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50K
253Private23472111th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50K
328Private338409Bachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50K
437Private284582Masters14Married-civ-spouseExec-managerialWifeWhiteFemale0040United-States<=50K
549Private1601879th5Married-spouse-absentOther-serviceNot-in-familyBlackFemale0016Jamaica<=50K
652Self-emp-not-inc209642HS-grad9Married-civ-spouseExec-managerialHusbandWhiteMale0045United-States>50K
731Private45781Masters14Never-marriedProf-specialtyNot-in-familyWhiteFemale14084050United-States>50K
842Private159449Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale5178040United-States>50K
937Private280464Some-college10Married-civ-spouseExec-managerialHusbandBlackMale0080United-States>50K
1030State-gov141297Bachelors13Married-civ-spouseProf-specialtyHusbandAsian-Pac-IslanderMale0040India>50K
1123Private122272Bachelors13Never-marriedAdm-clericalOwn-childWhiteFemale0030United-States<=50K
1232Private205019Assoc-acdm12Never-marriedSalesNot-in-familyBlackMale0050United-States<=50K
1340Private121772Assoc-voc11Married-civ-spouseCraft-repairHusbandAsian-Pac-IslanderMale0040?>50K
1434Private2454877th-8th4Married-civ-spouseTransport-movingHusbandAmer-Indian-EskimoMale0045Mexico<=50K
1525Self-emp-not-inc176756HS-grad9Never-marriedFarming-fishingOwn-childWhiteMale0035United-States<=50K
1632Private186824HS-grad9Never-marriedMachine-op-inspctUnmarriedWhiteMale0040United-States<=50K
1738Private2888711th7Married-civ-spouseSalesHusbandWhiteMale0050United-States<=50K
1843Self-emp-not-inc292175Masters14DivorcedExec-managerialUnmarriedWhiteFemale0045United-States>50K
1940Private193524Doctorate16Married-civ-spouseProf-specialtyHusbandWhiteMale0060United-States>50K
\n", + "
" + ], + "text/plain": [ + " age workclass fnlwgt ... hours_per_wk native_country income\n", + "0 50 Self-emp-not-inc 83311 ... 13 United-States <=50K\n", + "1 38 Private 215646 ... 40 United-States <=50K\n", + "2 53 Private 234721 ... 40 United-States <=50K\n", + "3 28 Private 338409 ... 40 Cuba <=50K\n", + "4 37 Private 284582 ... 40 United-States <=50K\n", + "5 49 Private 160187 ... 16 Jamaica <=50K\n", + "6 52 Self-emp-not-inc 209642 ... 45 United-States >50K\n", + "7 31 Private 45781 ... 50 United-States >50K\n", + "8 42 Private 159449 ... 40 United-States >50K\n", + "9 37 Private 280464 ... 80 United-States >50K\n", + "10 30 State-gov 141297 ... 40 India >50K\n", + "11 23 Private 122272 ... 30 United-States <=50K\n", + "12 32 Private 205019 ... 50 United-States <=50K\n", + "13 40 Private 121772 ... 40 ? >50K\n", + "14 34 Private 245487 ... 45 Mexico <=50K\n", + "15 25 Self-emp-not-inc 176756 ... 35 United-States <=50K\n", + "16 32 Private 186824 ... 40 United-States <=50K\n", + "17 38 Private 28887 ... 50 United-States <=50K\n", + "18 43 Self-emp-not-inc 292175 ... 45 United-States >50K\n", + "19 40 Private 193524 ... 60 United-States >50K\n", + "\n", + "[20 rows x 15 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 67 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "znTd1LUrPKKi", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 295 + }, + "outputId": "a8af7bfa-9c5d-473d-f893-1b25a94af4a8" + }, + "source": [ + "df.dtypes" + ], + "execution_count": 44, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "age int64\n", + "workclass object\n", + "fnlwgt int64\n", + "education object\n", + "education_num int64\n", + "marital_status object\n", + "occupation object\n", + "relationship object\n", + "race object\n", + "sex object\n", + "capital_gain int64\n", + "capital_loss int64\n", + "hours_per_wk int64\n", + "native_country object\n", + "income object\n", + "dtype: object" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 44 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "09iXlStgZZJF", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "067ff3d0-9c3e-4f2d-8150-2587e07b1dbe" + }, + "source": [ + "df['education_num'].median()\n", + "# Median level of education: some college" + ], + "execution_count": 66, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "10.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 66 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "3hez2x2laGrx", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "344e62b8-a922-4caf-ee09-59eddafedc19" + }, + "source": [ + "plt.scatter(df['education_num'], df['capital_gain'])\n", + "\n", + "# Scatter plot comparing level of education and capital gains\n", + "# What's going on at the top there...?" + ], + "execution_count": 68, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 68 + }, + { + "output_type": "display_data", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAD8CAYAAACLrvgBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAHHxJREFUeJzt3X9w3PV95/HnGxnHggaEg+MLso18\nxDVDcFIne9ic7zokFGwgE2vSNgdjDidh8MwdoaTJuGcHzzF3Zw733Amlk5QbEwim9tgQyglPIXE9\nQK93DHaQcRqFHz5EwLYEBrXChgaDsXjfH/uRWUm72o92v199v9K+HjMa7b73u5/97K60r/1+v5/v\n52vujoiISIxTsu6AiIhMHAoNERGJptAQEZFoCg0REYmm0BARkWgKDRERiabQEBGRaAoNERGJptAQ\nEZFoU7LuQNLOPvtsb2try7obIiITyt69e//R3WdUW27ShUZbWxudnZ1Zd0NEZEIxswMxy2nzlIiI\nRFNoiIhINIWGiIhEU2iIiEg0hYaIiESrOnrKzO4Fvgy86e4Xhtp04AGgDXgV+Jq7v2VmBtwJXAm8\nC3zd3Z8N91kJrAvNrnf3zaH+BeA+oBl4DLjZ3b3SY9T9jCUVHft62bhzP68dOcY5Lc2sXjqf9oWt\ndbW5rqOLbXsOMeBOkxnXLJrN+vYFCfU4f9rWPDqi9uqGq3LVZtLvc9LtTYTXMO/tVROzpnEfsGxY\nbQ3wuLvPAx4P1wGuAOaFn1XAXXAyZG4FFgEXAbea2VnhPncBN5Tcb1mVx5Cc6djXy9qHu+g9cgwH\neo8cY+3DXXTs6625zXUdXWzZfZCBcGbJAXe27D7Iuo6uhHqdL+X+8UerZ9Fm0u9z0u1NhNcw7+3F\nqBoa7v73QP+w8nJgc7i8GWgvqd/vRbuBFjP7FLAU2OXu/WFtYRewLNx2hrvv9uJ5Z+8f1la5x5Cc\n2bhzP8c+GBhSO/bBABt37q+5zW17Do2pLulL+n1O4+9G0lfrPo2Z7v56uHwYmBkutwKl/9U9oTZa\nvadMfbTHGMHMVplZp5l19vX11fB0pB6vHTk2pnqMgQrnrq9Ul/Ql/T6n8Xcj6at7R3hYQ0j1P7na\nY7j7JncvuHthxoyqR8FLws5paR5TPUaT2Zjqkr6k3+c0/m4kfbWGxhth0xLh95uh3gvMLlluVqiN\nVp9Vpj7aY0jOrF46n+ZTm4bUmk9tYvXS+TW3ec2i2WOqS/qSfp/T+LuR9NUaGjuAleHySuCRkvp1\nVrQYOBo2Me0ELjezs8IO8MuBneG2t81scRh5dd2wtso9huRM+8JWbv/qAlpbmjGgtaWZ27+6oK5R\nMOvbF3Dt4jkn1yyazLh28ZxJO3qq0miXekbBJN1m0u9z0u1NhNcw7+3FMK+yjdjMtgGXAGcDb1Ac\nBdUBPAjMAQ5QHA7bHz74f0BxBNS7wDfcvTO0803ge6HZ29z9x6Fe4KMhtz8FbgpDbj9R7jGqPaFC\noeCasFBEZGzMbK+7F6ouVy00JhqFhojI2MWGho4IFxGRaAoNERGJptAQEZFoCg0REYmm0BARkWgK\nDRERiabQEBGRaAoNERGJptAQEZFoCg0REYmm0BARkWgKDRERiabQEBGRaAoNERGJptAQEZFoCg0R\nEYmm0BARkWgKDRERiabQEBGRaAoNERGJptAQEZFoCg0REYmm0BARkWgKDRERiabQEBGRaAoNERGJ\nptAQEZFoCg0REYmm0BARkWgKDRERiVZXaJjZH5vZc2b2KzPbZmbTzGyume0xs24ze8DMpoZlPxau\nd4fb20raWRvq+81saUl9Wah1m9maevoqIiL1qzk0zKwV+COg4O4XAk3A1cCfAne4+6eBt4Drw12u\nB94K9TvCcpjZBeF+nwGWAX9pZk1m1gT8ELgCuAC4JiwrIiIZqXfz1BSg2cymAKcBrwNfAh4Kt28G\n2sPl5eE64fZLzcxCfbu7v+/urwDdwEXhp9vdf+3ux4HtYVkREclIzaHh7r3AnwEHKYbFUWAvcMTd\nT4TFeoDWcLkVOBTueyIs/4nS+rD7VKqLiEhG6tk8dRbFb/5zgXOA0yluXhp3ZrbKzDrNrLOvry+L\nLoiINIR6Nk/9HvCKu/e5+wfAw8ASoCVsrgKYBfSGy73AbIBw+5nAP5XWh92nUn0Ed9/k7gV3L8yY\nMaOOpyQiIqOpJzQOAovN7LSwb+JS4HngSeAPwjIrgUfC5R3hOuH2J9zdQ/3qMLpqLjAP+DnwDDAv\njMaaSnFn+Y46+isiInWaUn2R8tx9j5k9BDwLnAD2AZuAR4HtZrY+1O4Jd7kH+Csz6wb6KYYA7v6c\nmT1IMXBOADe6+wCAmX0L2ElxZNa97v5crf0VEZH6WfHL/uRRKBS8s7Mz626IiEwoZrbX3QvVltMR\n4SIiEk2hISIi0RQaIiISTaEhIiLRFBoiIhJNoSEiItEUGiIiEk2hISIi0RQaIiISTaEhIiLRFBoi\nIhJNoSEiItEUGiIiEk2hISIi0RQaIiISTaEhIiLRFBoiIhJNoSEiItEUGiIiEk2hISIi0RQaIiIS\nTaEhIiLRFBoiIhJNoSEiItEUGiIiEk2hISIi0RQaIiISTaEhIiLRFBoiIhJNoSEiItEUGiIiEq2u\n0DCzFjN7yMxeNLMXzOxiM5tuZrvM7KXw+6ywrJnZX5hZt5n90sw+X9LOyrD8S2a2sqT+BTPrCvf5\nCzOzevorIiL1qXdN407gZ+5+PvA54AVgDfC4u88DHg/XAa4A5oWfVcBdAGY2HbgVWARcBNw6GDRh\nmRtK7reszv6KiEgdag4NMzsT+F3gHgB3P+7uR4DlwOaw2GagPVxeDtzvRbuBFjP7FLAU2OXu/e7+\nFrALWBZuO8Pdd7u7A/eXtCUiIhmoZ01jLtAH/NjM9pnZj8zsdGCmu78eljkMzAyXW4FDJffvCbXR\n6j1l6iOY2Soz6zSzzr6+vjqekoiIjKae0JgCfB64y90XAr/ho01RAIQ1BK/jMaK4+yZ3L7h7YcaM\nGWk/nIhIw6onNHqAHnffE64/RDFE3giblgi/3wy39wKzS+4/K9RGq88qUxcRkYzUHBrufhg4ZGbz\nQ+lS4HlgBzA4Amol8Ei4vAO4LoyiWgwcDZuxdgKXm9lZYQf45cDOcNvbZrY4jJq6rqQtERHJwJQ6\n738TsNXMpgK/Br5BMYgeNLPrgQPA18KyjwFXAt3Au2FZ3L3fzP4b8ExY7r+6e3+4/B+B+4Bm4Kfh\nR0REMmLF3Q6TR6FQ8M7Ozqy7ISIyoZjZXncvVFtOR4SLiEg0hYaIiERTaIiISDSFhoiIRFNoiIhI\nNIWGiIhEU2iIiEg0hYaIiERTaIiISDSFhoiIRFNoiIhINIWGiIhEU2iIiEg0hYaIiERTaIiISDSF\nhoiIRFNoiIhINIWGiIhEU2iIiEg0hYaIiERTaIiISDSFhoiIRFNoiIhINIWGiIhEU2iIiEg0hYaI\niERTaIiISDSFhoiIRJuSdQfyoGNfLxt37ue1I8c4p6WZ1Uvn076wNetuiUgO6PNhqIYPjY59vax9\nuItjHwwA0HvkGGsf7gJo6D8MEdHnQzl1b54ysyYz22dmfxOuzzWzPWbWbWYPmNnUUP9YuN4dbm8r\n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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "EFasvr90a9bI", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "4d48adbe-4ca4-46a4-e318-90eda30b9c82" + }, + "source": [ + "gains_100000 = df['capital_gain']>=90000\n", + "gains_100000.head()\n", + "is_gains = df[gains_100000]\n", + "is_gains.shape\n", + "\n", + "# Looks like the dataframe capital gains column maxes out at 99999. Interesting to know!\n", + "# Here I take the shape of the subset dataframe with only people who max out the capital gains column." + ], + "execution_count": 75, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(159, 15)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 75 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "eYGtwUd9dJ3p", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "324b9a77-e5f3-42e8-ff24-c5016c9c9884" + }, + "source": [ + "is_gains.head(30)\n", + "# ...and here I take a peek at the data." + ], + "execution_count": 77, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ageworkclassfnlwgteducationeducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours_per_wknative_countryincome
124554Self-emp-inc166459Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999060United-States>50K
136752Private152234HS-grad9Married-civ-spouseExec-managerialHusbandAsian-Pac-IslanderMale99999040Japan>50K
148153Self-emp-inc263925HS-grad9Married-civ-spouseSalesHusbandWhiteMale99999040United-States>50K
152752Private118025Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale99999050United-States>50K
161546Private370119Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999060United-States>50K
168143Private176270Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale99999060United-States>50K
176449Private159816Bachelors13Married-civ-spouseProf-specialtyWifeWhiteFemale99999020United-States>50K
177050Private171338Some-college10Married-civ-spouseExec-managerialHusbandWhiteMale99999050United-States>50K
182522Self-emp-not-inc202920HS-grad9Never-marriedProf-specialtyUnmarriedWhiteFemale99999040Dominican-Republic>50K
210243Self-emp-inc172826Some-college10Married-civ-spouseSalesHusbandWhiteMale99999055United-States>50K
231865Self-emp-inc139272Bachelors13Married-civ-spouseSalesHusbandWhiteMale99999060United-States>50K
236026Private256000Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999060United-States>50K
270652Self-emp-not-inc64045Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999045United-States>50K
310446Private176814Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999050United-States>50K
317436Private208358Prof-school15DivorcedProf-specialtyNot-in-familyWhiteMale99999045United-States>50K
336740Self-emp-not-inc223881Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999070United-States>50K
383552Self-emp-inc90363Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999035United-States>50K
438832Self-emp-inc46807HS-grad9Married-civ-spouseCraft-repairHusbandWhiteMale99999040United-States>50K
442053Private88842HS-grad9Married-civ-spouseExec-managerialHusbandWhiteMale99999040United-States>50K
462447Private345493Prof-school15Married-civ-spouseProf-specialtyHusbandAsian-Pac-IslanderMale99999055Taiwan>50K
465537Local-gov287306Assoc-acdm12Married-civ-spouseProf-specialtyWifeBlackFemale99999040?>50K
489737Self-emp-not-inc362062Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999050United-States>50K
509739Self-emp-inc114844Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999065United-States>50K
518338Private146091Doctorate16Married-civ-spouseExec-managerialWifeWhiteFemale99999036United-States>50K
547244Private332401Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999065United-States>50K
558757Self-emp-inc159028Prof-school15Married-civ-spouseProf-specialtyHusbandWhiteMale99999060United-States>50K
600151Private44000Masters14Married-civ-spouseProf-specialtyWifeWhiteFemale99999050United-States>50K
603478Self-emp-not-inc316261Bachelors13Never-marriedExec-managerialNot-in-familyWhiteMale99999020United-States>50K
622436Private383518Some-college10Married-civ-spouseAdm-clericalWifeBlackFemale99999040United-States>50K
652349Self-emp-inc362795Masters14DivorcedProf-specialtyUnmarriedWhiteMale99999080Mexico>50K
\n", + "
" + ], + "text/plain": [ + " age workclass fnlwgt ... hours_per_wk native_country income\n", + "1245 54 Self-emp-inc 166459 ... 60 United-States >50K\n", + "1367 52 Private 152234 ... 40 Japan >50K\n", + "1481 53 Self-emp-inc 263925 ... 40 United-States >50K\n", + "1527 52 Private 118025 ... 50 United-States >50K\n", + "1615 46 Private 370119 ... 60 United-States >50K\n", + "1681 43 Private 176270 ... 60 United-States >50K\n", + "1764 49 Private 159816 ... 20 United-States >50K\n", + "1770 50 Private 171338 ... 50 United-States >50K\n", + "1825 22 Self-emp-not-inc 202920 ... 40 Dominican-Republic >50K\n", + "2102 43 Self-emp-inc 172826 ... 55 United-States >50K\n", + "2318 65 Self-emp-inc 139272 ... 60 United-States >50K\n", + "2360 26 Private 256000 ... 60 United-States >50K\n", + "2706 52 Self-emp-not-inc 64045 ... 45 United-States >50K\n", + "3104 46 Private 176814 ... 50 United-States >50K\n", + "3174 36 Private 208358 ... 45 United-States >50K\n", + "3367 40 Self-emp-not-inc 223881 ... 70 United-States >50K\n", + "3835 52 Self-emp-inc 90363 ... 35 United-States >50K\n", + "4388 32 Self-emp-inc 46807 ... 40 United-States >50K\n", + "4420 53 Private 88842 ... 40 United-States >50K\n", + "4624 47 Private 345493 ... 55 Taiwan >50K\n", + "4655 37 Local-gov 287306 ... 40 ? >50K\n", + "4897 37 Self-emp-not-inc 362062 ... 50 United-States >50K\n", + "5097 39 Self-emp-inc 114844 ... 65 United-States >50K\n", + "5183 38 Private 146091 ... 36 United-States >50K\n", + "5472 44 Private 332401 ... 65 United-States >50K\n", + "5587 57 Self-emp-inc 159028 ... 60 United-States >50K\n", + "6001 51 Private 44000 ... 50 United-States >50K\n", + "6034 78 Self-emp-not-inc 316261 ... 20 United-States >50K\n", + "6224 36 Private 383518 ... 40 United-States >50K\n", + "6523 49 Self-emp-inc 362795 ... 80 Mexico >50K\n", + "\n", + "[30 rows x 15 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 77 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "WoHGaay6daIH", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "372db664-209b-45fb-dba1-26eb78959283" + }, + "source": [ + "# ...and peek at the median education level.\n", + "is_gains['education_num'].median()" + ], + "execution_count": 79, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "13.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 79 + } + ] + }, { "cell_type": "markdown", "metadata": { @@ -448,13 +1768,19 @@ "\n", "1. Describe in a paragraph of text what you did and why, as if you were writing an email to somebody interested but nontechnical.\n", "\n", + "I did a few things, treating the basic tools as a sort of visualization toy. First I generated 1000 random x and y values and plotted them. Then I generated a Fibonacci sequence (i.e. 0,1,1,2,3,5,8,13,21,etc.) and plotted it. Then I imported a set of data pertaining to people's occupations and income, gathered some basic info about it, and started to clean it up.\n", + "\n", "2. What was the most challenging part of what you did?\n", "\n", + "Uploading and importing the data was a brand new experience, but went fairly smoothly. I'm still very much learning the ins and outs of Pandas. For instance, I wasn't able to figure out how to add column headers instead of having my chosen headers replace the first existing row of data.\n", + "\n", "3. What was the most interesting thing you learned?\n", "\n", + "That Google Colab seemingly has a robust and user-friendly interface for uploading and importing data!\n", + "\n", "4. What area would you like to explore with more time?\n", "\n", - "\n" + "I'd like to spend more time poking at the data, and maybe play with it with scikit-learn." ] }, { From 435277b6d86f635a570a59e85727fed4e82fc8d7 Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Fri, 6 Sep 2019 21:54:16 -0400 Subject: [PATCH 3/9] Created using Colaboratory --- .../LS_DS_112_Loading_Data_Assignment.ipynb | 1052 ++++++++++++++++- 1 file changed, 1044 insertions(+), 8 deletions(-) diff --git a/module2-loadingdata/LS_DS_112_Loading_Data_Assignment.ipynb b/module2-loadingdata/LS_DS_112_Loading_Data_Assignment.ipynb index 93f2cc5a..15d010a7 100644 --- a/module2-loadingdata/LS_DS_112_Loading_Data_Assignment.ipynb +++ b/module2-loadingdata/LS_DS_112_Loading_Data_Assignment.ipynb @@ -22,7 +22,7 @@ "colab_type": "text" }, "source": [ - "\"Open" + "\"Open" ] }, { @@ -53,6 +53,20 @@ "" ] }, + { + "cell_type": "code", + "metadata": { + "id": "XwdDnjOKQXD8", + "colab_type": "code", + "colab": {} + }, + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt" + ], + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "metadata": { @@ -61,13 +75,742 @@ "colab": {} }, "source": [ - "# TODO your work here!\n", - "# And note you should write comments, descriptions, and add new\n", - "# code and text blocks as needed" + "# Load housing dataset from URL\n", + "dataset_url = 'https://raw.githubusercontent.com/ryanleeallred/datasets/master/Ames%20Housing%20Data/train.csv'\n", + "\n", + "df = pd.read_csv(dataset_url)" ], "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "metadata": { + "id": "jZlaoBS2Qo6j", + "colab_type": "code", + "outputId": "ce2de272-1bef-446a-d3ce-0e5c4a7ff9fd", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 251 + } + }, + "source": [ + "# Get eyeballs on the data\n", + "df.head()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
0160RL65.08450PaveNaNRegLvlAllPubInsideGtlCollgCrNormNorm1Fam2Story7520032003GableCompShgVinylSdVinylSdBrkFace196.0GdTAPConcGdTANoGLQ706Unf0150856GasA...YSBrkr85685401710102131Gd8Typ0NaNAttchd2003.0RFn2548TATAY0610000NaNNaNNaN022008WDNormal208500
1220RL80.09600PaveNaNRegLvlAllPubFR2GtlVeenkerFeedrNorm1Fam1Story6819761976GableCompShgMetalSdMetalSdNone0.0TATACBlockGdTAGdALQ978Unf02841262GasA...YSBrkr1262001262012031TA6Typ1TAAttchd1976.0RFn2460TATAY29800000NaNNaNNaN052007WDNormal181500
2360RL68.011250PaveNaNIR1LvlAllPubInsideGtlCollgCrNormNorm1Fam2Story7520012002GableCompShgVinylSdVinylSdBrkFace162.0GdTAPConcGdTAMnGLQ486Unf0434920GasA...YSBrkr92086601786102131Gd6Typ1TAAttchd2001.0RFn2608TATAY0420000NaNNaNNaN092008WDNormal223500
3470RL60.09550PaveNaNIR1LvlAllPubCornerGtlCrawforNormNorm1Fam2Story7519151970GableCompShgWd SdngWd ShngNone0.0TATABrkTilTAGdNoALQ216Unf0540756GasA...YSBrkr96175601717101031Gd7Typ1GdDetchd1998.0Unf3642TATAY035272000NaNNaNNaN022006WDAbnorml140000
4560RL84.014260PaveNaNIR1LvlAllPubFR2GtlNoRidgeNormNorm1Fam2Story8520002000GableCompShgVinylSdVinylSdBrkFace350.0GdTAPConcGdTAAvGLQ655Unf04901145GasA...YSBrkr1145105302198102141Gd9Typ1TAAttchd2000.0RFn3836TATAY192840000NaNNaNNaN0122008WDNormal250000
\n", + "

5 rows × 81 columns

\n", + "
" + ], + "text/plain": [ + " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n", + "0 1 60 RL ... WD Normal 208500\n", + "1 2 20 RL ... WD Normal 181500\n", + "2 3 60 RL ... WD Normal 223500\n", + "3 4 70 RL ... WD Abnorml 140000\n", + "4 5 60 RL ... WD Normal 250000\n", + "\n", + "[5 rows x 81 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 29 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "N_6-vERtRxKK", + "colab_type": "code", + "outputId": "1ca9ec49-f966-4804-9a8e-e9e2e4e31e92", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + } + }, + "source": [ + "df.shape" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(1460, 81)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 30 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "XBxXZcY8Q-3h", + "colab_type": "code", + "outputId": "e16a9a98-20bf-4ee1-bec1-ee93b01c8fe0", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + } + }, + "source": [ + "df.isna().sum()\n", + "# Looks like NaN stands in for \"0\" or \"Not Applicable\"" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Id 0\n", + "MSSubClass 0\n", + "MSZoning 0\n", + "LotFrontage 259\n", + "LotArea 0\n", + "Street 0\n", + "Alley 1369\n", + "LotShape 0\n", + "LandContour 0\n", + "Utilities 0\n", + "LotConfig 0\n", + "LandSlope 0\n", + "Neighborhood 0\n", + "Condition1 0\n", + "Condition2 0\n", + "BldgType 0\n", + "HouseStyle 0\n", + "OverallQual 0\n", + "OverallCond 0\n", + "YearBuilt 0\n", + "YearRemodAdd 0\n", + "RoofStyle 0\n", + "RoofMatl 0\n", + "Exterior1st 0\n", + "Exterior2nd 0\n", + "MasVnrType 8\n", + "MasVnrArea 8\n", + "ExterQual 0\n", + "ExterCond 0\n", + "Foundation 0\n", + " ... \n", + "BedroomAbvGr 0\n", + "KitchenAbvGr 0\n", + "KitchenQual 0\n", + "TotRmsAbvGrd 0\n", + "Functional 0\n", + "Fireplaces 0\n", + "FireplaceQu 690\n", + "GarageType 81\n", + "GarageYrBlt 81\n", + "GarageFinish 81\n", + "GarageCars 0\n", + "GarageArea 0\n", + "GarageQual 81\n", + "GarageCond 81\n", + "PavedDrive 0\n", + "WoodDeckSF 0\n", + "OpenPorchSF 0\n", + "EnclosedPorch 0\n", + "3SsnPorch 0\n", + "ScreenPorch 0\n", + "PoolArea 0\n", + "PoolQC 1453\n", + "Fence 1179\n", + "MiscFeature 1406\n", + "MiscVal 0\n", + "MoSold 0\n", + "YrSold 0\n", + "SaleType 0\n", + "SaleCondition 0\n", + "SalePrice 0\n", + "Length: 81, dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 31 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "tF7Gz5z4Tq9o", + "colab_type": "code", + "outputId": "6cd560f4-bb29-4076-abd9-f4fb9c165fcc", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 173 + } + }, + "source": [ + "# Testing hypothesis about the NaN values- looks like LotFrontage mins out at 21.\n", + "# Can I assume that \"NaN\" just means \"0\" in this case? Other cases?\n", + "df['LotFrontage'].describe()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "count 1201.000000\n", + "mean 70.049958\n", + "std 24.284752\n", + "min 21.000000\n", + "25% 59.000000\n", + "50% 69.000000\n", + "75% 80.000000\n", + "max 313.000000\n", + "Name: LotFrontage, dtype: float64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 32 + } + ] + }, { "cell_type": "markdown", "metadata": { @@ -85,6 +828,20 @@ "- Make sure that your file has correct headers, and the same number of rows and columns as is specified on the UCI page. If your dataset doesn't have headers use the parameters of the `read_csv` function to add them. Likewise make sure that missing values are encoded as `NaN`." ] }, + { + "cell_type": "code", + "metadata": { + "id": "DoqBcmxrWsFH", + "colab_type": "code", + "colab": {} + }, + "source": [ + "# name the columns, per description on UCI ML Repo\n", + "columns_car = ['buying', 'maint', 'doors', 'persons', 'lug_boot', 'safety', 'acceptability']" + ], + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "metadata": { @@ -93,13 +850,292 @@ "colab": {} }, "source": [ - "# TODO your work here!\n", - "# And note you should write comments, descriptions, and add new\n", - "# code and text blocks as needed" + "# read car.csv and name columns appropriately\n", + "df2 = pd.read_csv('car.csv', names=columns_car)" ], "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "metadata": { + "id": "kQ2TCqfQX7YF", + "colab_type": "code", + "outputId": "b1883c8c-0e7b-4301-ba87-95f3b6e71577", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 355 + } + }, + "source": [ + "# take a quick look\n", + "df2.sample(10)" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
buyingmaintdoorspersonslug_bootsafetyacceptability
1671lowlow3morebiglowunacc
258vhighmed34biglowunacc
227vhighmed24smallhighacc
160vhighhigh3morebigmedunacc
1665lowlow3moresmalllowunacc
1341lowvhigh3moresmalllowunacc
447highvhigh24biglowunacc
1203medlow24biglowunacc
364vhighlow34medmedunacc
1725lowlow5moremorebiglowunacc
\n", + "
" + ], + "text/plain": [ + " buying maint doors persons lug_boot safety acceptability\n", + "1671 low low 3 more big low unacc\n", + "258 vhigh med 3 4 big low unacc\n", + "227 vhigh med 2 4 small high acc\n", + "160 vhigh high 3 more big med unacc\n", + "1665 low low 3 more small low unacc\n", + "1341 low vhigh 3 more small low unacc\n", + "447 high vhigh 2 4 big low unacc\n", + "1203 med low 2 4 big low unacc\n", + "364 vhigh low 3 4 med med unacc\n", + "1725 low low 5more more big low unacc" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 37 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "zkas1-pZYXFf", + "colab_type": "code", + "outputId": "9b6e7dc8-29a7-43f3-f276-b57391089f00", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + } + }, + "source": [ + "# shape matches description on UCI ML Repo\n", + "df2.shape" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(1728, 7)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 38 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8P38ndnuY1xc", + "colab_type": "code", + "outputId": "dae4e7d5-61a2-452d-ee92-afcf3a6eaf40", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 156 + } + }, + "source": [ + "# dataset contains no null values, which also matches description\n", + "df2.isna().sum()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "buying 0\n", + "maint 0\n", + "doors 0\n", + "persons 0\n", + "lug_boot 0\n", + "safety 0\n", + "acceptability 0\n", + "dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 39 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "xfofM-9fY_8M", + "colab_type": "code", + "outputId": "26637964-c492-4035-cf7b-2f6ed551ebe3", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 87 + } + }, + "source": [ + "# Checked each column for any values that look unusual.\n", + "# Interestingly, it looks like most column's values are evenly distributed.\n", + "# i.e., for size of trunk, there's the same number (576) of S, M, and L trunks\n", + "# \"acceptability\" works a little differently\n", + "df2['lug_boot'].value_counts()" + ], + "execution_count": 66, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "med 576\n", + "small 576\n", + "big 576\n", + "Name: lug_boot, dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 66 + } + ] + }, { "cell_type": "markdown", "metadata": { @@ -160,4 +1196,4 @@ "outputs": [] } ] -} +} \ No newline at end of file From 4cb450249b51076f80ac7129baf943ed112f57f0 Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Fri, 6 Sep 2019 22:27:12 -0400 Subject: [PATCH 4/9] Created using Colaboratory --- .../LS_DS_112_Loading_Data_Assignment.ipynb | 369 ++++++++++++++++++ 1 file changed, 369 insertions(+) diff --git a/module2-loadingdata/LS_DS_112_Loading_Data_Assignment.ipynb b/module2-loadingdata/LS_DS_112_Loading_Data_Assignment.ipynb index 15d010a7..9768fa6b 100644 --- a/module2-loadingdata/LS_DS_112_Loading_Data_Assignment.ipynb +++ b/module2-loadingdata/LS_DS_112_Loading_Data_Assignment.ipynb @@ -7,6 +7,7 @@ "version": "0.3.2", "provenance": [], "collapsed_sections": [], + "toc_visible": true, "include_colab_link": true }, "kernelspec": { @@ -1158,6 +1159,374 @@ " - Density Plot\n" ] }, + { + "cell_type": "code", + "metadata": { + "id": "vWt3E9p6cn7x", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 228 + }, + "outputId": "c1b90490-7b18-4360-ad62-569daa4c7c20" + }, + "source": [ + "# get the file\n", + "!wget 'https://archive.ics.uci.edu/ml/machine-learning-databases/poker/poker-hand-training-true.data'" + ], + "execution_count": 69, + "outputs": [ + { + "output_type": "stream", + "text": [ + "--2019-09-07 02:06:42-- https://archive.ics.uci.edu/ml/machine-learning-databases/poker/poker-hand-training-true.data\n", + "Resolving archive.ics.uci.edu (archive.ics.uci.edu)... 128.195.10.252\n", + "Connecting to archive.ics.uci.edu (archive.ics.uci.edu)|128.195.10.252|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 613694 (599K) [application/x-httpd-php]\n", + "Saving to: ‘poker-hand-training-true.data’\n", + "\n", + "poker-hand-training 100%[===================>] 599.31K 1.63MB/s in 0.4s \n", + "\n", + "2019-09-07 02:06:42 (1.63 MB/s) - ‘poker-hand-training-true.data’ saved [613694/613694]\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "zJDW-UAzeJSW", + "colab_type": "code", + "colab": {} + }, + "source": [ + "# label the columns\n", + "columns_cards = ['card_1_suit','card_1_rank','card_2_suit','card_2_rank','card_3_suit','card_3_rank',\n", + " 'card_4_suit','card_4_rank','card_5_suit','card_5_rank','poker_hand']" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "KpNjZzkHe-yb", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 222 + }, + "outputId": "736161d4-59a0-4ac4-8718-e13b101b2d8b" + }, + "source": [ + "# read in the file - no missing values.\n", + "df3 = pd.read_csv('poker-hand-training-true.data', names=columns_cards)\n", + "df3.head()" + ], + "execution_count": 77, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
card_1_suitcard_1_rankcard_2_suitcard_2_rankcard_3_suitcard_3_rankcard_4_suitcard_4_rankcard_5_suitcard_5_rankpoker_hand
0110111113112119
1211213210212219
2312311313310319
3410411414134129
4414134124114109
\n", + "
" + ], + "text/plain": [ + " card_1_suit card_1_rank card_2_suit ... card_5_suit card_5_rank poker_hand\n", + "0 1 10 1 ... 1 1 9\n", + "1 2 11 2 ... 2 1 9\n", + "2 3 12 3 ... 3 1 9\n", + "3 4 10 4 ... 4 12 9\n", + "4 4 1 4 ... 4 10 9\n", + "\n", + "[5 rows x 11 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 77 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "bFXTaT4IhGTP", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 302 + }, + "outputId": "8d0c7b05-e930-4974-9175-a1f11cd2bbad" + }, + "source": [ + "df3.plot.scatter('card_1_rank','poker_hand')" + ], + "execution_count": 79, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 79 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nvrgAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "4DRac2oyiBEr", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "392ed770-1fff-489d-e167-95a65451cb96" + }, + "source": [ + "# interesting case where number of bins makes a huge difference\n", + "df3['card_2_rank'].hist(bins=13)" + ], + "execution_count": 81, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 81 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "KubbY8giidWi", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "b0c5c72f-1ecb-4559-fcef-751fb07fe21c" + }, + "source": [ + "# with the default 10 bins, the histogram is deceptive.\n", + "# Matching number of bins to number of possible ranks makes things more clear.\n", + "df3['card_2_rank'].hist()" + ], + "execution_count": 82, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 82 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nAGZmmfp/LchzN9yD2+4AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "zImd4awbiz9g", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "8614650c-6615-4b49-be81-00e214e5d6e0" + }, + "source": [ + "df3['poker_hand'].plot.density()" + ], + "execution_count": 83, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 83 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nEBGRRP4/v2KY/6xKG9UAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, { "cell_type": "markdown", "metadata": { From adcf4db5cdc3ba980cc7adb83141b82f5d019fa1 Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Tue, 10 Sep 2019 23:23:14 -0400 Subject: [PATCH 5/9] Created using Colaboratory --- ...ng_Data_backed_Assertions_Assignment.ipynb | 1080 +++++++++++++++++ 1 file changed, 1080 insertions(+) create mode 100644 module3-databackedassertions/Benjamin_Whitman_LS_DS_113_Making_Data_backed_Assertions_Assignment.ipynb diff --git a/module3-databackedassertions/Benjamin_Whitman_LS_DS_113_Making_Data_backed_Assertions_Assignment.ipynb b/module3-databackedassertions/Benjamin_Whitman_LS_DS_113_Making_Data_backed_Assertions_Assignment.ipynb new file mode 100644 index 00000000..5de9dfc1 --- /dev/null +++ b/module3-databackedassertions/Benjamin_Whitman_LS_DS_113_Making_Data_backed_Assertions_Assignment.ipynb @@ -0,0 +1,1080 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "Benjamin Whitman - LS_DS_113_Making_Data_backed_Assertions_Assignment.ipynb", + "version": "0.3.2", + "provenance": [], + "collapsed_sections": [], + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Okfr_uhwhS1X", + "colab_type": "text" + }, + "source": [ + "# Lambda School Data Science - Making Data-backed Assertions\n", + "\n", + "This is, for many, the main point of data science - to create and support reasoned arguments based on evidence. It's not a topic to master in a day, but it is worth some focused time thinking about and structuring your approach to it." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lOqaPds9huME", + "colab_type": "text" + }, + "source": [ + "## Assignment - what's going on here?\n", + "\n", + "Consider the data in `persons.csv` (already prepared for you, in the repo for the week). It has four columns - a unique id, followed by age (in years), weight (in lbs), and exercise time (in minutes/week) of 1200 (hypothetical) people.\n", + "\n", + "Try to figure out which variables are possibly related to each other, and which may be confounding relationships.\n", + "\n", + "Try and isolate the main relationships and then communicate them using crosstabs and graphs. Share any cool graphs that you make with the rest of the class in Slack!" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "TGUS79cOhPWj", + "colab_type": "code", + "colab": {} + }, + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "csiVUIjb4VBj", + "colab_type": "code", + "colab": {} + }, + "source": [ + "pd.read_csv?" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "DBsW8j013jK9", + "colab_type": "code", + "outputId": "1d7989bc-4166-424c-bd9c-b8e66b9c5791", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 202 + } + }, + "source": [ + "# Read persons.csv, and fix headers\n", + "df = pd.read_csv('https://raw.githubusercontent.com/LambdaSchool/DS-Unit-1-Sprint-1-Dealing-With-Data/master/module3-databackedassertions/persons.csv', index_col=0)\n", + "df.head()" + ], + "execution_count": 34, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ageweightexercise_time
044118192
14116135
246128220
33921657
428116182
\n", + "
" + ], + "text/plain": [ + " age weight exercise_time\n", + "0 44 118 192\n", + "1 41 161 35\n", + "2 46 128 220\n", + "3 39 216 57\n", + "4 28 116 182" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 34 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "1NJiguDxQwNh", + "colab_type": "code", + "colab": {} + }, + "source": [ + "plt.scatter?" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "HS6J2nk7PXfK", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "91acac2b-ec33-4f19-8598-ad2a1439959a" + }, + "source": [ + "time_weight_plot = plt.scatter(df['exercise_time'], df['weight'])\n", + "# This seems like a pretty clear relationship right off the bat!\n", + "# The more a person exercises, the less he or she weighs.\n", + "# TODO: Add axis labels" + ], + "execution_count": 86, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 86 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nEOYAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "3t-p766DQS9b", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "cf5ac205-c5c0-4820-e1bd-5a1463c953dc" + }, + "source": [ + "plt.scatter(df['age'], df['exercise_time'])\n", + "# This also tells us about how the data is structured.\n", + "# People start exercising less around age 60, tapering off until nobody at age 80 exercises more than ~100 mins." + ], + "execution_count": 80, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 80 + }, + { + "output_type": "display_data", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJztvX+UXNV1JvrtKpWgW/aoJUyIkCUE\nOCNWFCEEbVCirFmGvFiJBVgGbExwnpPxG2a9lbyMY16/CMcrCMeMNKOMM17rzfJ7JM6M/WJj8csy\nv2bAE8jKC4kQEkLGsuGNQb9owCZILdvqRl3dfd4fVdW699Te9+7z41ZXle63lpfpq1tV59577j77\n7P3tb5MxBiVKlChRon9RmesBlChRokSJYlEa+hIlSpToc5SGvkSJEiX6HKWhL1GiRIk+R2noS5Qo\nUaLPURr6EiVKlOhzlIa+RIkSJfocpaEvUaJEiT5HaehLlChRos8xb64HAADvec97zIoVK+Z6GCVK\nlCjRU9i7d+8/GWPOzTuvKwz9ihUrsGfPnrkeRokSJUr0FIjosOa8MnRTokSJEn2O0tCXKFGiRJ+j\nNPQlSpQo0ecoDX2JEiVK9DlKQ1+iRIkSfY5c1g0RnQ3g7wCc1Tz/AWPMnUR0IYBvAjgHwF4Av22M\nmSSiswB8DcAVAN4GcLMx5lBB4+84du4bxfYnXsbrYxM4f2gAIxtWYtPapXM9rBIFQPOsY8+HkO8r\n52YJCRp65SkA1xhjfkZENQB/T0T/FcBnAPy5MeabRPR/AfgUgC83//+4MeZ9RPRxAP8OwM0Fjb+j\n2LlvFHc89CIm6tMAgNGxCdzx0IsA0BUvVPmix4PmWUvn7Dl8DE+/9JbzcwiZX90+N0vMLcillSAR\nDQL4ewD/K4DHAPy8MWaKiH4ZwBZjzAYieqL53/9IRPMAvAngXJPxQ8PDw6YXePTrtz2F0bGJtuNL\nhwbwzOZr5mBEp7Fz3yhGHtiP+vTp21yrErbftEblhQI4YxYJzfWfPDWFsYl622eHBmpYcNY8vD42\ngQoRpplpTQCSRwdqVWy9YXXuc5B+k5tf9mfHJ6dwfLz9s4sGaxicP++Mfdb9DiLaa4wZzj1PY+iJ\nqIpGeOZ9AP4TgO0Adhlj3tf892UA/qsx5peI6HsAfsMY81rz314BcJUx5p+s77wNwG0AsHz58isO\nH1bx/ucUF25+DNzdIgAHt23M/XxMj9v+ruMnT2G8PtN23qLBGvb9yQdTn7MXhGqFUAFQnzl9TDJO\nvuiW3Ybt+QKNBREmff2xYRtrbhwS7Pnl8lkbtQoBhNTzj/2sS3QOWkOvqow1xkwDuIyIhgB8C8Al\ngeODMeYeAPcADY8+9Ps6gfOHBliP/vyhgdzPxtzmc98lwfby7nrkQOolB4DpGQPbZEzUp7H9iZej\nvPzdFFbY/sTLbQbSvh9F4HXrGXHjkGDPL5fP2uAWs5jPukR3wkkCwRgzRkRPA/hlAENENM8YMwXg\nvQBGm6eNAlgG4LVm6GYhGknZOUFMT3Jkw8o2T2qgVp3dDmeBezkn6tP4+q4js7sErQEMedG57b0E\n2zi5IHnfuRDHXBmXkGvSwA7btGAba+04uPlVxDUUfV9KzC1y6ZVEdG7TkwcRDQD4dQA/APA0gJua\np30SwLeb//1w8280//2prPh8kWh5kqNjEzA4bUh37hvN/SyHTWuXYusNq7F0aACExnZcu+WVXiT7\nxrQMoM93cagAuPiOx7Fi82O4+I7H1Z8DdDsVDvZ95+LYwNwYF5drWjRYSz3rRYM19rwq0ew5t65b\n3ggFJVCrUpuxlsZh/yY3v6TPDg2kPzs0wI+Xg++zLtEb0Hj0SwB8tRmnrwC4zxjzKBF9H8A3iegL\nAPYB+Erz/K8A+H+I6IcAjgH4eAHjVkHyokM8yU1rl3p9Vgr7cMgzgEODNbVnPgMATUMrGVwO2p0K\nB+2OY0gwnEWC25VxMfqBWhV3Xrcq9ay52Lgd3965bxQ7dh9N/yhz20c2rGST5/Zvaq9hoFbFluvz\nxyvF6H2fdYneQK6hN8Z8F8Ba5virAK5kjr8D4KNRRhcIyWDOhSfJvdgS8ryr2PujWoVw85XLVLkC\nDWNFu6Cdqk9j/banCk3QcuPdesNqL9ZR6++s87Y/8XJbHLw+Y3jnwn6OBthz+FiUcbTO23P4GO59\n9iimjUGVGs95+ILFXZEYL9E5dIVMcVEISZ6GwjYwV19ybtuLXQFQrZKzd3WCoeC5YunQQBSe98j9\n+zGDRkK3dUyL8foMxpvnF5GglZLAW29YzdIVNbB3dDv3jaYWK+n6uWQstyBwORspYa9J2j+4d3R2\nJzdtDB7cO4rhCxbPOR24RGfR14Y+JHnqAs6oP7h3NGVgki9wCzMA/tn8ebO8bK3RlQyKlAjk4POi\ns4yViJTE2AlabejOlxXEfU6bjJUWBC5n45OwB4oJXZboTfS1odducUPAveycUZfM4YmJOl6484PC\nv/KQFrAbr1ia8vxcvGsNOhHyivkb2tCdr0HkPmfAF0zZzkVVKLbiICXs8+axdP2jYxOFh8xKdBf6\n2tADfPI0JuVSetm1sD09zdi0C1hWJa8PXJLAvogZVls4UGMrTRdabBTfXE4WkyovNOaSGPcZG5C9\n82sdL6USzgz0vaHXhFVCJnqIB2rT7uyq1dGxCYw8sJ8dmyZG6xK60iwwnSDJXn1JbvtLNYj44/Xp\nmZRHKy1gQ4O1TM9XMqQaSYwhYRHSglsQ8+Y6wIf3ynBO/6OvDb02rCJNdI3x03q5labRSYW0rYFw\nVav1aYO7Hjng9RJqPX9tjFqbBLZZPC7rw9MvveVwdjbGhOdycnIaJydPe7S1CqFmJcVrVcLP3jmt\nH8MlRhcO1No+p80BSYsQey7yQ0HcM3xw76g6nFcWTPU3+trQu4RV7ImuNX5aL5fLWdq0O2nBCAmX\naDx/bYxaMhRJoS9uMZFCSBy0BkezCGvzFPUZ03YNnMCYnRgdm6ijgsYiPmMacfcbr2iMIS8GLi1C\nNrjcC/d90jN8cO9rmJwyMADePPEOBmsVVhOpLJjqb/S1oXfxUjR6IpzxC6U6+npSMfMMkjG0j2sL\ndWxcfcm5+OtdR1RjCdENAtKLMDdeCXZSfMXmx9jzOOZU6+C0Mdjx3FHs2H10lo3UGtv9e45g16vH\nZ/nstSphkqmpWDC/iqHB+c7PVZpHEwmjPm0MxutmdmFqoSyY6n/0taHX0hBd9ETs46HslqRhk+K2\ndil7bJEwiQFSteILviwmKRyjeQ4AL8mrWYS58UpSwPYCQ+SXk+AK4ibq03jmlWOzf08bg2lh7alV\nKyrqq31PBgRPnYMmWVyiv9DXhl5LQ3TZ9tsJOm3CiztuG7Yt16/CyP37U9z0WoWw5fpVqe+JzY+W\nGCChzJAWQtgpLkqd3L9xBU6aBPXcqDPpdogu94SDMX51FCV6Fz1r6GPSEDlImih2go5LeHHGX7PA\naMcbW9phaQZ7JAnfnUQIO8VFqdPegbTGrJFA6BaPVhO6ClEvBfj7VKK/0ZOG3sXg+IqQabf9E/Vp\nPP3SW20Gy1dPRDPe2NIOksCW7eX67iRCKpRdFi97B+IigWBDCqMN1CpYvOCsWdbNycmpaHr22tBV\naCHcLVctC/p8id5DTxr6TpV220b3QiFBxxkj3wVGAym5GcRBV5TyapO2Nlx2VrZRk4qeONi5DGme\nbHn4QO5YpDDa1hsubQsF+RrhWgX4uX8WL3RlY6BWxeXLF6aSwLdctQxf2LRa/R0l+gM9aehdQhcx\n2SlzKZKWhJTc9OWgaxUXtUlbDloRLtuo1aqEWoVUmjr2MKR5MjZRn108pN2gtDjtOXwMt9+3P2U4\nk7sDFyrp9o9e5kV9lTBYq2BRc7fRbSGpEnOLnjT0WoMbs30fEL/S1BexFzrt98VO2mrYNPVpgwXz\nq5ipz8waV+n3bG661sOWdoP24vS5nS+mdlLTxsz+3fKSpdzO9LRBkhNTq+ji5C6hq4n6DL7vkWTt\nln6+JYpDboepbsTIhpUYqFVTxziDm9W+T9N1qiVBe+Hmx7B+21MAoOowFdLZyv5N7jPSDkJa6PLG\nof0+SSPHRzuHG5tUGHZycjoltSuZSHu83DyRoDGoX3+WrwVIHue6kC2YPw828bG1Y8qDy25RkkXI\nmk+xu7CV6E70pEcvbasBqLTBNRIIIYk8lxxC0puyk3suhUAuC509Du33hexorr7k3NQuivPetZD2\nD3aOgpsn45NTXro2gEy5tI+H5HY0ejVSRyyNLII9n0op4zMDPWnogXx+dJY2OIdY0rWt39Yct8fM\nJR2lQiC7c9CNV7THwLUhGZeORZrzuGeRDHnElk9ugctRaHj0tSrhxEQ9RZuVxOQ00CaUNaFGjr7b\nyhXkPX/NHO6mLmwlikPPGnobWm1wbWOIkBdAm7TUJto4HR6pc5BGm2bhAO+9xqJ/hvK8fTE6NoGL\n73g8k2HCLVbHT55SiclJOjGDtdMRUCmhbMsOuNBXbfqu9vlr5nC3EAxKFIuejNFzyKu+bMVLb123\nXBXf18atgfY4qDZpqfWaXHR4kuBi1LUK4eTkVKEx2ZjeYIt1k0RWGjNp/P561xF8bueLbedsWrsU\nz2y+Bge3bcQzm68RpQPsEM+/veFScDnUs2rV2Wd/1yMH2IRyG2mImSIxGqUkoZnD2nxXid5G33j0\nLtWXmmImbTzahedsGwkNK2SgVsXVl5zr1ZdUG6MOkWnmzgtpUMIpYdrXwMWtJXzj2SNBvHF75/PF\nj12Wyqn89FS6UloLjr6q3YFpn7+m3iKkerxE76BvDL1LolATftC+AC5hCturY6l4FcK7zp6HsfG6\n2ChFG35qXYdPYlBbfcydp90mVis021QcyFbCtI/Zi7Vk/DQtbaWQDNDeiSmZjF/7+SdT43eFfc+l\n+XBycirF+9c+f229Bfc+lJTL/kLfGPoiPBPNguAaprA9xDzdlfXbnvLuS8pBG5PVJqO583QaisC7\nz3JvjN6C/WwkWWEN5s+rqpQf7evX7lq0hlm7A9M+f988U2x11BJzj74x9ECxsgMSXMMUSQ9x5P79\n2P7RNZl0zRDlRw7anY/WSITE47nG6L6e5ECtktJeTx7XjEMLbXgm+WwkkTvNblPagWmev2+itaRc\n9h9yDT0RLQPwNQDnoTG/7jHGfImItgD4VwBa+8DPGmMeb37mDgCfAjAN4A+MMU8UMPauQIicbX3G\nYMvD2W0CQ5QfOWipmdrG2iEiW/Z3hXiSW2+4FJ/Z8UJqN1FpHs+DyzUkmVNZ/QN8Re601EzN8/cV\nkyspl/0HjUc/BeB2Y8zzRPRuAHuJ6DvNf/tzY8yfJU8mol8E8HEAqwCcD+C/E9E/N8Z0nm/XAWR5\ng0mPSzIkYxP1Nn17jeSxLytCS82T5Gvs4y5dnPK+K8STjC1JLSHJnNL2D2iNL5bWj/b5+94Tl51A\nGcvvDeQaemPMGwDeaP73T4noBwCynuSHAXzTGHMKwEEi+iGAKwH8Y4TxZqITk07b2cf26rJiyMlw\njl1YJBXMAPl9SbnxarszST1N7eMu1ad53yV5jKNjE23Xav+mSy2ADe4aXj8xwe7Wkh597LwQt9DV\npw0WDdYwOD9OLkODEMZZGcvvTjjF6IloBYC1AJ4FsB7A7xPR/wxgDxpe/3E0FoFdiY+9BmZhIKLb\nANwGAMuXL/cYehqdmHQuVErbW13kSTmUCmZ8GTESbCPr4tVpqk852N+VJUmcym08sD8lAZD1rLWL\nvza5G6vrFgdpoTs+Xsfg/M6l00IYZ1oZ6BKdhXr2ENG7ADwI4NPGmJ8Q0ZcB/Ckacfs/BfAfAPxL\n7fcZY+4BcA8ADA8PB789nUgguVApbW/1zutWtTX30ML2aE+e0nnlLuPlBMF8m4XYhmJosIafvTOV\nG37QNj6S+rJq9YqSY5Sg6boV27nISuzbNE/f39BCsxPICkfmyUCX6CxUhp6IamgY+a8bYx4CAGPM\njxL//hcAHm3+OQog2cLmvc1jUaFt+BAzgeTyXRrqnNSomkPyRc87x3W8nNENDUtwXn7ed/kWWbVg\nX7+vuFwrN/KNXUfakrvJ+xTbudBuFrqFAZMlGZ1Et4z3TIaGdUMAvgLgB8aYLyaOL2nG7wHgIwC+\n1/zvhwF8g4i+iEYy9hcA7I45aBcBM40qoRbSguLLaV91/rvxzCvHvMbCwfaIpVBIsh2eSzhDgrZ/\nb953aQ1H1ueT0LJHuPl07+6jbfUAMwD2HD5WmCCYC82zGxgwLs+qG8Z7JkPj0a8H8NsAXiSiF5rH\nPgvgFiK6DA0bdwjAvwYAY8wBIroPwPfRYOz8XmzGjVbAjGvmHbKNHNmwkmVZ3HzlstxGJpwxkSZ/\nlQgzxjhTF+33TgqFnF2relEzObjkC/IWg9D4t/35kOIwqeL13mePzkoqxBYEc3neMUXHfEkMUniL\nQymSNrfQsG7+HryO1OMZn7kbwN0B48qEtohIauat3UZy2/m2O0ENjnSenoq0OHGYMQYHt20EEFbx\nqWXOSNAYAE34Yue+0VR+QpIBdjEcHOwGKKHFYRySi0lIHoODpE3DYcU5A1F2qiF5BkmyAZTOo5Qi\naXOPnqyM1RYRuTR8sMG9AF/fdaTNONen28WpfH+zhaT3IxXlcLCbY7vKFCehNQCa8MVdjxxgZYD/\n+Fsvti2kO3YfTe2YKtTY4di7KI0x0eYZfAumYtMrXXr+/sMrx2bnYgjrKCSPMbJhJW68Ymmq+O7m\nK5epi8NKdA49aehHNqxsY7Bw+t4hW2sXD1xjxLXx/QoBr5+YwIrNj6FKhHUXLcLug8fTxq/5wZS+\nOVOooxXJ4oyE1gBo7nFWi8CTk6eTzDuYuHi1Qrj5/e2hsdYYY+QZuPtkC661cMtVy1J/x5TdcHEG\nQrqkAXDOM3Df1aK5csV3sUKDJeKgJw09gPaZzlhhaWtty/66NMzmoEn4SmO5fPlC7Hr1+OzLkrQt\n08bgmVeOYf3Fi3Ho7QlnQ6ctZuKMhNYAxAxf1BnDWp82bXUELcQysNx9uvqSc3Hv7qMpY1+tEIYv\nWJz6bEiRnlbuQAsX3frWGEPyGBLNteTRdx960tBvf+LlNqPA6XtLL/CO547mxou1Hrg24SuNJSlH\nIGHXq8fxytYPtR3XvDxakSzfgilN+MIl/KQZWxGw79P6bU+1efTT1hwLiW9r5Q64MFXMLmlF5DFK\nHn33oScNvQutzX6B137+SVXbOOkFsOUIXBK+nDFx1VcJhdaAx9T35zRhXMesQUwJDM0cC+HRu8gd\ntM531T/SPOsi8hg2Sh793KMnDX1I7F2KFx8frztrxQNhCV+tl2Tzw0OgNeAxE43cd42NT+LkZP4i\npw0Dxa5S1cyxEB69ZDQ5uQNuIY3ZJc03j+GCkkc/t+hJQx+b1tZCVjchCSGLjtZLWnfRotxzJNz6\nF/+YKspaf/Fi1QIWG1otGcBPZz+UPeJjJEOefVZxmEbuQGOcQxZr7h7Z8+b1sQmRoGCj5NHPLXrS\n0LtMYHvCaqFNKoUsOlwBFodDb/t5Q7aRBzD7d94CVrRInGToqkRejI0Q9og2p2I//5Bnrw3HhYY9\nfFhB0j2yHR9tjUfJo5979KSh18JFvZGDJqkUHOJQRGV8Y6OSvMIzrxzLZQkVLRInGTrffEQIe0Sb\nU7Gxaa2uiQsHl+KwToc9tPdISrJrJTZKdA49aei1XpmLeqMGvgZBwvYnXvZSs4yBvPBA0V2GJNnm\nRYM15ux8xG6RqIG2iYt2vC5N34uE9h51QmKjRBz0pKGXPI67HkmHWkLK6SXMlRqmjZgME99CqCx8\nbueLKU/3lquWpWQiJMfdl2AUyh7xMaaxO2JxlcG1SnshoAt85on2HoVKbJToHHrS0Gc1aEjy2SUP\nyQYnTCZ1SYrpXWkXI5t1U0T8PGYh1Od2vpjSbJk2ZvbvlrGXlBpdFBxtcDsrTq8oVmvG0N2BPd6d\n+0ax47mj6ZMCCFe+80T77GOLurXGXBZbxUdPGnqtgeQULe1q1JY+hy1KZgtxAbzMQutc316lt9+/\nX1RKbGHdRYu8Go+4yP76FEJJuPfZo+LxopQfgXyjntWasSgKpst4xyen2BoPX+aQ745DevYA2vob\nhyyamudVFlvFQU8aek7rRoKtaGlXo2bGVRUyCyHe9Z7DxzKNfEvr5vkjJ7zaAbokNq++5Ny2Y765\nB02iNTZFVitCx7Vm9EXINYS0edTOOek7NU4St9uwfzNk0XR5XmWxVTgqcz0AbyhtWEvR8uC2jXhm\n8zV4+qW3RC8niSyZBfs8zfdxkDzfKhEObduIV7Z+CIfenvBuB2jL9mbh0f1v5J+Exgu6fttTuHDz\nY1i/7Sns3NfePCyrwKv1OQDYesNqLB0aADXHuvWG1d4vdGwROg02rV3qfQ0hbR61c056DgTkPkPN\neCfq0+p5o/m+op/XmYye9Og5IyzB9lS1cdXY53HQeL7aSc55ki7VjBotGq0nue6iRSK108CtIE0L\nXxnoUPjuekKeq9ZTl+aXga4oSzNera6NtvUnh7LYKhw96dG7vNS2xrc0aezj2vOGBDrg4Pyqs9ek\n+b0WFg3Wcj1JzuMMgdaT1BR4aXc9WmiNQa1Cs+qlec9Gs3uJPd6BWmXWE5d4+ZKnbh/XPm/uWdjX\nvnBAR3uVvuuOh17EaLOStkWU4GAfL4ut4qAnDb120gE8m2SgVk0dk7xhzXlSGPzk5HRqYt/x0Ite\nhoKLnQPAxkuXpEJSkje2ae3S1HkST13DXw/d5dgYHZuIZki551WrEiqW5ZgBsGP30dxnwxkn32eo\nHm+FMDVj2vJH9m9qi82435CQfGbctZ+cnGooaTp+F5Dd+jOJgVoVt65bHi2cV+I0ejJ046LxZS8K\nWjaJ9jwtHZBLKknVkUlPTOo65NKNKIk7r1vFsonuvG5Vxqca0LJMtFtzgnsIQQL3vDhl0ekZAzuQ\nxT2boiuDufFKvQJsKQ6pItX24LW/AaSfoVZZU0tBlhZ+myhRUimLQ08aepeCDG5R0MZVNee5xBt9\nuOqxK1RDaJNalom292lshoX9vCRlUQ72/QxhrGihHa8dB68KnrWGOWXnWQD9nBsbr2Pfn3zQ6bsA\nfevPEsWhJw29i3GN2QibQ0gpu0YrJTZXu3Vdsbxm7j757jaAuAwLl3li30/pGcYTjObHoBmvRMnV\n3HfNM4zZdAZwo6Fy81XzGyWy0ZOGPrZOSAgXXipl1xSSaLRSYnO1QwtQNItEiLGOybBge+ZWCTDp\ntoVs7kX4ziKViUI137WLWt4z1PZk1nxX6xwg31jv3DeaUnMdHZvAZ3a8gGqVUh3hyiIqd/SkoQ8x\nrhxC47HSZM9TNZR+9/b79uMPd7zg1ACliOvyha/OUGyGRVaFZzd6iNx4Xz8xodb/idmgRlMs6ALN\ngrDl4QNttOkZADNWYWRZROWOXENPRMsAfA3AeWg87nuMMV8iosUAdgBYAeAQgI8ZY44TEQH4EoAP\nARgH8DvGmOdjD5ybOJquOxxix8G1qobS97c+F8o3l76/xXYpyvhpPdPBWgWLCpazlQxM3u/EVtfU\nwh6vVvMdiNdyUtuTOTZc+gqXRVRu0Hj0UwBuN8Y8T0TvBrCXiL4D4HcA/I0xZhsRbQawGcAfAfhN\nAL/Q/N9VAL7c/P/C4Rt7HhJeaokjb4PTLNF40hrPN8R7yfr+JNvlM/e9gGol3vbY9kxBPA11/rzu\nlbMNYSfFhEtj9dA6iRaKlqiOgbKIyg25ht4Y8waAN5r//VMi+gGApQA+DOADzdO+CuBv0TD0Hwbw\nNWOMAbCLiIaIaEnze6JBmzzVnBcimRuiWaL1fH1fMO33zxj99lh735OLrsQmCVGqLBoh7KSY0EZj\nYoa9ihCc00DaRdkYqFVni966LfzWrXCK0RPRCgBrATwL4LyE8X4TjdAO0FgEkiIurzWPRTP02iSj\n9rwQydwQzRLbmFQEtUnfF4wzVi6xc18xLRtzZThC4btDjIks1lgsDnqRUs4ukHZRV65YlFKbvXz5\nwlLl0hFqQ09E7wLwIIBPG2N+QglXwxhjiMgpQEhEtwG4DQCWL1/u8lF1klE6r60ARfAkNIYoRLME\nSBsTW8e9Bak6VoOQmG9IG74kimrmHhPdqoNeNAfdRZUSQKFedBbJIpnv+odXjpUql45QGXoiqqFh\n5L9ujHmoefhHrZAMES0B8OPm8VEAyxIff2/zWArGmHsA3AMAw8PDTouENoYoea92AYqkA6ExsNKL\nODRQw4Kz5jm9FLGrYDloY77c9li6n3mLXbeEQSS47FQ471cj0+sbaizau5YWb1vKuehm8S3Yjsn6\nbU+VKpcRoGHdEICvAPiBMeaLiX96GMAnAWxr/v+3E8d/n4i+iUYS9kTs+LxkdBYO1FKGSdthakY4\nrjGwUhXotWuWsM1Msl720CSYxphcu2YJO971Fy/GobcnMptAhNQqxA6DxPTAtTsVztgl72VoCHEu\nvGstM0tLMIiNuVIl7TdoPPr1AH4bwItE9ELz2GfRMPD3EdGnABwG8LHmvz2OBrXyh2jQK3836ogh\nFMJUCCcnp1Keeig0NMSTp6bYz9qLhOZlD4lla42JtHgdensi5cFJnhTXsavTIZjY3mWIsbMRopsz\nF961NOdsHSIJRXvRWeOb63nYS9Cwbv4ecuX3rzHnGwC/FziuTLiINYXAnuwj9+8HCCkaogTbSGja\n/0m7A00ISWtMtBouoUJUMT1u+7u0rRS1CDV2NorubRCzEM6lypxD0V609E78irUD7aZQYDeiJytj\ngTABKxu1CqUMOMBPdm2zk9bnXT2ikBi91ivVIiQJGNPjDKGvahFq7Gxo1Tx9z4vJcw9lZq04p1hD\nr92BlshGT+rRc3AxYnbTju0fXYPtN61JHQupMfT1iEIUE6Xrby04ya5CGmj1+DmEtFfUfJeEEBrq\njVcsTTX88H3+ySR2S2f/6kvOjdoDQdsUxxdDDv0edr16vO1YzIYtvVC81QvoWY/ehouA1Z3Xrcot\ni1+/7Sm1YRysVXBqyszyfLWl6PZLLH1Wo2EibXF9DZZGWVNCzJczlL6qASdZIS3WNpvKZt1wSWxt\nE20tO8klxJcXQuN2TLUqoVb/YtGVAAAgAElEQVQh1Q7Wnq+x8ycueatupch2A/rG0McWsOIWjgo1\nqkhtnJo2KiNhN26wx6LtHMQhlIJpryVavR4OMQukpO/i7iXQzkQB8p9/VgckO+G35fpVbYYyee8f\n3f+GKqEqQcNO0ob4NEZX22TkjRMT7NwHgIvveHzWGThrHmGinuaxheRPRjasTClaAo1QK6cE2wn6\nZ6+iZw29pFttw5fWxy0cXMcioF0fXDIS3E4ieR2SR6/RMAndyt56VbpozSXhVyT3Wyq22njpkpRh\n23P4WJsnzSXPuZffN/HcifyBy3dpk7Z3PXK6YFByIewmI1IxH4CUMzBe578x6PrtDS2zwZ0rpdZe\nQU8aeu4F077UIXBR19OwU2z9bc7Iaw2krzQw0EjUDF+wOHVMa0xcuN++C64dQuJK4L++64gqee4i\nLsclnpOLmiRZwSEmOyU0aXt8vJ7LULO/q1UTknwOM8YUzs7Z/sTLKZIE0HjHk4tVSDHfmYKeNPTs\ndlP5UmvBGTCXJKuGncLpbwPNMIqBU3GMtn0fhxlAbfy0sgiP7n8DC84Kn15cCIkrgXfJRWjE5aRG\nMcnzfHMxodCON2Tx5+L9X9i0OlUEqJXTCLl+zWKVdY12z+gzFT1p6F1Wad8VXRu35aiZ2okt7RCM\nAQ5t2whAH3t8dH9Y8fHo2EQq1rruokU4dnIy15hI99eWmfDdXUnPIQR54nIusXwOFQKWLPQTHNMk\nFEOTthpweQB7bCTITxMB53tev42Qxao1lhI9auhdHr7vltElbgsUp+OijT1qw0pZu5Kk1/zMK8fa\nZBG469I+C9/dlctCHbIIa3I52rHMGHhxvF0Sitx4ucIyX2hCdBXi59KtVy1vk//wRchiBeh7Rvc7\netLQSxII2pda4zW5xm19IOlvV6hRABYr9phcmLhEqYRdrx7HK1s/lHmOy4vos7tyKYGXNGFiLcLa\nRW3RYM1Lh0aTPJWui6N1hkATopsx7dTiW65apjbymvcwdKda6t800JOGPoRKqfWafOO2LmGKjZfy\nAmOtsH3Wy2p3v1owv4qTk+3Ge8H89i5OdstF6Xdi0zq1mj0aBo9LsjfW7kqzqNWqhJ+9M5WKH2vn\ngzYePfLA/lR9iJSMlpCkTi4cqOEn79RT1MlahdTKpRP1GRxshhldoH1vXAgQNkr9m9PoSUMP+PcC\n1YZCQuK22jBFCPf9Hes3a9UKgHZD3ziehn3vWrF5G1yhlm2ItZ6j5qUrgsETUkTDtYjk0GKgSBRc\n7XzQ3k+bhQLo8xY2zXfnvlGMPLA/1WFs2hjseO5oisEWolzKQdsrQosKAb911fIoTK9+RM8aeg6a\nl9pFZkATBw0JrYRsr+2iFKkb1thEPTeMcMtVy1hP9ZarlqX+duGNExpGwOWl06o3ahGy27Kpr1nX\nOmPMrFcraS5x84HbvSQNbAzkFelx9EWutWRs5VJtrwgtqkQYvmBxKmzUkmIoDX8fGXrtSx0iM+BC\nudR4Iy5yCXnQKjBy94TjSHOxVhfdGQP3hKSLdIJmUQ/ZbUnUVw7JZy09B7tXAhdT37H7aNB80Bbp\nJeGSN9Eql3Kwn5dUZe6L+oxJPdeyUjaNvjH02pc6RGbApVRe4+mEvNSLrBi9VoFRMnQ2R5qDKwPG\nFVruvvYlDtHc0caG7Wet7ZWgLfACGDaRoOHkE+JyCb/5ti902Qlm/bbLLrqslE2jb9Qr82R6W0p6\nkjKfRmZAmmAtT6elfLn1htWqyST9ZpVo9rs+sW5548VOoFYl3HndqtSxTWuXYusNq1UKnL61BS4x\nU58lTKveqFXHLErlMXmPb7xiKbY/8fLs/ALQ9hzedfa8tvCIy/2x59f2m9Zg+0fXtM05u7pZg5EN\nKxuMtQQqQNucCwnTuOwEObQWmIPbNuKZzdeI703yuZaql2n0jUevDV1wynzaSZwV9vHxdCRmj71Q\n2CyZrGpZjQKnr6Eb2bASIw/sjxpDTkKbANe+xCFNySXq66LB2uyzlnYWW29YnZoPIb0SANmTtnV3\n7JzCyP37285jYW2/qlXCze9fFi2xGWJcJTnnvOcaU1ivH9A3hl4buqhPGwzWKpgxyJXfteOKIWEf\nDlrDZhtw7UsdYugkTCmN/GCtUlgiTPsSa+8vhzuvW9W2qNk7KW14QFsLEFJlzeUU6jMGWx4+kEko\n4PR66tPGOwHOwSU8pKmq1TxXrerlmYKeNfRcMu7GK5amEoqSAR5PMFYk+V0X1oUm7CON2caew8dy\nDZP2pZZeiD2Hj+H2+/Y7F7n88bdeVIUcKtQYT14S+HM7X0w9r3UXLcLzR07kxt5DWi5K4J7N9pvW\nRGnmLi24MQu8pJyCzbqyk8DSOxIzxMFdvwSjrCpWqdIqVC/PFJCJxPoIwfDwsNmzZ4/6fHvLDOjb\nAUqwt8eX3fWkKiHHhVrUY2aSaprvzxKTOpRTvCLJzX5iXX7ZetbvJpNlUv/e5D3Okr3N+hwArP38\nk2JYJSmty91z7n5qz7MhhcbyVC+LoPppBca074Rv4lWCff2Svn2VqK0a23YINI6Jy7PpZRDRXmPM\ncN55PenRa9UrQxQNs4y8D8VMavCQh9hMgXufPSoeD9En0cSkk/dYGkfe5wCIErv2ca2kwPikX7Nx\nl9CYb18EQN4JJo8N1iqpnaoE7TsRsjviYF+/tNDbtRv2edPGzP6dNV/LZGwaPWnoi3hYNs85Cz4e\nQciY7c9mJQrzkJVnyIupS96gvSPWxNBd8hqxhem0Erd5zyxLiiNWfoLtvcBIINSqFJWbHtqxLA/a\n2g1fx2ThQI111s5U2eKeNPTSQ9SCS4LZPGcJGmPK4exapa2aVQvb0N153Srcfv/+VGeraqWdcskh\nK3eRF1O/dd1y1gu7dV26O5XG09UWi3Ee8pDw/G3qbKjErWaB4RLlMQt1tDtBrv2fFELThG9iO1Pc\nrkRTu+HimACnF12p/nFyavqMrJbtSR59qMa0zUvmeM4calXCxkuXeHW4PzXlZ+SlUID94LQP0t4a\nS+B46V/YtBqfWLd8toq4SsTG9jlOvx3vlsax/uLFuTUJW65f1cb9rlUIW65PL3QcL18LX3aSluOv\nhYvBHRuvp/jmd163iq1LuHXd8tl7LFWEx6Qhtha/0bFG68LW4se9Oy3ZgmRdgoTk943cvx8jD+yf\nPSbtbMbrM6px9BtyPXoi+isA1wL4sTHml5rHtgD4VwBa+7vPGmMeb/7bHQA+hYbC1h8YY56IPegs\njWlNUtD2yrPaqmVJ/Lp4a1lbavs38vjL2594mWXdaGL53JbZhXmh8cI00G7dObjQUu3zpL6/QwM1\nLDhL1oTRInZsOKT3guY+SYloX3lvDloaqgvTzYZWrsLGmVItqwnd/BcA/yeAr1nH/9wY82fJA0T0\niwA+DmAVgPMB/Hci+ufGGP+yOAZarXgp4XNiQhejTRbHAI24q29Zdcxiq1BjYhvr2IVV2vBFyKKh\nTW7mhVaAhmHbcn22JowWLoU6GsMpUUkraLSAbME3CaxdNENCUtr56qIvFBNnQoI2d8dvjPk7AMeU\n3/dhAN80xpwyxhwE8EMAVwaMj4W2VF5KKGnnkm2XtTIL3FZQClVoQylJxC7t195PLWKHL2JCE1bK\ngh1asJ+1xFaxj2vDGdIcXjhY874GG5vWLk2FfLjvCXmm2vkaknfLQ5UIC+bzYbwzoVo2JEb/+0T0\nXSL6KyJa1Dy2FEAyTf5a81hUaF/W0JXalv6VJkRLZiHrhR2+YDGqVly5WqFo+iTJZhF5+QMuDhpi\n/GxoPbg8o1kU9hw+hjdPvAMD4M0T72DPYZ0fozHOUkck+7jWcEr30o7Hh+xGNM/BRd7bRmxHwgfT\nxmByaiaqhk8vwZd182UAf4pGXvNPAfwHAP/S5QuI6DYAtwHA8uXLc85uh2brHsq6sKlYIQqR2594\nOcWSAYBpZVydhZVD45pF3PHQi9hz+Fgq5i/lGWx9lhBowhethhfJ8Y48oNRmCYAvLxvQxZqzKlST\n0C6GRWu2SCEZe96I1FoFMUJLQ5W6pHGw+xlLBVhJ1GeMOhdTdIFbp+Fl6I0xP2r9NxH9BYBHm3+O\nAkjGIt7bPMZ9xz0A7gEalbE+48iDtresBHsScxNW23jExcvV6KxrmkVM1KdTcriSPG7shJSGXnnX\nIwfarqE+bXDXI+3aLDERUjAWM9GqNeDSvbRb/fkaImnxsueNBG05hIaGWqsQqhVqc4g4HHp7IuWY\naCuDT0zU8cKdH8w8px+17L0MPREtMca09qIfAfC95n8/DOAbRPRFNJKxvwBgd/AoPZHlSWiMNcfG\n8VWIjOnlujaLyPrb5zvzoEnwaatbXaBZJEOE6TTPUFvMpq2q5e5lCPvLhvTci06JStXttsetDRlp\n6zI0SfGTp/wqpbsZGnrlvQA+AOA9RPQagDsBfICILkNjPhwC8K8BwBhzgIjuA/B9AFMAfi8248YV\nUogneezCzY+pKj4BffNqH2lVrZcbGpLiEDshFVLy74NOdBjTPEON6mVyTJrwAOdcxDJEoXNJ6u+Q\nB2mBsT1u7bu57qJFeOaV7FwL915yzpWE2O9cJ5Fr6I0xtzCHv5Jx/t0A7g4ZVKch+QH28ZDm1Zo4\npTSO4+PZCoRAO90uCzF7f/pCK6eghZarre2Py0Hyrrc/8TL+cMcLatXL5PfNNVdfm3fiwBWpAbqd\nlTZ0pX03D72dfe2SHDnnXEkgxJO26DR6UgJhrhDavFrD6ZaQlCfgFhdtubtvy7nY0L7AWmiNX0ih\nFpB+htrGI7ERM0GrCQ0B+nmj3VnF6JWQNLp53rYkR+4SKmwxrYDei9ufkYbe9jikbL8dV3XxpHyb\nV2vALS6SYmRL7qHbvJClGUVvPnAxfrGqe+eqLynX6atW5ZtqaCR+uZ0F19UsZhWsS+hKQtLoanYh\nE/Vp3PHQd1O9GELQS3H7M87Qa7P9XFx1SEi0DVkLQmjzag20NLxu1d+O3f2qiG5aeQjhlgdDkWUP\noZJqw0q2Q6NloWl/QxKws2GgCzlNWE2HQtErVbU9KWoWAinb/+6z5rU1YLYnoTQv7OOhzauTzcEl\ntUyOhscVpWiLqDqN0ApV7vtuvGJpSnBNahEZC5JHSIRC73mW1lESWVTSGOAKyCQf2TfZv+r8d6vP\nTYoVhnrrWvRKVe0Z59Frs/3SOZrjoS3mkgZPKzoVSsObiwKRmMycnftG8eDe0VkvrRWTBVBYPkLy\nCI1JhxVcCsE0z0E7v2L3OLbBOTScZx2ys9r16nH1ucndq0v+q/XZ1j0fG59UFW71UlXtGefRh+jE\naD+rPU/j1bp4vrZmydMvvaXaWbRUA23Z127x/jUl+lmFP0XJ0mrzCS2KbB60+jfa+SV5tbG83SwO\nfqydmnZRso0u995UhMu2b8dHLl/aJpVQqzYkuWNdV6dxxnn0IbFc7Wdjt5jjzonp+Wmbjc8FtPkO\nKTZcZBWwS9NrDbtDm8jUzq8QKqkGncgLZXXNyiMZ2O+NpGbb0qoCTrParlyxCLtePT6btL35/Xpm\nVjeiZw29b6jBJdvP/cbWG1Z76aDHDBlojZ+WiaLVZ8kaj8+1+jKTOOOnrYwE4iXQXCQxQsZlH9fO\nr1AqaR46kQA/ax7fmW2gVnFeTLj7cdY8auu1O1GfThVftXSkbGpmL6EnDX2oFoXGi+aaIIzcvx/b\nP7pmzlkssT2/EPg+i1BmkjYezSFmAs2eS5fd9SS7QA7WKpmt784fGhBbZHLj1eY3YlFJOWxauxR7\nDh9LGc7YCXCp/aZvW077fki0ZBuSDlOviJ/1ZIw+VO9cE/PNCmdovl/bOs0HLp6fJr4vMXs0/XF9\nn0UoM8k+LsXL7bBsVvekGEwZrs1hpSmil9X6bnRsAicnp9o+W0TCT3Ot2nO4BHjM3E7ReQaXRd8O\nvxX9nsdET3r0ISXgWk8yJJxRdCGNS3GQxvPT6rNw8H0WocwkbV4kZjWnBlxYhWtfyHVS4hp8h3qI\nedpM3LVq74fLPPf1fItmDrnkWWzMVcGcD3rS0EuGbuFALVeLQno4dz1yIDURQxC7b6iNkQ0rU2El\noKE74tvnMySn4FuOr/2cdmwh1xDywkr3N/k5bXgAaDQU2fcnaZpvSA7ENtgamWrt/XCR3vZdSF0q\nqH3uEzdvjp08xYaGbAG3ot/zmOhJQy/10fxpwnNyjfkeH9f1kT1rXn60q+hmEQDaYxLMTtblBfPl\ntPvmAWIzk1zOC6nmtL9H07RDir1zsOdIiJGUeO4cktcauylKyEKqnSfcfRp5YD+2PHwAJybqTuJy\nEjvn2jVL2q7T1+HsNHrS0Et9NO2GBZynLskYaDE5lZ8Eip0EtQ3T+OQUK2fMdbUqemvt60kXzUyS\nwBkEqXQ+b2HWNu2oVQm1CrXtwOwGONwcCTGSLp5l8lq1BlxyuOz+uNI4Wr2WY+zU2Ir3aZPr+HF4\n7Lt8O8jHvvtGKpErNTb6yTv11O+O3F9857Q89KShd6Gw2Z56rUKoVUktTWpD8ykXNkKegeUMk4SQ\nrlZFs5i6BTGrObVNO6TYe2s8MWohOEgGO+9atY6K1B/3wb2vpXY0knNl89dDdpua+zFRn8aWhw/k\n3nNtUxxuETp+8hTq9e6rSelJQx8CrosNlyyToMn1S2wEm4erMbAuCpdchW7RW+vWdeS9PD5JwdDf\n5JBXzenyfS68eS72DuRfa0gY0DdBLXnRQFoaWHpnJuozKQPOOVfaXstaaJ/F2ETdy8uXYC9CUktD\nrX0pCmecoQfadW1cdDEG51dzz9EaTs152u13SIVuKIspr/0hV5PAbfldEqC+O5DQas7kAnN2Tc9O\n9s3PhIQBQ8JjtgFz2VnacGkR6JvI9GXPdCtLJjZ60tC7VEFy0DA7pImoETvSGk7NedJYNN3stSGk\nEK9R0/6Qq0mQoHnRO5Hc42AbO5eiHTturUVoUVKssJpv74QWbOdq7eefVEl+a2G/w5QhnWAjhCXj\n29ui0+hJQy9peGigZXZcfMfj3r1FtYZTc55kmLZcv0rl+WpCSNJvtCSOQ+OZLtvWhYoepCE7kNg0\nTC0kAoENKcTlq8oZq3IzlDJoG3Ct5LcvtEYe4MXgNO/+zn2j+Mx9L8z+Vutd5npbbLx0yZwycXrS\n0Gs1KwCd58shpFAjpviZi2Hi2Dm+3X5CY+i+0BQ8DtQq7LMeUIZSfL3cEGPnW8wn8d5tZg/3bGIW\ngoXq+NivjVbyW0JezkeLEDG4zz70XXZBqcDg5xP5nrl6l5LoSUMPtGtWSLrtGs+XQ0iru9hFPhrD\nFMLO4X5j/banolX9LXKgtI4pzpsQKK7S8VjQGDtfqibgxnvXJDJjVm6GNBEH2g14SLhQm/PhMFCr\nYPGCs6KIwXHOBgDUZ5DK98R8l3zRs4beRmxedigXPnaRTx5cwgpcHDRWEREHTmJBguZFL3rbL0Hi\nTb/r7HkYG6+LnqV23oS2IPSl12rAvV8rzhlIqTxmwX6uIe+XS87HxkR9RpV0H75g8Wxo7OcXno3h\nCxZ7/R7QHRW0PWvoNaXnIZirgh4ttIaZg20QQ4qINPFMTWgI0L/o2hiqhKKLw3wba2tJBtpnE7tC\nm9v1acYndUTzTTKHUBU1c0Qb8iLinQv7JzpSKZ+DnjT02tLzUMPcrYVALoaZg72NDiki0sYzuXvp\naxBDGmp0ojjMd95kGfmlVsx3x+6juVpHWk2kuahJcGn9CKQX1xBoFlIp5GUXW73v3AX4Hz8+2fb5\nX7ko7f13Qi48D7mGnoj+CsC1AH5sjPml5rHFAHYAWAHgEICPGWOOExEB+BKADwEYB/A7xpjnYw9a\nehDJlz+r9Jib2K3v7Ubv3YbWMEuwQzchL+zwBYtx7+6jKZZBtSm1m8cy2HP4GN488Q4MgDdPvIM9\nh4+p7nlIQ41OyEL4IisvlAw37Nw3ih3PWQ2+JUc1RxNprmoStPIRIw/sBwxS8fgQaHJs0vtgF1tJ\nt/zQ236NYooEmZwVjoj+BYCfAfhawtD/ewDHjDHbiGgzgEXGmD8iog8B+N/QMPRXAfiSMeaqvEEM\nDw+bPXv2qAd94ebH1N7r0EAttzhK0h3p1p6QWdefNMzHT54S2SnJhNT45BSbLNW8sOu3PaUus0/e\nT0k46hPrlhfask26dwTg4LaNs39Lyf0i54T2N6V7bj8vzXna7woZb+vcWJ24fFGrErbftCb3+UnN\nY7Sw51KRIKK9xpjhvPNyPXpjzN8R0Qrr8IcBfKD5318F8LcA/qh5/GumsXrsIqIhIlpijOFFMTzh\nVHquCFNwiZ1urpjTelKSPK5doi6REgfnV2brCSSvWav3Yt/Pe5892v6h5vEiDX2nZCF8oJUe0CbK\nNWJiGjXLFnxba4ZU1cbEtFLfKrSniW/RV5HwjdGflzDebwI4r/nfSwEk3+DXmseiGvqQZgEume5u\n1JUG9DE/7YIokRKT8cdpY2Y98KQhdll0R8cmcOHmx3D+0EDhDSUkhCouxpwTGkKBi5G0DUyWqFne\nM9PKJW+9YbVXmGYuMAOoxMU0FN8sFM3+8kFwK8Gm9+58aUR0GxHtIaI9b72lqxpsYdPa9hZ5CwQN\nGrv02CWZ08msuAu46996Q8P4Jtu/XX3JuRio5WvzuMD2xEc2rEStqneBWi3XJMRqESdBqlC1j0vP\nPtac0LahczGStoEZ2bCy7flr8jhcwjarYU9ey8GQxbFaobb2iiHQhGRCPfKxiTouvuNxrNj8GC6+\n43F8bueLQd8XA76G/kdEtAQAmv//4+bxUQBJ6sN7m8faYIy5xxgzbIwZPvdcdx2QTWuX4pnN1+Dg\nto14ZvM1uPsjq9sMDtcOj5v8LXW9JDqdFXeFff0A2gzHg3tHceMVS1MLQqjmButxR/RgNMyZEGg9\ndW6exJwT2p65LkbSZlNxDoHqUTF2VRrH8fF67mIVsjhWANx85bLUNYSa/byFKYZHnmQT/fWuI3Nu\n7H1DNw8D+CSAbc3//3bi+O8T0TfRSMaeiB2flxBajar5LMBvt20+sJYBEhOS4Xh0/xtYcNbpx7zx\n0iVt/HUuGZ2FZLz45Kkp7+IV4DR33PW++TJipG5PZ9cqbSwhbfw5JjXRPu7SKIczqHYo6MI7Hss1\nZFwTG22IjstjjGxYqS6YaxvLjMHTL72VCg9JUsBa2Br4Ni27CEnhonNPedDQK+9FI/H6HiJ6DcCd\naBj4+4joUwAOA/hY8/TH0WDc/BANeuXvFjDmOQMXp0yKGgGnV/CDb/0Mh96ecDYAsQ2HTQl7cO8o\nLl++ELtePT5rYG++clkbpz3rpU6+KCHQSgPbCKEESpEhO0GtiT8XQU2029C9owzbaHcbWm/VHpuU\n2+DAzsUAL9kei0RD9QFH6XSpSWmNJ++9KTr3lIdcemUn4Eqv5KClekn0yhmgTXHOpmJJVDQNNLSz\nocEafvZO2kPWUvpcxpZHfXT9Ph+EUBVDKIEu1Ny875PGoRHS087DvPG57kq13nCFgCULT3+/RMGV\nxqWhebrgUA711dU4x0KVCK9s/dDs35LqLRFw/kK3xjYaaOmVwcnYboE25inRK+2Xq6WpnkTIZOXG\nYifkjo/X28Ig3Oc4cDFlCRL10ff7bFQANl8yNFBLJY99J3oII8Yl0Zb3fVm7qLy4NRc/nz+v4mTk\n83I03O9qczQzBqnv0hr5pLx1Kw4e22HYtHYpbrxi6WzivkqE9/3cgqi/ocW6ixal/pZyTC2mU9az\nKRI9KYHAQcMZdi3UsCd3aMMTe4xaRoWvzrqLF2b/Bvd9r5+Y0G39Cbj5/ctScc+rLzkXT7/0Viph\n+LmdL3rlNly0Q+xQ2CkHml/e91WU80Hi39vxc623HdJE3EVgTgO7F64tz1DErpCTT/ghI0WgQehO\n4Ptv/LQttwPkS6hP1Kfx2Ye+i9vv29+R3F7PGnr7BdY2IA55sKFxNttwaBkVvqwFLvHqIqPra4hm\nTKNxdKsimc1t7Hghxd+XePoctHUEIYU6mu9zmQ+h/Ps8KQrtLsdewM+uVZw6ZSUxUKvizuvSMuCX\n3fWkKjlfq1JK2iAL5717fupvFzlnDsl76aLAyeH4eH3W7iRzO8k5LBUuJo2/y/z3QU8aeu4F1jYg\ndtGEGbQaWUhJoAXzq3inPjO7Mq+7aBGeP3IiSkGTttMTd09a9Erbs/ZVjXRJgiWZC9yLKZkWDTtB\ny7Bykm5WxNWl76sSYcaYzF2UZrEeEhhBQwO1tlyBvRsaFFrY5S3gLqEVzT3KYqwkGVY3v78R4tA0\nD5pXTYcQQxbNIauD2YHXf+r9XRw48TOJ6cWhKHZOTxp6Kc6ubUBsi3UdO3mK9Wrmz0tPMMmTvPsj\n+doe3EshMRkGahW8U59x6k4jbd1taloLtjwskC9C5luR7PJiar1kjUKky+9eu2ZJ7gsmfd+MMbPa\nJhIpQKWzfv0qVm1yy/XpWhBbJ2jaGJycnG5rYaf5Xe09Cmnikxxn6/937D4KUPrYeJ1/9nb4NWv3\nnjV7ahXCT09NpVhoRcBmutWqjaIvze6lKHZOTxr6rCRYkjMueUhaTRiuAAXQ8e01hkiq0ly84KyU\n6JQm9qrdunPxzR3PHW2Lq3KLCXf9WS+LxEDIAlcZ61u74JKT0fR01eQGQpQKtZ+VdIJmZkxuiEd7\nTXbsXVtXIjXHtuFae5HSZiK07d4HatW23euKcwZSNOJKhVAvuAsZh/q0abufUr6rqMrwnjT0Gg0P\naSV1CaHYnObYzU00xllrwEPEurjEXIwEYpaRr4AP39ishZD4vssORLMgaHMDRfcxkO5rS+7ZRfZZ\nuiY79s6BezadoPHNGODsCuHn3n22uBC1xpZ0aKan3J2OZDh296HjuaFhCcfH69j3J6dVdCX11qIq\nw3uSXmkLULVg3/T6tMG7zp7XpgnDhSQ4WYSTk1OFUqI0eipazRVtyX5sUTcfSYUqEX5r3XKsvzjd\noGH9xYvbvHLX+H4SHAzMJ3kAAB5uSURBVIVRkk3ReFKSxlAso67Vv8kaq2vpfcg1uTwbLRYN1lJj\nkTDebAnYopeG5Gc4ENL3cvfB420OkcuyYT+zL2xajU+sW56iiBYp0d2TBVOu3NxDCm1oewsqJdW0\nW1oNNEVeIZrf3Nhc7p1Wk9yHrqftAeBa7p73rLO+zzXsAcRtTqItBJO8QQ52QY92zJpzQqQIpB2d\nbeyyfsN+1skxh1i1ooqvfOZXHqLp0XcjXLxSbcyrTRNEmGAcnar1eVdoYrKx8wJsg2uG6qZNILrG\n7VvQ9gAIrV2wITGH7LCf5rlKEgj37zmSig1r+dHaMB3XYUsr+6yRbdC26nQxiLaDJDlSdq4ki4mU\ndV1a1CoNCZDkdRWVpHWdXzHRk4be5WH4GokQEScXxIznalskcmJd3Hnacfny7TnYRi02C4Fb6DiD\npXmuEtMpyct24Ue7FIINX7B41jj9/MKzRS/WdnSkMd9+33784Y4XZo2wps2fFlzMX3Kk7OevZSJp\nQjVcwjZ01+uLTjc26klDr31ZAV2PSO1vSCiyQYlWOIs7j+u3mSXWFUuZMUR0yjZqLt+ledYuOxBf\nCQQOGn50SCGYTa1swU7u5YluZd1r7ZKr4dtrFzXtjjZr3NT8Xu38dXn3F8yvYmhwvtduoJOdtnrS\n0HMP/+pLzsWO546mYr61ansDBZffsCl8UkFHkQ1KtKXtoWwaGyHKjJoXRYrR289rZMPKNo+uAgCE\nlGoo1yxDgr0DkTy4vOfqurPMq1MIKQSbnjGYXyVMJu4nl9yOHQqzIfHtbafBpXBPs+uVrovLUeTB\nxb7YNTRrP/+kWnaEKL92JRZ60tAD7Q9/577RRhFGEgHzmeOb16d5/m6RDUq0cdvYbJqQnqnSi2Jv\nme1zxIlup1kIIKK05q4D/TjE6CThWkCmidGGFIJNWgv780dOYOe+0dT3+Rp5acesISfs3DeaWqxH\nxyawY/fRtti4i6Gzn6FLjsI332VLeXOf3XjpEnWi3JjOxe171tDb2P7Ey20JvvpMQ4HSJ/ygrb4t\nchUG9FtcF+9SswMJUYgE9LmHvHO2P/Fy285kxqBNWJ1rlsFBKxWhea7cgqbVTgmJ0Ybkj1xDYXmL\n4cZLl+QWm215+AD7bib1kFrQ5Jm4anFN6DZ28pzDY9/177NUZNy+bwy9NHl9WTKSQTsxUW+bnBxi\n0e60zaxjs2lcEoNFolM7FUkqIg/cgmbr0Ejepvba7O9bd9EiHDs5qS4ES4YHVpyjN/T2/bA9Wq08\nh6TzYh+X8kzT02aWijk6NsG+D9I+JfmehCTPtaFMbdhGQlFx+5419LYh1VK9tKtmiKELiW/b0Daz\nluK73DFNKXuI+JkWmsWw23YqGnxhU1q90DcHAPC6Ns+8cgzrL16c6mD2xokJSKoCyfCA9joXzM/v\nRfDo/je8w3st2G0pNXkmFyTfk5DkeUgo0wWlBEICIfKzAP/AYxq6mJPCxTBJ4ZJOhjO04OK2I/fv\nbxsvu1NRJnI5uCzgsXZlWjYNB0nXZterx1NJRi2lVWs2a9V00bzLO+diUJOLUBFIjmWgVmHJFBzs\nXVgnHATud2OhJw19aHnzwpxii1BDF3NSdCKEEjucoYEUt93y8AFVwRh3zJc6p6UwSrRW34b0mvFq\nk4wx+6gC7YJ+Lu+cPTftvHknUSHChZsfw/lDA966+4D+PZQKvLTwpYPnoScNfegqau+OYhu6mMZZ\nG6MPQejC5OP5auO2gP9OhUMIhdHelWkrSEPE8LJog0m4NO/WhDntueoiZ2wvmrdetVw9ttjQ1Ado\noHUQuAIvF8R8r5PoSUMfWqY8ZiVMYhu6mPFtbYzeBfZ4pcYIIfkIydj1CjRzQloM7ArSENrcLVct\nU6kcSvOBawSf3KlKDem1Cq8aeiUn2SDVpIRgsFbBogVn4fUxfZtHLbQOgq8kSAsh73UWetLQu1TG\ncmjbbgmNDDSNpIuOb8eODbLduZRyzhx8jd0i4Z5r1TC1u4i8RVgyxJo5IT0DHzkFCZyR5Oh/WWPJ\nE9PS3MsQOePWdWSxWACZJWa/S5LhnKjP4PvNHbgksaCFraUDuFGGNQV5HIqqsu9JQx+yanIGTFr4\nNQ5BaNiHo84l2RSSwfGN0UsVtL6qnL7G7s7rVuEz972QYopUqHE8D9pELreoJReg5Njs9m/vCPHo\n5JxwmXcaAoB0z20jyUEai0aBVGPAuErxG6/w12kKyb1oWEyhu/5r1yxpO+abnB/ZsBK337+flaiw\nURR9uScNPaBfNTUGzE485R1PIsTjlqhzLUi9cENojtK4xsbTjRG0CDF21QphJnFdVUks3oI2kevS\nRNpu/yYhOSdcdpZDg+kmNtqdhRYhzB4NuErxB/eOYviCxUHG3if3orlWbV2J9LzsEEpIiHLP4WMq\nIw90aYyeiA4B+CmAaQBTxphhIloMYAeAFQAOAfiYMeZ42DDzISWjNl7a3gs0Zow6JPEqUeeSiF2N\nG5vF42Lskr/BVbxqq1u1idwitsHJa5CkHuz8TK1K+Nk7U6nCPWln4RviCWH2aFAEj9zXQ9Zcq3TO\n/XuOpJwpyfzacyckH6N5z1vo5hj91caYf0r8vRnA3xhjthHR5ubffxThdzKhTVq6xKivvuRcr4bZ\nWk9KmyzSVuNqIFVGrjjHz9BrjZ19TzrBSw7dvtvQtg20K0hPJhpSt6A1MC7wZfZo0IlckbSjkRYE\nTbgpec7ndr6okqcA9KwjzWLtkhTupcrYDwP4QPO/vwrgb9EBQ6+diNoYtXZr7eJJ2RNWC5v3H4Jd\nr/Kbq3945Zi3kp6PAFRIAlybyA1N2vvmLez74ZIY7LTEhBahO0F77nNVsJyRjLEgtKD1rF1YRxza\nQpQODKBurYw1AJ4kIgPg/zbG3APgPGNMS9nnTQDnBf6GCtqJqI1Rr9/2lHqrqvEuQqp5J+rT0eRM\nsxpL+yrp+XhcIQnwO69b1da+sFaltkSutNuw5WarFUIF7WwPLaMkD9Lc5KiPml3kXCBk5xpSVasN\nGWkWhCxjm8dM8g1RAjJFlkO3Vsb+qjFmlIh+DsB3iOil5D8aY0xzEWgDEd0G4DYAWL58eeAw9BMx\ndEHw3aqGVPOempqJJmeq9S5cdOuTRne24UnO+EIS4C67KHvB4eSsK0CQZG4epLlp0wavvuRc7Nh9\nNJdNNBcIyQG4zP2FA+mktbYpjGZByCo+0zCTWr/jWi/zhU2rcfCtn6nCRl3p0RtjRpv//2Mi+haA\nKwH8iIiWGGPeIKIlAH4sfPYeAPcAjebgIeMA9BNReulsTyokQQu0e7kxY2+SEdYkt1y8C82Y73rk\nAJtUveuRA5lGIDQU4BuPluSsi5R70M7Ny+56UsUmkhCzUbl0HTFrQWzUKoSTk1Mp9pPWa9Y4Ztri\nMwk+IUqg8VyeP3JC9Rtd59ET0QIAFWPMT5v//UEAnwfwMIBPAtjW/P9vxxioBtoEDZCvbx2SoA0V\nXdPAntjaWCZXgDNjjKrfaOt3kvdOkmXNk2t1CQXENGCdEqfygYsshI2Yiqmxoa2q5RqGa+SHs34j\nuSAMX7CYNfTDFyxWXAUPjc1x2dF0o9bNeQC+RQ1jMA/AN4wx/42IngNwHxF9CsBhAB8LH2ZccBz8\nmAnaUNE1DWxettTQ2S4EGtmwsq0AR1I+5LrzxFrAtF5ubAMWql6pGTP3PUUb4U7J6PpAW1XrkrR+\n7LtvpOawRhNqy8MH2O/S7ph84eJEdB2P3hjzKoA1zPG3AfxayKA6jdgJ2ljeYatSdvfB4+meqYQ2\nXrYEuxCIK/KQWCy2d+GygHEl5DZ8vaEQAxaiXjly//6UPLLWYGuvIUQWopt2KtwCufWG1eyimXRW\nXGSE7fukoVeH7JhC4BK6LYpHX8k/pf8hxYV9E7TaOHOL7SFh2hjsPngc9tSfsar7XNAq8hgdm5hl\n2vzsnalG1WACnPFzibVuuT5fykCD2AZs09ql2HrDaiwdajSrWTo0gK03rG4z1FIrSTsf0TLYWdBe\nw53XrWp7DhybiIN2DheN1gKZnF+txfCZzdfg4LaNs7kQ+7wQkbNuWuhsjGxY2fZcJZRaN57w6UEJ\nhDF2pPLrZEs0ADAzBlQhiK2B4G/Qs2B/o7b6Vrr+BfOreKc+Mxvzv/nKZdG2wrEreYGwBtyac+05\np9UrCmG2FC2BoIV29xIa3hyoVZzJE50S0uMwreyUFbNmJom+NvRSD8qk3oWL2uTIhpUsf5tL0Npb\nVa46cgbINPKdxJii+lZawCanZrw0UGxBN06Vca4MmMt2O2lM2MprB70iX2aLtEgA6CgvX+tZh3iu\nFQBTMyZFOa5VCbbPVKtS6h5r6y84hBRuHTt5qm1XLqEgdiXIzFXrlwSGh4fNnj17on+vizyoRuXP\nVk0EGpOuyrzEdjjgws2PqSsy5wqHtm1M/a3ZDXELGJB/P21BtxY+sW55rjZRJ4qIWBldpoVhrUpY\nMH8eTkzUReYIgKh6RSHXwPH3tWPRPAfpnbPng3Renn5+1j22UQGwcLCGsfF6UDLd5bq4e+4CAnDQ\neg8zzyfaa4wZzj2vVw29ZtK5Gte86riQhcPls3OFpKGXjIS9gGX1KrUXjiSkZ+M60WNBy7BJHuOa\ndkiIfV0hRpczpvZz1TbTuXz5Qux69XhKZvv5IydyF5cV5wywBUR203PuurT9cW1w16mFdr6GvueL\nBmtOKrJaQ9+ToRvtNspl+01olwCw2SkuD9DemrJhD4WH+MaJiY5Ed2zOvDbWqm11Z0O6pLlwO6T5\ntPWG1eyupHX967c9pfIsgbhJUe38dxHi+vSOF/DpHS+wxjpLbTNprFsy27ax5mjJ0tgOvT2Ru7N2\n0Y6xx+vL1jq7VgHXc/bsWppOEZpMLcrv7klDLxmhP/7Wi7j9vv0p7+LYyUkvTeqJ+nQqtOC6SmsT\nbdwxrcechJTTtY9L59nVgdpYq7Z5dTfDl8Kpfalj5xS04/WpyLZ7IrTg8jR3vXocr2z90OzfHC05\nRL0zZG75GuJTU3yU3T4eWgVfFNWzJw299LBOTp6eTJJ3wRnXkAfDeeWuibYsYyJ5L0TA+QvToSa7\nA9DZtUrqngANI2+zZLgkqHRf7EItqeu9zcG3QwHzq4RJhomwYH5VvBdFwZeaJ7Fpkr1Li4jHa8cb\nqt7pC3u+uhhXzc7H16OXvl8TBpN21fZxra7R601aqY2u1LqZK7gYZ9u7aMGujHUx9nYsHyiu4YOk\nz3HrVe1Jy01rl6aOSZWG45PTufFiiWFjF2pp+s1KPQBso1OtEO7+SHbLvBiI1XhGsjXz51UL080B\nII7XpuZphbi00C4StrGSFkQbWokRXyOvLYzjwmDaEKWWIqutRo+FnjT0nBGSoLlxLt8HIDNuGxuc\n8t36ixfn9hAF9F45NxG5CcsxbDT9ZmP3qQ1BaHP05CIhzSyNAmcI6tN8GIE7nifE5WJWfsXaHUsJ\nVTsMKC6IVcL0DGZ3lpcvX6iSGFnquAsnQJxf2jCYiyCahiIrLZoFsSt709BzRihkK8R939j4ZFvY\nA9AXV3DQbBE5toOtfPf8kRPYuW80dzJpvXKJD2xPWGmHkNdvVisx0Qm4LDoAMvu8Sii6GpWbl63j\nGs588rlKNFcOXKJUUwshLXzJ0N20MfiHV46pOja5OGZEwMGt8u5VWjDs45wY4C1XLcPwBYu96hQ6\nTUboSUMP8G3CYkqQ2jrrgL64goNmi8idE9JbVOuVa2WPtRWe3L+HVLdqjIkW2kVH+yxszEU1ahKu\nfQs4AybtgrlnaAvkAfp5Y0OboOXmtbS7uPWq7F4XLp61fa12XU039Q+w0bOG3sbwBYvxjWePtDFM\nfCVIN61d2pbcvPn9/qX9mi0id44LO0HT6UnyykfHJjK9V9cKzyRCqlvtBXzamNm/fYy9dtFxeRZA\ndnggNqQEuA2tQ2AbsIvveNyLMgvwjWhCMa/CV/fajp62H2wSLp41V/Hq2z+AiA9pFVUZ2zeGfvsT\nL7dlwGcMvHmzO/eN4sG9o16l/Rw0TIkQdkJobYFdR8B5r1pNHBub1i7F/XuOpF7Ey5cvBJBfni/1\n+bz32aNehl676Lg8C01VdUxsuX5VW4W2BB86YQhllmtEE4r6TH6Ny+sn+Ou054lv32YXiW7NIhzS\nStMHfWPoY6vXxZbH1XiSWUbYrmS0DZN2vFrKXVaiMU8TxwbnbT3zyjH846vHZhdnqQVhbJ6+lhUR\n8ixi6di7XIMovaBIvLeFWpSUWQ7aArIQtBRYW88hy+gm54lrP4W8fg8usMOPEkp6ZQ5iqxzGXjg0\nnqTUPMFmO3AvqzapxBkJl+31kEcyWvLKbYeUa0HoW3mbBQ0rQsuHtp+FVkgvtPEIl1PySbyHspDm\nCtplPjlNXBUzk7uIEHDhRwklvTIHsVUOYy8cGk/y0f1vsJ898PpPc71oF4NoGwmXOgLtPNTQEDnY\nHmFon08ttM0yOG84z/PjQhkhfX85+CbeJRbSYK2CGXOa+njjFfzi6BsK6UThFgDMS0z/UHkCLeZX\nKTUnpLASh5JemYMQLW8ORcjj5nmSIR1wQkIcIxtWqmO+Pv1LQyDR2nxZNxxctW6yPucCTsc+pOWg\nNvGe/F1pzMkmIFJ+yvX6k4WGWee2nBZJJM1lkUjK04RWwWsxOW28dwMlvVIBXy1vwN+jkz7baXqV\nVESibjasdCU0IZOQphJcC0KOwsfB9zn45mNCm2csHEjHz0+e4vv+FpkX0soJhDYPGRqoqdRcucS2\nRklTAyk0qoVNROh2NdoketbQxzSuvh5d1mcB9/ir1AFnwfxqbkItZAey/YmX1UwJjVHw3SKHtCAM\neQ6++RjtdXJCerUK4eTkVKqfb+jv2NDMCZeYsD1Gl3Fdu2ZJ6m9NM+8W8qp7tQWOUj9We4fAPa+B\nWhVbrl/lHfLUIqQgMws92TNW6ku5c9+o1/dleXRFftYG1zO0WiFMTE6nrnXk/v1t17ppra4XKgdX\nnZ88aGK1A7UqPrFueWq82z+6ppA6Bd/xagrBOAwN1NLXddMabP/omtSxd509T724huSF8uaEeseH\n9t2cy7hsI6tp5t1CKw9y4ebHsH7bU7NV4cketHd/ZHVuv90s2ea858W9SyMbVmKglhbhk/a7g7XK\n7P2rEmH9xYtRrbS/674FmXnoSY8+NvUxhGHj8tm8XQiXZzh28hQmlEUZvqEr7fZdu0OQtPffdfa8\nVLefuVB01I43pBDM9vxa0MTPbdQqVCjbJUQ3yuWz9nPQPi/tTk1T4ChV6C4arKn0qzThXalBy79l\nGrvsPngcyTtXpNfdk4Y+NvUxhGEjTR6bhugyYZN/Syp3IbrV9oTNMvKcUqePIFrReQuXZ8i9sDde\nsTRlJCSWSRIh16mN8Wp7jXLQzDkXTv4ihpOv6Y0MtOcjtHIaWqdOU+AoTfNT9XyNIK7id+SB/dh+\n0xp2kbDnEoC2fAxXVevrrOahJw19bOqji0dnG4lTgjdjTyqXCetDV9PChSlhJ9Bc4uAhiXEfSM/Q\nlr3lpB1aPPdYVdC+4+UwPdNeW6CF785346VL2rzSWpVwYqKe4uRzhk7qtWvnI7RyGlqnTnOtkrja\neH0G4wmWDDenuYpfru6DW3B27D6KHc8dVclCFEUBLczQE9FvAPgSgCqAvzTGbIv13bGpj1rPzMVI\n2pNKM2Fdvl+ToOXgwpSwCTaxQ2YxE+rcM+SMOivtIPDc73rkQOb4QhLALoVr2mpT+35K35c35x7c\nO9pWGHb85CmVodPuELRyGlqnTnq/RscmsGLzY6gSYaBWSdFGJXBzWnoG9nG2LsGhF2hRyqeFGHoi\nqgL4TwB+HcBrAJ4jooeNMd+P8f0uW2atMdF4oC5G0n5gmgmr/f5qhTA5NZOr/8Fdq4vHMDbuvlhp\nEZOt1AJXCOYiTGbj+Hg9s6o0dOHThuk0cNqpJcKK0jU8/dJbKU9dGhtnALV8fo2chtapywuFTRuD\n8br+6ft61iEeeZHVx0XF/68E8ENjzKvGmEkA3wTw4Zg/YGfdJSMfk52jfYjcA+My9PZ5Wd+fZAC8\n+6x5bV5CS/8j71pdPAZusdKcp0FMtpKE2Ntge3yxc0VcDUHW8SRcnJBkWDH2NXAImTdaNhn3foXA\nHpv22ThVBxO8WHI+KMrQLwWQFDh5rXmso4htTLR0Ou6BaSas9P2tIpLWoibFGiXd+iS4F6IVL03C\nd7HSYi4NTAiS44u58AENVcqaRbnT1ha43Lfk/Il9DRxC543GqbPfrxBwY9M+G5cFxxjkXlcszFky\nlohuA3AbACxfnt0cwBedEiaT6HQ28sJDsbapSdjXKoW9uGNFsmliJ9Q5uDTHtjtMSeyR5PjmKlfE\nwWVO+FyDVMynKfDpFAsr+X5JmvocNC0ttdeg1RwC3GoYQkGmALU0IvplAFuMMRuaf98BAMaYrdz5\nw8PDZs+ePdHH4VJmrUXRcgfadoNaA9ZprXQtuGsYqFWjb1815fPc72rH1w3yF9J4axUCCG3MFp9r\nkDqubb/Jv8itSEgd5yqUVk0tYs7ZKHKuE9FeY8xw7nkFGfp5AP4/AL8GYBTAcwB+yxhzgDu/KEPf\nKWMyF/A1YN2EuTKS2t/tFiOuRdE6+L12P7gWlLZ0QrfNOVfMqaFvDuBDAP4jGvTKvzLG3C2dW5Sh\nB3pvcobgTLrWEiVKdIGhd0GRhr5EiRIl+hVaQ9+TomYlSpQoUUKP0tCXKFGiRJ+jNPQlSpQo0eco\nDX2JEiVK9DlKQ1+iRIkSfY6uYN0Q0VsADhf8M+8B8E8F/0bRKK+he9AP11FeQ3cg5BouMMa091+0\n0BWGvhMgoj0aGlI3o7yG7kE/XEd5Dd2BTlxDGbopUaJEiT5HaehLlChRos9xJhn6e+Z6ABFQXkP3\noB+uo7yG7kDh13DGxOhLlChR4kzFmeTRlyhRosQZib409ES0jIieJqLvE9EBIvo3zeOLieg7RPQ/\nmv+/aK7HKoGIziai3US0v3kNdzWPX0hEzxLRD4loBxHNn+ux5oGIqkS0j4gebf7dU9dARIeI6EUi\neoGI9jSP9cxcAgAiGiKiB4joJSL6ARH9ci9dAxGtbN7/1v9+QkSf7qVrAAAi+sPm+/w9Irq3+Z4X\n/j70paEHMAXgdmPMLwJYB+D3iOgXAWwG8DfGmF8A8DfNv7sVpwBcY4xZA+AyAL9BROsA/DsAf26M\neR+A4wA+NYdj1OLfAPhB4u9evIarjTGXJWhwvTSXAOBLAP6bMeYSAGvQeB49cw3GmJeb9/8yAFcA\nGAfwLfTQNRDRUgB/AGDYGPNLaEi4fxydeB+MMX3/PwDfBvDrAF4GsKR5bAmAl+d6bMrxDwJ4HsBV\naBRWzGse/2UAT8z1+HLG/l40XsBrADyKRjOsXruGQwDeYx3rmbkEYCGAg2jm5HrxGqxxfxDAM712\nDTjdS3sxGm1cHwWwoRPvQ7969LMgohUA1gJ4FsB5xpg3mv/0JoDz5mhYKjRDHi8A+DGA7wB4BcCY\nMWaqecqcNF13xH8E8H8AmGn+fQ567xoMgCeJaG+z1zHQW3PpQgBvAfjPzRDaXxLRAvTWNSTxcQD3\nNv+7Z67BGDMK4M8AHAHwBoATAPaiA+9DXxt6InoXgAcBfNoY85Pkv5nG8tnVlCNjzLRpbFXfC+BK\nAJfM8ZCcQETXAvixMWbvXI8lEL9qjLkcwG+iEQb8F8l/7IG5NA/A5QC+bIxZC+AkrBBHD1wDAKAZ\nv74ewP32v3X7NTTzBx9GY+E9H8ACAL/Rid/uW0NPRDU0jPzXjTEPNQ//iIiWNP99CRqectfDGDMG\n4Gk0tnVDzZ68QGMBGJ2zgeVjPYDriegQgG+iEb75EnrrGlqeGIwxP0YjLnwlemsuvQbgNWPMs82/\nH0DD8PfSNbTwmwCeN8b8qPl3L13D/wTgoDHmLWNMHcBDaLwjhb8PfWnoiYgAfAXAD4wxX0z808MA\nPtn870+iEbvvShDRuUQ01PzvATRyDD9Aw+Df1Dytq6/BGHOHMea9xpgVaGy3nzLG3IoeugYiWkBE\n7279Nxrx4e+hh+aSMeZNAEeJaGXz0K8B+D566BoSuAWnwzZAb13DEQDriGiwaaNaz6Hw96EvC6aI\n6FcB/L8AXsTp2PBn0YjT3wdgORpqmR8zxhybk0HmgIguBfBVNDLzFQD3GWM+T0QXoeEdLwawD8An\njDGn5m6kOhDRBwD878aYa3vpGppj/Vbzz3kAvmGMuZuIzkGPzCUAIKLLAPwlgPkAXgXwu2jOK/TO\nNSxAw1heZIw50TzWa8/hLgA3o8EM3Afgf0EjJl/o+9CXhr5EiRIlSpxGX4ZuSpQoUaLEaZSGvkSJ\nEiX6HKWhL1GiRIk+R2noS5QoUaLPURr6EiVKlOhzlIa+RIkSJfocpaEvUaJEiT5HaehLlChRos/x\n/wPwcpXQ5++hQgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Np5FwPKnRL_B", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "bbf0c66c-303e-4d9b-ceea-0bbe71060ef7" + }, + "source": [ + "plt.scatter(df['age'], df['weight'])\n", + "# Curiously, there's a less distinct relationship between age and weight.\n", + "# There's a slight increase starting around 60, but nothing as stark as previous 2 graphs." + ], + "execution_count": 82, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 82 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n2wpE3LU2tdUAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "JueFNnm55HwO", + "colab_type": "code", + "colab": {} + }, + "source": [ + "pd.crosstab?" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Ix55K8bk6UD9", + "colab_type": "code", + "colab": {} + }, + "source": [ + "pd.cut?" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "lOtYpPvN7xQ4", + "colab_type": "code", + "colab": {} + }, + "source": [ + "#!pip install pandas==0.23.4" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "VUY5v2bZ6Fgc", + "colab_type": "code", + "colab": {} + }, + "source": [ + "# Create bins for all features\n", + "age_bins = pd.cut(df['age'], 5, precision=0)\n", + "weight_bins = pd.cut(df['weight'], 5, precision=0)\n", + "exercise_bins = pd.cut(df['exercise_time'], 5, precision=0)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Uy0aD6cY5zZ1", + "colab_type": "code", + "outputId": "71a2903f-60f4-4f6a-f860-667e9181b3af", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233 + } + }, + "source": [ + "# People seem to get heavier as they get older\n", + "weight_age_ct = pd.crosstab(age_bins, weight_bins, normalize='columns')\n", + "weight_age_ct" + ], + "execution_count": 87, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weight(100.0, 129.0](129.0, 158.0](158.0, 188.0](188.0, 217.0](217.0, 246.0]
age
(18.0, 30.0]0.2133330.2567160.1899220.1899440.132075
(30.0, 43.0]0.2773330.1850750.1899220.1731840.132075
(43.0, 55.0]0.2080000.1850750.1899220.1452510.150943
(55.0, 68.0]0.1413330.2119400.1744190.2458100.169811
(68.0, 80.0]0.1600000.1611940.2558140.2458100.415094
\n", + "
" + ], + "text/plain": [ + "weight (100.0, 129.0] ... (217.0, 246.0]\n", + "age ... \n", + "(18.0, 30.0] 0.213333 ... 0.132075\n", + "(30.0, 43.0] 0.277333 ... 0.132075\n", + "(43.0, 55.0] 0.208000 ... 0.150943\n", + "(55.0, 68.0] 0.141333 ... 0.169811\n", + "(68.0, 80.0] 0.160000 ... 0.415094\n", + "\n", + "[5 rows x 5 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 87 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "qF81QhyWPL-m", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 291 + }, + "outputId": "a48b4c9d-4e77-43d4-b94c-3a3de9b68549" + }, + "source": [ + "weight_age_ct.plot()" + ], + "execution_count": 88, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 88 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "trhIwav9O91C", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233 + }, + "outputId": "911df390-4e29-4d59-c898-6cb919d0c036" + }, + "source": [ + "pd.crosstab(age_bins, exercise_bins, normalize='columns')" + ], + "execution_count": 67, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
exercise_time(-0.0, 60.0](60.0, 120.0](120.0, 180.0](180.0, 240.0](240.0, 300.0]
age
(18.0, 30.0]0.1870500.1455700.2421520.3177080.225131
(30.0, 43.0]0.1870500.1740510.1883410.2447920.298429
(43.0, 55.0]0.1474820.1329110.1748880.1770830.350785
(55.0, 68.0]0.1654680.2246840.1793720.2135420.125654
(68.0, 80.0]0.3129500.3227850.2152470.0468750.000000
\n", + "
" + ], + "text/plain": [ + "exercise_time (-0.0, 60.0] ... (240.0, 300.0]\n", + "age ... \n", + "(18.0, 30.0] 0.187050 ... 0.225131\n", + "(30.0, 43.0] 0.187050 ... 0.298429\n", + "(43.0, 55.0] 0.147482 ... 0.350785\n", + "(55.0, 68.0] 0.165468 ... 0.125654\n", + "(68.0, 80.0] 0.312950 ... 0.000000\n", + "\n", + "[5 rows x 5 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 67 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "pJN-2_qYD3n8", + "colab_type": "code", + "outputId": "7220bf25-7201-4453-8fdf-0bcdabf53c2f", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 301 + } + }, + "source": [ + "# Looks like nobody in the highest age bin exercised 4-5 hours?\n", + "ct = pd.crosstab(exercise_bins, [age_bins, weight_bins], normalize='index')\n", + "ct" + ], + "execution_count": 59, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
age(18.0, 30.0](30.0, 43.0](43.0, 55.0](55.0, 68.0](68.0, 80.0]
weight(100.0, 129.0](129.0, 158.0](158.0, 188.0](188.0, 217.0](217.0, 246.0](100.0, 129.0](129.0, 158.0](158.0, 188.0](188.0, 217.0](217.0, 246.0](100.0, 129.0](129.0, 158.0](158.0, 188.0](188.0, 217.0](217.0, 246.0](100.0, 129.0](129.0, 158.0](158.0, 188.0](188.0, 217.0](217.0, 246.0](100.0, 129.0](129.0, 158.0](158.0, 188.0](188.0, 217.0](217.0, 246.0]
exercise_time
(-0.0, 60.0]0.0359710.0251800.0395680.0611510.025180.0287770.0359710.0359710.0611510.025180.0251800.0251800.0395680.0323740.0251800.0251800.0215830.0359710.0539570.0287770.0755400.0503600.0683450.0647480.053957
(60.0, 120.0]0.0284810.0474680.0379750.0316460.000000.0601270.0253160.0506330.0379750.000000.0189870.0284810.0443040.0379750.0031650.0316460.0632910.0601270.0664560.0031650.0664560.0759490.1012660.0569620.022152
(120.0, 180.0]0.0762330.0896860.0448430.0313900.000000.0852020.0358740.0582960.0089690.000000.0403590.0582960.0538120.0224220.0000000.0582960.0627800.0269060.0313900.0000000.0582960.0538120.0672650.0358740.000000
(180.0, 240.0]0.0989580.1510420.0677080.0000000.000000.1302080.0781250.0364580.0000000.000000.0937500.0364580.0468750.0000000.0000000.0625000.0989580.0468750.0052080.0000000.0260420.0208330.0000000.0000000.000000
(240.0, 300.0]0.1308900.0785340.0157070.0000000.000000.1727750.1099480.0157070.0000000.000000.1989530.1361260.0157070.0000000.0000000.0575920.0628270.0052360.0000000.0000000.0000000.0000000.0000000.0000000.000000
\n", + "
" + ], + "text/plain": [ + "age (18.0, 30.0] ... (68.0, 80.0]\n", + "weight (100.0, 129.0] ... (217.0, 246.0]\n", + "exercise_time ... \n", + "(-0.0, 60.0] 0.035971 ... 0.053957\n", + "(60.0, 120.0] 0.028481 ... 0.022152\n", + "(120.0, 180.0] 0.076233 ... 0.000000\n", + "(180.0, 240.0] 0.098958 ... 0.000000\n", + "(240.0, 300.0] 0.130890 ... 0.000000\n", + "\n", + "[5 rows x 25 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 59 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "wG-8EGsCLv_w", + "colab_type": "code", + "colab": {} + }, + "source": [ + "# Create subsets\n", + "ct_youngest = ct.iloc[:, [0,1,2,3,4]]\n", + "ct_second_young = ct.iloc[:, [5,6,7,8,9]]\n", + "ct_middle_age = ct.iloc[:, [10,11,12,13,14]]\n", + "ct_second_old = ct.iloc[:, [15,16,17,18,19]]\n", + "ct_oldest = ct.iloc[:, [20,21,22,23,24]]" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "UQ4xJ3PcIBbF", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 292 + }, + "outputId": "1dc735b9-d060-4981-f697-4a8930096369" + }, + "source": [ + "ct_young.plot()\n", + "# Among the youngest cohort, only the very lowest exercisers are in the highest weight bracket.\n", + "# As exercise time increases, chance of being in two lowest weight brackets increases." + ], + "execution_count": 64, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 64 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n6SuKoniR/w82yXShAaTLAAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Fdr5cGldNzDx", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 292 + }, + "outputId": "9fe64ffa-77e3-4a29-a606-a13a87335770" + }, + "source": [ + "ct_oldest.plot()\n", + "# This may be deceptive because older people just tend to exercise less in general." + ], + "execution_count": 66, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 66 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n0B1ZwDvzAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BT9gdS7viJZa", + "colab_type": "text" + }, + "source": [ + "### Assignment questions\n", + "\n", + "After you've worked on some code, answer the following questions in this text block:\n", + "\n", + "1. What are the variable types in the data?\n", + "\n", + "The variables are continuous.\n", + "\n", + "2. What are the relationships between the variables?\n", + "\n", + "Exercise time decreases as age increases. Weight decreases as exercise time increases.\n", + "\n", + "3. Which relationships are \"real\", and which spurious?\n", + "\n", + "There sometimes appears to be a relationship between age and weight, and sometimes not, in the crosstables and corresponding graphs. But a scatter plot shows no relationship, so it seems like there's no relationship." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_XXg2crAipwP", + "colab_type": "text" + }, + "source": [ + "## Stretch goals and resources\n", + "\n", + "Following are *optional* things for you to take a look at. Focus on the above assignment first, and make sure to commit and push your changes to GitHub.\n", + "\n", + "- [Spurious Correlations](http://tylervigen.com/spurious-correlations)\n", + "- [NIH on controlling for confounding variables](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4017459/)\n", + "\n", + "Stretch goals:\n", + "\n", + "- Produce your own plot inspired by the Spurious Correlation visualizations (and consider writing a blog post about it - both the content and how you made it)\n", + "- Pick one of the techniques that NIH highlights for confounding variables - we'll be going into many of them later, but see if you can find which Python modules may help (hint - check scikit-learn)" + ] + } + ] +} \ No newline at end of file From 1b47e5cebfd8b2e1806038379f9c89d40ca51a66 Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Thu, 12 Sep 2019 23:29:03 -0400 Subject: [PATCH 6/9] Ben Whitman Assignment 4 --- .../LS_DS_114_Make_Features_Assignment.ipynb | 12223 +++++++++++++++- 1 file changed, 12220 insertions(+), 3 deletions(-) diff --git a/module4-makefeatures/LS_DS_114_Make_Features_Assignment.ipynb b/module4-makefeatures/LS_DS_114_Make_Features_Assignment.ipynb index adf6cb92..bb58d3e2 100644 --- a/module4-makefeatures/LS_DS_114_Make_Features_Assignment.ipynb +++ b/module4-makefeatures/LS_DS_114_Make_Features_Assignment.ipynb @@ -6,7 +6,10 @@ "name": "LS_DS_114_Make_Features_Assignment.ipynb", "version": "0.3.2", "provenance": [], - "collapsed_sections": [] + "collapsed_sections": [ + "e9240Lt4h6rI" + ], + "include_colab_link": true }, "kernelspec": { "display_name": "Python 3", @@ -27,6 +30,16 @@ } }, "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, { "cell_type": "markdown", "metadata": { @@ -56,6 +69,16 @@ "- Make `last_pymnt_d_month` and `last_pymnt_d_year` columns." ] }, + { + "cell_type": "markdown", + "metadata": { + "id": "e9240Lt4h6rI", + "colab_type": "text" + }, + "source": [ + "# Weather Dataset" + ] + }, { "cell_type": "code", "metadata": { @@ -64,11 +87,12205 @@ "colab": {} }, "source": [ - "##### Begin Working Here #####" + "import pandas as pd\n", + "import numpy as np" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "rj1qjHciVKik", + "colab_type": "code", + "colab": {} + }, + "source": [ + "url = 'https://raw.githubusercontent.com/jvns/pandas-cookbook/master/data/weather_2012.csv'" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "GkaBzaznVbrh", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 202 + }, + "outputId": "0ec19261-fd9c-4cbd-a29e-33082aa425a4" + }, + "source": [ + "df_weather = pd.read_csv(url, parse_dates=True) #, index_col='Date/Time')\n", + "df_weather.head()" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Date/TimeTemp (C)Dew Point Temp (C)Rel Hum (%)Wind Spd (km/h)Visibility (km)Stn Press (kPa)Weather
02012-01-01 00:00:00-1.8-3.98648.0101.24Fog
12012-01-01 01:00:00-1.8-3.78748.0101.24Fog
22012-01-01 02:00:00-1.8-3.48974.0101.26Freezing Drizzle,Fog
32012-01-01 03:00:00-1.5-3.28864.0101.27Freezing Drizzle,Fog
42012-01-01 04:00:00-1.5-3.38874.8101.23Fog
\n", + "
" + ], + "text/plain": [ + " Date/Time Temp (C) ... Stn Press (kPa) Weather\n", + "0 2012-01-01 00:00:00 -1.8 ... 101.24 Fog\n", + "1 2012-01-01 01:00:00 -1.8 ... 101.24 Fog\n", + "2 2012-01-01 02:00:00 -1.8 ... 101.26 Freezing Drizzle,Fog\n", + "3 2012-01-01 03:00:00 -1.5 ... 101.27 Freezing Drizzle,Fog\n", + "4 2012-01-01 04:00:00 -1.5 ... 101.23 Fog\n", + "\n", + "[5 rows x 8 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 5 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "vXDSbf2DV9k9", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df_weather['Date/Time'] = pd.to_datetime(df_weather['Date/Time'])" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "htGzAKIjWKzC", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "463fce31-85cc-4dcf-f9cb-529bfab8057c" + }, + "source": [ + "df_weather.set_index('Date/Time')" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Temp (C)Dew Point Temp (C)Rel Hum (%)Wind Spd (km/h)Visibility (km)Stn Press (kPa)Weather
Date/Time
2012-01-01 00:00:00-1.8-3.98648.0101.24Fog
2012-01-01 01:00:00-1.8-3.78748.0101.24Fog
2012-01-01 02:00:00-1.8-3.48974.0101.26Freezing Drizzle,Fog
2012-01-01 03:00:00-1.5-3.28864.0101.27Freezing Drizzle,Fog
2012-01-01 04:00:00-1.5-3.38874.8101.23Fog
2012-01-01 05:00:00-1.4-3.38796.4101.27Fog
2012-01-01 06:00:00-1.5-3.18976.4101.29Fog
2012-01-01 07:00:00-1.4-3.68578.0101.26Fog
2012-01-01 08:00:00-1.4-3.68598.0101.23Fog
2012-01-01 09:00:00-1.3-3.188154.0101.20Fog
2012-01-01 10:00:00-1.0-2.39191.2101.15Fog
2012-01-01 11:00:00-0.5-2.18974.0100.98Fog
2012-01-01 12:00:00-0.2-2.08894.8100.79Fog
2012-01-01 13:00:000.2-1.787134.8100.58Fog
2012-01-01 14:00:000.8-1.187204.8100.31Fog
2012-01-01 15:00:001.8-0.485226.4100.07Fog
2012-01-01 16:00:002.6-0.2821312.999.93Mostly Cloudy
2012-01-01 17:00:003.00.0811316.199.81Cloudy
2012-01-01 18:00:003.81.0821512.999.74Rain
2012-01-01 19:00:003.11.3881512.999.68Rain
2012-01-01 20:00:003.21.3871925.099.50Cloudy
2012-01-01 21:00:004.01.7852025.099.39Cloudy
2012-01-01 22:00:004.41.9842419.399.32Rain Showers
2012-01-01 23:00:005.32.0793025.099.31Cloudy
2012-01-02 00:00:005.21.5773525.099.26Rain Showers
2012-01-02 01:00:004.60.0723925.099.26Cloudy
2012-01-02 02:00:003.9-0.9713225.099.26Mostly Cloudy
2012-01-02 03:00:003.7-1.5693325.099.30Mostly Cloudy
2012-01-02 04:00:002.9-2.3693225.099.26Mostly Cloudy
2012-01-02 05:00:002.6-2.3703225.099.21Mostly Cloudy
........................
2012-12-30 18:00:00-12.6-16.0762425.0101.36Mainly Clear
2012-12-30 19:00:00-13.4-16.5772625.0101.47Mainly Clear
2012-12-30 20:00:00-13.8-16.5802425.0101.52Clear
2012-12-30 21:00:00-13.8-16.5802025.0101.50Mainly Clear
2012-12-30 22:00:00-13.7-16.3811925.0101.54Mainly Clear
2012-12-30 23:00:00-12.1-15.1782825.0101.52Mostly Cloudy
2012-12-31 00:00:00-11.1-14.4772625.0101.51Cloudy
2012-12-31 01:00:00-10.7-14.0771525.0101.50Cloudy
2012-12-31 02:00:00-10.1-13.477925.0101.45Cloudy
2012-12-31 03:00:00-11.8-14.481625.0101.42Mostly Cloudy
2012-12-31 04:00:00-10.5-12.8831125.0101.34Cloudy
2012-12-31 05:00:00-10.2-12.484625.0101.28Cloudy
2012-12-31 06:00:00-9.7-11.785425.0101.23Cloudy
2012-12-31 07:00:00-9.3-11.385019.3101.19Snow Showers
2012-12-31 08:00:00-8.6-10.38743.2101.14Snow Showers
2012-12-31 09:00:00-8.1-9.68942.4101.09Snow
2012-12-31 10:00:00-7.4-8.98946.4101.05Snow,Fog
2012-12-31 11:00:00-6.7-7.99199.7100.93Snow
2012-12-31 12:00:00-5.8-7.588412.9100.78Snow
2012-12-31 13:00:00-4.6-6.686412.9100.63Snow
2012-12-31 14:00:00-3.4-5.784611.3100.57Snow
2012-12-31 15:00:00-2.3-4.68499.7100.47Snow
2012-12-31 16:00:00-1.4-4.0821312.9100.40Snow
2012-12-31 17:00:00-1.1-3.385199.7100.30Snow
2012-12-31 18:00:00-1.3-3.188179.7100.19Snow
2012-12-31 19:00:000.1-2.781309.7100.13Snow
2012-12-31 20:00:000.2-2.483249.7100.03Snow
2012-12-31 21:00:00-0.5-1.593284.899.95Snow
2012-12-31 22:00:00-0.2-1.889289.799.91Snow
2012-12-31 23:00:000.0-2.1863011.399.89Snow
\n", + "

8784 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " Temp (C) ... Weather\n", + "Date/Time ... \n", + "2012-01-01 00:00:00 -1.8 ... Fog\n", + "2012-01-01 01:00:00 -1.8 ... Fog\n", + "2012-01-01 02:00:00 -1.8 ... Freezing Drizzle,Fog\n", + "2012-01-01 03:00:00 -1.5 ... Freezing Drizzle,Fog\n", + "2012-01-01 04:00:00 -1.5 ... Fog\n", + "2012-01-01 05:00:00 -1.4 ... Fog\n", + "2012-01-01 06:00:00 -1.5 ... Fog\n", + "2012-01-01 07:00:00 -1.4 ... Fog\n", + "2012-01-01 08:00:00 -1.4 ... Fog\n", + "2012-01-01 09:00:00 -1.3 ... Fog\n", + "2012-01-01 10:00:00 -1.0 ... Fog\n", + "2012-01-01 11:00:00 -0.5 ... Fog\n", + "2012-01-01 12:00:00 -0.2 ... Fog\n", + "2012-01-01 13:00:00 0.2 ... Fog\n", + "2012-01-01 14:00:00 0.8 ... Fog\n", + "2012-01-01 15:00:00 1.8 ... Fog\n", + "2012-01-01 16:00:00 2.6 ... Mostly Cloudy\n", + "2012-01-01 17:00:00 3.0 ... Cloudy\n", + "2012-01-01 18:00:00 3.8 ... Rain\n", + "2012-01-01 19:00:00 3.1 ... Rain\n", + "2012-01-01 20:00:00 3.2 ... Cloudy\n", + "2012-01-01 21:00:00 4.0 ... Cloudy\n", + "2012-01-01 22:00:00 4.4 ... Rain Showers\n", + "2012-01-01 23:00:00 5.3 ... Cloudy\n", + "2012-01-02 00:00:00 5.2 ... Rain Showers\n", + "2012-01-02 01:00:00 4.6 ... Cloudy\n", + "2012-01-02 02:00:00 3.9 ... Mostly Cloudy\n", + "2012-01-02 03:00:00 3.7 ... Mostly Cloudy\n", + "2012-01-02 04:00:00 2.9 ... Mostly Cloudy\n", + "2012-01-02 05:00:00 2.6 ... Mostly Cloudy\n", + "... ... ... ...\n", + "2012-12-30 18:00:00 -12.6 ... Mainly Clear\n", + "2012-12-30 19:00:00 -13.4 ... Mainly Clear\n", + "2012-12-30 20:00:00 -13.8 ... Clear\n", + "2012-12-30 21:00:00 -13.8 ... Mainly Clear\n", + "2012-12-30 22:00:00 -13.7 ... Mainly Clear\n", + "2012-12-30 23:00:00 -12.1 ... Mostly Cloudy\n", + "2012-12-31 00:00:00 -11.1 ... Cloudy\n", + "2012-12-31 01:00:00 -10.7 ... Cloudy\n", + "2012-12-31 02:00:00 -10.1 ... Cloudy\n", + "2012-12-31 03:00:00 -11.8 ... Mostly Cloudy\n", + "2012-12-31 04:00:00 -10.5 ... Cloudy\n", + "2012-12-31 05:00:00 -10.2 ... Cloudy\n", + "2012-12-31 06:00:00 -9.7 ... Cloudy\n", + "2012-12-31 07:00:00 -9.3 ... Snow Showers\n", + "2012-12-31 08:00:00 -8.6 ... Snow Showers\n", + "2012-12-31 09:00:00 -8.1 ... Snow\n", + "2012-12-31 10:00:00 -7.4 ... Snow,Fog\n", + "2012-12-31 11:00:00 -6.7 ... Snow\n", + "2012-12-31 12:00:00 -5.8 ... Snow\n", + "2012-12-31 13:00:00 -4.6 ... Snow\n", + "2012-12-31 14:00:00 -3.4 ... Snow\n", + "2012-12-31 15:00:00 -2.3 ... Snow\n", + "2012-12-31 16:00:00 -1.4 ... Snow\n", + "2012-12-31 17:00:00 -1.1 ... Snow\n", + "2012-12-31 18:00:00 -1.3 ... Snow\n", + "2012-12-31 19:00:00 0.1 ... Snow\n", + "2012-12-31 20:00:00 0.2 ... Snow\n", + "2012-12-31 21:00:00 -0.5 ... Snow\n", + "2012-12-31 22:00:00 -0.2 ... Snow\n", + "2012-12-31 23:00:00 0.0 ... Snow\n", + "\n", + "[8784 rows x 7 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 7 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Uqf8d7d3WS-Q", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "ecaa74b3-a5f8-4b25-f717-4d109dcc7be2" + }, + "source": [ + "df_weather['Weather'].str.contains('Snow')" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 False\n", + "1 False\n", + "2 False\n", + "3 False\n", + "4 False\n", + "5 False\n", + "6 False\n", + "7 False\n", + "8 False\n", + "9 False\n", + "10 False\n", + "11 False\n", + "12 False\n", + "13 False\n", + "14 False\n", + "15 False\n", + "16 False\n", + "17 False\n", + "18 False\n", + "19 False\n", + "20 False\n", + "21 False\n", + "22 False\n", + "23 False\n", + "24 False\n", + "25 False\n", + "26 False\n", + "27 False\n", + "28 False\n", + "29 False\n", + " ... \n", + "8754 False\n", + "8755 False\n", + "8756 False\n", + "8757 False\n", + "8758 False\n", + "8759 False\n", + "8760 False\n", + "8761 False\n", + "8762 False\n", + "8763 False\n", + "8764 False\n", + "8765 False\n", + "8766 False\n", + "8767 True\n", + "8768 True\n", + "8769 True\n", + "8770 True\n", + "8771 True\n", + "8772 True\n", + "8773 True\n", + "8774 True\n", + "8775 True\n", + "8776 True\n", + "8777 True\n", + "8778 True\n", + "8779 True\n", + "8780 True\n", + "8781 True\n", + "8782 True\n", + "8783 True\n", + "Name: Weather, Length: 8784, dtype: bool" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "DI4vt5lTWmwN", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "f4a1ffa5-569a-489c-e432-acc6843c90b8" + }, + "source": [ + "df_weather['Weather'].str.contains('Rain')" + ], + "execution_count": 9, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 False\n", + "1 False\n", + "2 False\n", + "3 False\n", + "4 False\n", + "5 False\n", + "6 False\n", + "7 False\n", + "8 False\n", + "9 False\n", + "10 False\n", + "11 False\n", + "12 False\n", + "13 False\n", + "14 False\n", + "15 False\n", + "16 False\n", + "17 False\n", + "18 True\n", + "19 True\n", + "20 False\n", + "21 False\n", + "22 True\n", + "23 False\n", + "24 True\n", + "25 False\n", + "26 False\n", + "27 False\n", + "28 False\n", + "29 False\n", + " ... \n", + "8754 False\n", + "8755 False\n", + "8756 False\n", + "8757 False\n", + "8758 False\n", + "8759 False\n", + "8760 False\n", + "8761 False\n", + "8762 False\n", + "8763 False\n", + "8764 False\n", + "8765 False\n", + "8766 False\n", + "8767 False\n", + "8768 False\n", + "8769 False\n", + "8770 False\n", + "8771 False\n", + "8772 False\n", + "8773 False\n", + "8774 False\n", + "8775 False\n", + "8776 False\n", + "8777 False\n", + "8778 False\n", + "8779 False\n", + "8780 False\n", + "8781 False\n", + "8782 False\n", + "8783 False\n", + "Name: Weather, Length: 8784, dtype: bool" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 9 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Aweq95dZWvO9", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "b4cc863a-2000-438e-ce05-d9c488cad296" + }, + "source": [ + "is_precipitation = df_weather['Weather'].str.contains('Snow') | df_weather['Weather'].str.contains('Rain')\n", + "is_precipitation" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 False\n", + "1 False\n", + "2 False\n", + "3 False\n", + "4 False\n", + "5 False\n", + "6 False\n", + "7 False\n", + "8 False\n", + "9 False\n", + "10 False\n", + "11 False\n", + "12 False\n", + "13 False\n", + "14 False\n", + "15 False\n", + "16 False\n", + "17 False\n", + "18 True\n", + "19 True\n", + "20 False\n", + "21 False\n", + "22 True\n", + "23 False\n", + "24 True\n", + "25 False\n", + "26 False\n", + "27 False\n", + "28 False\n", + "29 False\n", + " ... \n", + "8754 False\n", + "8755 False\n", + "8756 False\n", + "8757 False\n", + "8758 False\n", + "8759 False\n", + "8760 False\n", + "8761 False\n", + "8762 False\n", + "8763 False\n", + "8764 False\n", + "8765 False\n", + "8766 False\n", + "8767 True\n", + "8768 True\n", + "8769 True\n", + "8770 True\n", + "8771 True\n", + "8772 True\n", + "8773 True\n", + "8774 True\n", + "8775 True\n", + "8776 True\n", + "8777 True\n", + "8778 True\n", + "8779 True\n", + "8780 True\n", + "8781 True\n", + "8782 True\n", + "8783 True\n", + "Name: Weather, Length: 8784, dtype: bool" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 10 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "DKWSzh6lW_Ir", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 306 + }, + "outputId": "22a3de8a-41ca-4a86-ccef-1c910d7d4cdd" + }, + "source": [ + "df_weather['is_precipitation'] = is_precipitation\n", + "df_weather.head()" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Date/TimeTemp (C)Dew Point Temp (C)Rel Hum (%)Wind Spd (km/h)Visibility (km)Stn Press (kPa)Weatheris_precipitation
02012-01-01 00:00:00-1.8-3.98648.0101.24FogFalse
12012-01-01 01:00:00-1.8-3.78748.0101.24FogFalse
22012-01-01 02:00:00-1.8-3.48974.0101.26Freezing Drizzle,FogFalse
32012-01-01 03:00:00-1.5-3.28864.0101.27Freezing Drizzle,FogFalse
42012-01-01 04:00:00-1.5-3.38874.8101.23FogFalse
\n", + "
" + ], + "text/plain": [ + " Date/Time Temp (C) ... Weather is_precipitation\n", + "0 2012-01-01 00:00:00 -1.8 ... Fog False\n", + "1 2012-01-01 01:00:00 -1.8 ... Fog False\n", + "2 2012-01-01 02:00:00 -1.8 ... Freezing Drizzle,Fog False\n", + "3 2012-01-01 03:00:00 -1.5 ... Freezing Drizzle,Fog False\n", + "4 2012-01-01 04:00:00 -1.5 ... Fog False\n", + "\n", + "[5 rows x 9 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 12 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "W-HLzNjeXJDf", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 306 + }, + "outputId": "a0594b8b-746a-40eb-95da-34250f8a95f3" + }, + "source": [ + "df_weather['visibility (mi)'] = df_weather['Visibility (km)']*0.621\n", + "df_weather.head()" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Date/TimeTemp (C)Dew Point Temp (C)Rel Hum (%)Wind Spd (km/h)Visibility (km)Stn Press (kPa)Weatheris_precipitationvisibility (mi)
02012-01-01 00:00:00-1.8-3.98648.0101.24FogFalse4.9680
12012-01-01 01:00:00-1.8-3.78748.0101.24FogFalse4.9680
22012-01-01 02:00:00-1.8-3.48974.0101.26Freezing Drizzle,FogFalse2.4840
32012-01-01 03:00:00-1.5-3.28864.0101.27Freezing Drizzle,FogFalse2.4840
42012-01-01 04:00:00-1.5-3.38874.8101.23FogFalse2.9808
\n", + "
" + ], + "text/plain": [ + " Date/Time Temp (C) ... is_precipitation visibility (mi)\n", + "0 2012-01-01 00:00:00 -1.8 ... False 4.9680\n", + "1 2012-01-01 01:00:00 -1.8 ... False 4.9680\n", + "2 2012-01-01 02:00:00 -1.8 ... False 2.4840\n", + "3 2012-01-01 03:00:00 -1.5 ... False 2.4840\n", + "4 2012-01-01 04:00:00 -1.5 ... False 2.9808\n", + "\n", + "[5 rows x 10 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 13 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0ZGBxJ_DXlLh", + "colab_type": "text" + }, + "source": [ + "# Lending Club Data" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9Fv_aNMniGBK", + "colab_type": "text" + }, + "source": [ + "## Get Data" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "DyFN4nuZXkbd", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 208 + }, + "outputId": "e019440c-51c7-45b2-c5b2-e50b323dc922" + }, + "source": [ + "!wget https://resources.lendingclub.com/LoanStats_2018Q4.csv.zip" + ], + "execution_count": 14, + "outputs": [ + { + "output_type": "stream", + "text": [ + "--2019-09-13 02:07:39-- https://resources.lendingclub.com/LoanStats_2018Q4.csv.zip\n", + "Resolving resources.lendingclub.com (resources.lendingclub.com)... 64.48.1.20\n", + "Connecting to resources.lendingclub.com (resources.lendingclub.com)|64.48.1.20|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: unspecified [application/zip]\n", + "Saving to: ‘LoanStats_2018Q4.csv.zip’\n", + "\n", + "LoanStats_2018Q4.cs [ <=> ] 21.58M 434KB/s in 50s \n", + "\n", + "2019-09-13 02:08:30 (438 KB/s) - ‘LoanStats_2018Q4.csv.zip’ saved [22631049]\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "FSYY1EgMYX-m", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 52 + }, + "outputId": "3d3a6b6d-87b5-43fe-9f03-bfbb0f96340f" + }, + "source": [ + "!unzip LoanStats_2018Q4.csv.zip" + ], + "execution_count": 15, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Archive: LoanStats_2018Q4.csv.zip\n", + " inflating: LoanStats_2018Q4.csv \n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "KYn74a1PYekG", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 211 + }, + "outputId": "ed396edd-8b60-485e-e4ec-5134b8cf6c67" + }, + "source": [ + "!head LoanStats_2018Q4.csv" + ], + "execution_count": 16, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Notes offered by Prospectus (https://www.lendingclub.com/info/prospectus.action)\n", + "\"id\",\"member_id\",\"loan_amnt\",\"funded_amnt\",\"funded_amnt_inv\",\"term\",\"int_rate\",\"installment\",\"grade\",\"sub_grade\",\"emp_title\",\"emp_length\",\"home_ownership\",\"annual_inc\",\"verification_status\",\"issue_d\",\"loan_status\",\"pymnt_plan\",\"url\",\"desc\",\"purpose\",\"title\",\"zip_code\",\"addr_state\",\"dti\",\"delinq_2yrs\",\"earliest_cr_line\",\"inq_last_6mths\",\"mths_since_last_delinq\",\"mths_since_last_record\",\"open_acc\",\"pub_rec\",\"revol_bal\",\"revol_util\",\"total_acc\",\"initial_list_status\",\"out_prncp\",\"out_prncp_inv\",\"total_pymnt\",\"total_pymnt_inv\",\"total_rec_prncp\",\"total_rec_int\",\"total_rec_late_fee\",\"recoveries\",\"collection_recovery_fee\",\"last_pymnt_d\",\"last_pymnt_amnt\",\"next_pymnt_d\",\"last_credit_pull_d\",\"collections_12_mths_ex_med\",\"mths_since_last_major_derog\",\"policy_code\",\"application_type\",\"annual_inc_joint\",\"dti_joint\",\"verification_status_joint\",\"acc_now_delinq\",\"tot_coll_amt\",\"tot_cur_bal\",\"open_acc_6m\",\"open_act_il\",\"open_il_12m\",\"open_il_24m\",\"mths_since_rcnt_il\",\"total_bal_il\",\"il_util\",\"open_rv_12m\",\"open_rv_24m\",\"max_bal_bc\",\"all_util\",\"total_rev_hi_lim\",\"inq_fi\",\"total_cu_tl\",\"inq_last_12m\",\"acc_open_past_24mths\",\"avg_cur_bal\",\"bc_open_to_buy\",\"bc_util\",\"chargeoff_within_12_mths\",\"delinq_amnt\",\"mo_sin_old_il_acct\",\"mo_sin_old_rev_tl_op\",\"mo_sin_rcnt_rev_tl_op\",\"mo_sin_rcnt_tl\",\"mort_acc\",\"mths_since_recent_bc\",\"mths_since_recent_bc_dlq\",\"mths_since_recent_inq\",\"mths_since_recent_revol_delinq\",\"num_accts_ever_120_pd\",\"num_actv_bc_tl\",\"num_actv_rev_tl\",\"num_bc_sats\",\"num_bc_tl\",\"num_il_tl\",\"num_op_rev_tl\",\"num_rev_accts\",\"num_rev_tl_bal_gt_0\",\"num_sats\",\"num_tl_120dpd_2m\",\"num_tl_30dpd\",\"num_tl_90g_dpd_24m\",\"num_tl_op_past_12m\",\"pct_tl_nvr_dlq\",\"percent_bc_gt_75\",\"pub_rec_bankruptcies\",\"tax_liens\",\"tot_hi_cred_lim\",\"total_bal_ex_mort\",\"total_bc_limit\",\"total_il_high_credit_limit\",\"revol_bal_joint\",\"sec_app_earliest_cr_line\",\"sec_app_inq_last_6mths\",\"sec_app_mort_acc\",\"sec_app_open_acc\",\"sec_app_revol_util\",\"sec_app_open_act_il\",\"sec_app_num_rev_accts\",\"sec_app_chargeoff_within_12_mths\",\"sec_app_collections_12_mths_ex_med\",\"sec_app_mths_since_last_major_derog\",\"hardship_flag\",\"hardship_type\",\"hardship_reason\",\"hardship_status\",\"deferral_term\",\"hardship_amount\",\"hardship_start_date\",\"hardship_end_date\",\"payment_plan_start_date\",\"hardship_length\",\"hardship_dpd\",\"hardship_loan_status\",\"orig_projected_additional_accrued_interest\",\"hardship_payoff_balance_amount\",\"hardship_last_payment_amount\",\"debt_settlement_flag\",\"debt_settlement_flag_date\",\"settlement_status\",\"settlement_date\",\"settlement_amount\",\"settlement_percentage\",\"settlement_term\"\n", + "\"\",\"\",\"10000\",\"10000\",\"10000\",\" 36 months\",\" 10.33%\",\"324.23\",\"B\",\"B1\",\"\",\"< 1 year\",\"MORTGAGE\",\"280000\",\"Not Verified\",\"Dec-2018\",\"Current\",\"n\",\"\",\"\",\"debt_consolidation\",\"Debt consolidation\",\"974xx\",\"OR\",\"6.15\",\"2\",\"Jan-1996\",\"0\",\"18\",\"\",\"14\",\"0\",\"9082\",\"38%\",\"23\",\"w\",\"8289.30\",\"8289.30\",\"2261.0\",\"2261.00\",\"1710.70\",\"550.30\",\"0.0\",\"0.0\",\"0.0\",\"Jul-2019\",\"324.23\",\"Sep-2019\",\"Aug-2019\",\"0\",\"\",\"1\",\"Individual\",\"\",\"\",\"\",\"0\",\"671\",\"246828\",\"1\",\"3\",\"2\",\"3\",\"1\",\"48552\",\"62\",\"1\",\"3\",\"4923\",\"46\",\"23900\",\"2\",\"7\",\"1\",\"7\",\"17631\",\"11897\",\"43.1\",\"0\",\"0\",\"158\",\"275\",\"11\",\"1\",\"1\",\"11\",\"\",\"11\",\"\",\"0\",\"3\",\"4\",\"7\",\"7\",\"10\",\"9\",\"11\",\"4\",\"14\",\"0\",\"0\",\"0\",\"4\",\"91.3\",\"28.6\",\"0\",\"0\",\"367828\",\"61364\",\"20900\",\"54912\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\"\n", + "\"\",\"\",\"4000\",\"4000\",\"4000\",\" 36 months\",\" 23.40%\",\"155.68\",\"E\",\"E1\",\"Security\",\"3 years\",\"RENT\",\"90000\",\"Source Verified\",\"Dec-2018\",\"Current\",\"n\",\"\",\"\",\"debt_consolidation\",\"Debt consolidation\",\"070xx\",\"NJ\",\"26.33\",\"0\",\"Sep-2006\",\"4\",\"59\",\"\",\"15\",\"0\",\"5199\",\"19.2%\",\"20\",\"w\",\"3423.38\",\"3423.38\",\"1081.96\",\"1081.96\",\"576.62\",\"505.34\",\"0.0\",\"0.0\",\"0.0\",\"Jul-2019\",\"155.68\",\"Sep-2019\",\"Aug-2019\",\"0\",\"\",\"1\",\"Individual\",\"\",\"\",\"\",\"0\",\"0\",\"66926\",\"5\",\"4\",\"3\",\"4\",\"5\",\"61727\",\"86\",\"6\",\"11\",\"1353\",\"68\",\"27100\",\"4\",\"0\",\"4\",\"15\",\"4462\",\"20174\",\"7.9\",\"0\",\"0\",\"147\",\"118\",\"2\",\"2\",\"0\",\"2\",\"\",\"0\",\"\",\"0\",\"5\",\"7\",\"9\",\"9\",\"8\",\"11\",\"12\",\"7\",\"15\",\"0\",\"0\",\"0\",\"9\",\"95\",\"0\",\"0\",\"0\",\"98655\",\"66926\",\"21900\",\"71555\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\"\n", + "\"\",\"\",\"5000\",\"5000\",\"5000\",\" 36 months\",\" 17.97%\",\"180.69\",\"D\",\"D1\",\"Administrative\",\"6 years\",\"MORTGAGE\",\"59280\",\"Source Verified\",\"Dec-2018\",\"Late (31-120 days)\",\"n\",\"\",\"\",\"debt_consolidation\",\"Debt consolidation\",\"490xx\",\"MI\",\"10.51\",\"0\",\"Apr-2011\",\"0\",\"\",\"\",\"8\",\"0\",\"4599\",\"19.1%\",\"13\",\"w\",\"4456.17\",\"4456.17\",\"895.96\",\"895.96\",\"543.83\",\"352.13\",\"0.0\",\"0.0\",\"0.0\",\"Jun-2019\",\"180.69\",\"Sep-2019\",\"Aug-2019\",\"0\",\"\",\"1\",\"Individual\",\"\",\"\",\"\",\"0\",\"0\",\"110299\",\"0\",\"1\",\"0\",\"2\",\"14\",\"7150\",\"72\",\"0\",\"2\",\"0\",\"35\",\"24100\",\"1\",\"5\",\"0\",\"4\",\"18383\",\"13800\",\"0\",\"0\",\"0\",\"87\",\"92\",\"15\",\"14\",\"2\",\"77\",\"\",\"14\",\"\",\"0\",\"0\",\"3\",\"3\",\"3\",\"4\",\"6\",\"7\",\"3\",\"8\",\"0\",\"0\",\"0\",\"0\",\"100\",\"0\",\"0\",\"0\",\"136927\",\"11749\",\"13800\",\"10000\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\"\n", + "\"\",\"\",\"23000\",\"23000\",\"23000\",\" 60 months\",\" 20.89%\",\"620.81\",\"D\",\"D4\",\"Operator\",\"5 years\",\"RENT\",\"68107\",\"Source Verified\",\"Dec-2018\",\"Current\",\"n\",\"\",\"\",\"debt_consolidation\",\"Debt consolidation\",\"672xx\",\"KS\",\"0.52\",\"0\",\"Feb-1997\",\"0\",\"\",\"\",\"5\",\"0\",\"976\",\"13%\",\"10\",\"w\",\"21353.16\",\"21353.16\",\"4307.45\",\"4307.45\",\"1646.84\",\"2660.61\",\"0.0\",\"0.0\",\"0.0\",\"Jul-2019\",\"620.81\",\"Sep-2019\",\"Aug-2019\",\"1\",\"\",\"1\",\"Individual\",\"\",\"\",\"\",\"0\",\"2693\",\"976\",\"0\",\"0\",\"0\",\"0\",\"36\",\"0\",\"\",\"3\",\"4\",\"0\",\"13\",\"7500\",\"2\",\"2\",\"4\",\"4\",\"195\",\"3300\",\"0\",\"0\",\"0\",\"237\",\"262\",\"10\",\"10\",\"0\",\"10\",\"\",\"9\",\"\",\"0\",\"0\",\"1\",\"3\",\"4\",\"3\",\"5\",\"7\",\"1\",\"5\",\"0\",\"0\",\"0\",\"3\",\"100\",\"0\",\"0\",\"0\",\"7500\",\"976\",\"3300\",\"0\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\"\n", + "\"\",\"\",\"8000\",\"8000\",\"8000\",\" 36 months\",\" 23.40%\",\"311.35\",\"E\",\"E1\",\"Manager\",\"10+ years\",\"OWN\",\"43000\",\"Source Verified\",\"Dec-2018\",\"Current\",\"n\",\"\",\"\",\"debt_consolidation\",\"Debt consolidation\",\"357xx\",\"AL\",\"33.24\",\"0\",\"Jan-1995\",\"0\",\"\",\"107\",\"8\",\"1\",\"9019\",\"81.3%\",\"16\",\"w\",\"6846.83\",\"6846.83\",\"2163.85\",\"2163.85\",\"1153.17\",\"1010.68\",\"0.0\",\"0.0\",\"0.0\",\"Jul-2019\",\"311.35\",\"Sep-2019\",\"Aug-2019\",\"0\",\"\",\"1\",\"Individual\",\"\",\"\",\"\",\"0\",\"0\",\"169223\",\"0\",\"3\",\"2\",\"2\",\"7\",\"22059\",\"69\",\"0\",\"0\",\"2174\",\"72\",\"11100\",\"1\",\"1\",\"1\",\"2\",\"21153\",\"126\",\"94.5\",\"0\",\"0\",\"148\",\"287\",\"44\",\"7\",\"1\",\"51\",\"\",\"7\",\"\",\"0\",\"1\",\"4\",\"1\",\"2\",\"8\",\"4\",\"7\",\"4\",\"8\",\"0\",\"0\",\"0\",\"2\",\"100\",\"100\",\"1\",\"0\",\"199744\",\"31078\",\"2300\",\"32206\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\"\n", + "\"\",\"\",\"32075\",\"32075\",\"32075\",\" 60 months\",\" 11.80%\",\"710.26\",\"B\",\"B4\",\"Nursing Supervisor\",\"10+ years\",\"MORTGAGE\",\"150000\",\"Not Verified\",\"Dec-2018\",\"Current\",\"n\",\"\",\"\",\"credit_card\",\"Credit card refinancing\",\"231xx\",\"VA\",\"22.21\",\"0\",\"Aug-2005\",\"0\",\"\",\"\",\"17\",\"0\",\"19077\",\"32%\",\"24\",\"w\",\"29228.12\",\"29228.12\",\"4940.28\",\"4940.28\",\"2846.88\",\"2093.40\",\"0.0\",\"0.0\",\"0.0\",\"Jul-2019\",\"710.26\",\"Sep-2019\",\"Aug-2019\",\"0\",\"\",\"1\",\"Individual\",\"\",\"\",\"\",\"0\",\"0\",\"272667\",\"1\",\"4\",\"1\",\"1\",\"9\",\"37558\",\"47\",\"1\",\"1\",\"3910\",\"41\",\"59600\",\"1\",\"2\",\"0\",\"3\",\"16039\",\"10446\",\"47.8\",\"0\",\"0\",\"160\",\"70\",\"4\",\"4\",\"2\",\"27\",\"\",\"14\",\"\",\"0\",\"4\",\"10\",\"4\",\"4\",\"8\",\"12\",\"14\",\"10\",\"17\",\"0\",\"0\",\"0\",\"2\",\"100\",\"50\",\"0\",\"0\",\"360433\",\"56635\",\"20000\",\"80125\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\"\n", + "\"\",\"\",\"9600\",\"9600\",\"9600\",\" 36 months\",\" 12.98%\",\"323.37\",\"B\",\"B5\",\"\",\"n/a\",\"MORTGAGE\",\"35704\",\"Not Verified\",\"Dec-2018\",\"Current\",\"n\",\"\",\"\",\"home_improvement\",\"Home improvement\",\"401xx\",\"KY\",\"0.84\",\"0\",\"Nov-2003\",\"0\",\"69\",\"\",\"5\",\"0\",\"748\",\"11.5%\",\"23\",\"w\",\"8012.51\",\"8012.51\",\"2287.83\",\"2287.83\",\"1587.49\",\"700.34\",\"0.0\",\"0.0\",\"0.0\",\"Aug-2019\",\"323.37\",\"Sep-2019\",\"Aug-2019\",\"0\",\"\",\"1\",\"Individual\",\"\",\"\",\"\",\"0\",\"0\",\"748\",\"0\",\"0\",\"0\",\"0\",\"44\",\"0\",\"\",\"0\",\"3\",\"748\",\"12\",\"6500\",\"0\",\"0\",\"1\",\"3\",\"150\",\"3452\",\"17.8\",\"0\",\"0\",\"181\",\"100\",\"13\",\"13\",\"0\",\"16\",\"\",\"3\",\"\",\"0\",\"1\",\"1\",\"2\",\"2\",\"16\",\"5\",\"7\",\"1\",\"5\",\"0\",\"0\",\"0\",\"0\",\"95.5\",\"0\",\"0\",\"0\",\"6500\",\"748\",\"4200\",\"0\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\"\n", + "\"\",\"\",\"30000\",\"30000\",\"30000\",\" 60 months\",\" 18.94%\",\"777.23\",\"D\",\"D2\",\"Postmaster \",\"10+ years\",\"MORTGAGE\",\"90000\",\"Source Verified\",\"Dec-2018\",\"Current\",\"n\",\"\",\"\",\"debt_consolidation\",\"Debt consolidation\",\"713xx\",\"LA\",\"26.52\",\"0\",\"Jun-1987\",\"0\",\"71\",\"75\",\"13\",\"1\",\"12315\",\"24.2%\",\"44\",\"w\",\"19969.40\",\"19969.40\",\"12893.26\",\"12893.26\",\"10030.60\",\"2862.66\",\"0.0\",\"0.0\",\"0.0\",\"Jul-2019\",\"777.23\",\"Sep-2019\",\"Aug-2019\",\"0\",\"\",\"1\",\"Individual\",\"\",\"\",\"\",\"0\",\"1208\",\"321915\",\"4\",\"4\",\"2\",\"3\",\"3\",\"87153\",\"88\",\"4\",\"5\",\"998\",\"57\",\"50800\",\"2\",\"15\",\"2\",\"10\",\"24763\",\"13761\",\"8.3\",\"0\",\"0\",\"163\",\"378\",\"4\",\"3\",\"3\",\"4\",\"\",\"4\",\"\",\"0\",\"2\",\"4\",\"4\",\"9\",\"27\",\"8\",\"14\",\"4\",\"13\",\"0\",\"0\",\"0\",\"6\",\"95\",\"0\",\"1\",\"0\",\"372872\",\"99468\",\"15000\",\"94072\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"N\",\"\",\"\",\"\",\"\",\"\",\"\"\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Um4OaTU1iKIC", + "colab_type": "text" + }, + "source": [ + "## Load Data" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5a0UPTFVYjWA", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 343 + }, + "outputId": "229bbcf2-411d-435c-a5c8-a3a4af75e1f8" + }, + "source": [ + "df = pd.read_csv('LoanStats_2018Q4.csv')\n", + "df.head()" + ], + "execution_count": 17, + "outputs": [ + { + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/dist-packages/IPython/core/interactiveshell.py:2718: DtypeWarning: Columns (0,1,2,3,4,7,13,18,19,24,25,27,28,29,30,31,32,34,36,37,38,39,40,41,42,43,44,46,49,50,51,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,138,139,140,141,142,143) have mixed types. Specify dtype option on import or set low_memory=False.\n", + " interactivity=interactivity, compiler=compiler, result=result)\n" + ], + "name": "stderr" + }, + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Notes offered by Prospectus (https://www.lendingclub.com/info/prospectus.action)
idmember_idloan_amntfunded_amntfunded_amnt_invtermint_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planurldescpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinqmths_since_last_recordopen_accpub_recrevol_balrevol_utiltotal_accinitial_list_statusout_prncpout_prncp_invtotal_pymnttotal_pymnt_invtotal_rec_prncptotal_rec_inttotal_rec_late_feerecoveriescollection_recovery_feelast_pymnt_dlast_pymnt_amntnext_pymnt_dlast_credit_pull_dcollections_12_mths_ex_medmths_since_last_major_derogpolicy_codeapplication_typeannual_inc_jointdti_jointverification_status_jointacc_now_delinqtot_coll_amttot_cur_balopen_acc_6mopen_act_ilopen_il_12mopen_il_24mmths_since_rcnt_iltotal_bal_ilil_utilopen_rv_12mopen_rv_24mmax_bal_bcall_utiltotal_rev_hi_liminq_fitotal_cu_tlinq_last_12macc_open_past_24mthsavg_cur_balbc_open_to_buybc_utilchargeoff_within_12_mthsdelinq_amntmo_sin_old_il_acctmo_sin_old_rev_tl_opmo_sin_rcnt_rev_tl_opmo_sin_rcnt_tlmort_accmths_since_recent_bcmths_since_recent_bc_dlqmths_since_recent_inqmths_since_recent_revol_delinqnum_accts_ever_120_pdnum_actv_bc_tlnum_actv_rev_tlnum_bc_satsnum_bc_tlnum_il_tlnum_op_rev_tlnum_rev_acctsnum_rev_tl_bal_gt_0num_satsnum_tl_120dpd_2mnum_tl_30dpdnum_tl_90g_dpd_24mnum_tl_op_past_12mpct_tl_nvr_dlqpercent_bc_gt_75pub_rec_bankruptciestax_lienstot_hi_cred_limtotal_bal_ex_morttotal_bc_limittotal_il_high_credit_limitrevol_bal_jointsec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_deroghardship_flaghardship_typehardship_reasonhardship_statusdeferral_termhardship_amounthardship_start_datehardship_end_datepayment_plan_start_datehardship_lengthhardship_dpdhardship_loan_statusorig_projected_additional_accrued_interesthardship_payoff_balance_amounthardship_last_payment_amountdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_term
NaNNaN10000100001000036 months10.33%324.23BB1NaN< 1 yearMORTGAGE280000Not VerifiedDec-2018CurrentnNaNNaNdebt_consolidationDebt consolidation974xxOR6.152Jan-1996018NaN140908238%23w8289.308289.302261.02261.001710.70550.300.00.00.0Jul-2019324.23Sep-2019Aug-20190NaN1IndividualNaNNaNNaN067124682813231485526213492346239002717176311189743.100158275111111NaN11NaN0347710911414000491.328.600367828613642090054912NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
40004000400036 months23.40%155.68EE1Security3 yearsRENT90000Source VerifiedDec-2018CurrentnNaNNaNdebt_consolidationDebt consolidation070xxNJ26.330Sep-2006459NaN150519919.2%20w3423.383423.381081.961081.96576.62505.340.00.00.0Jul-2019155.68Sep-2019Aug-20190NaN1IndividualNaNNaNNaN006692654345617278661113536827100404154462201747.9001471182202NaN0NaN057998111271500099500098655669262190071555NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
50005000500036 months17.97%180.69DD1Administrative6 yearsMORTGAGE59280Source VerifiedDec-2018Late (31-120 days)nNaNNaNdebt_consolidationDebt consolidation490xxMI10.510Apr-20110NaNNaN80459919.1%13w4456.174456.17895.96895.96543.83352.130.00.00.0Jun-2019180.69Sep-2019Aug-20190NaN1IndividualNaNNaNNaN0011029901021471507202035241001504183831380000087921514277NaN14NaN00333467380000100000136927117491380010000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
23000230002300060 months20.89%620.81DD4Operator5 yearsRENT68107Source VerifiedDec-2018CurrentnNaNNaNdebt_consolidationDebt consolidation672xxKS0.520Feb-19970NaNNaN5097613%10w21353.1621353.164307.454307.451646.842660.610.00.00.0Jul-2019620.81Sep-2019Aug-20191NaN1IndividualNaNNaNNaN026939760000360NaN340137500224419533000002372621010010NaN9NaN00134357150003100000750097633000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
\n", + "
" + ], + "text/plain": [ + " Notes offered by Prospectus (https://www.lendingclub.com/info/prospectus.action)\n", + "id member_id loan_amnt funded_amnt funded_amnt_inv term int_rate installment grade sub_grade emp_title emp_length home_ownership annual_inc verification_status issue_d loan_status pymnt_plan url desc purpose title zip_code addr_state dti delinq_2yrs earliest_cr_line inq_last_6mths mths_since_last_delinq mths_since_last_record open_acc pub_rec revol_bal revol_util total_acc initial_list_status out_prncp out_prncp_inv total_pymnt total_pymnt_inv total_rec_prncp total_rec_int total_rec_late_fee recoveries collection_recovery_fee last_pymnt_d last_pymnt_amnt next_pymnt_d last_credit_pull_d collections_12_mths_ex_med mths_since_last_major_derog policy_code application_type annual_inc_joint dti_joint verification_status_joint acc_now_delinq tot_coll_amt tot_cur_bal open_acc_6m open_act_il open_il_12m open_il_24m mths_since_rcnt_il total_bal_il il_util open_rv_12m open_rv_24m max_bal_bc all_util total_rev_hi_lim inq_fi total_cu_tl inq_last_12m acc_open_past_24mths avg_cur_bal bc_open_to_buy bc_util chargeoff_within_12_mths delinq_amnt mo_sin_old_il_acct mo_sin_old_rev_tl_op mo_sin_rcnt_rev_tl_op mo_sin_rcnt_tl mort_acc mths_since_recent_bc mths_since_recent_bc_dlq mths_since_recent_inq mths_since_recent_revol_delinq num_accts_ever_120_pd num_actv_bc_tl num_actv_rev_tl num_bc_sats num_bc_tl num_il_tl num_op_rev_tl num_rev_accts num_rev_tl_bal_gt_0 num_sats num_tl_120dpd_2m num_tl_30dpd num_tl_90g_dpd_24m num_tl_op_past_12m pct_tl_nvr_dlq percent_bc_gt_75 pub_rec_bankruptcies tax_liens tot_hi_cred_lim total_bal_ex_mort total_bc_limit total_il_high_credit_limit revol_bal_joint sec_app_earliest_cr_line sec_app_inq_last_6mths sec_app_mort_acc sec_app_open_acc sec_app_revol_util sec_app_open_act_il sec_app_num_rev_accts sec_app_chargeoff_within_12_mths sec_app_collections_12_mths_ex_med sec_app_mths_since_last_major_derog hardship_flag hardship_type hardship_reason hardship_status deferral_term hardship_amount hardship_start_date hardship_end_date payment_plan_start_date hardship_length hardship_dpd hardship_loan_status orig_projected_additional_accrued_interest hardship_payoff_balance_amount hardship_last_payment_amount debt_settlement_flag debt_settlement_flag_date settlement_status settlement_date settlement_amount settlement_percentage settlement_term \n", + "NaN NaN 10000 10000 10000 36 months 10.33% 324.23 B B1 NaN < 1 year MORTGAGE 280000 Not Verified Dec-2018 Current n NaN NaN debt_consolidation Debt consolidation 974xx OR 6.15 2 Jan-1996 0 18 NaN 14 0 9082 38% 23 w 8289.30 8289.30 2261.0 2261.00 1710.70 550.30 0.0 0.0 0.0 Jul-2019 324.23 Sep-2019 Aug-2019 0 NaN 1 Individual NaN NaN NaN 0 671 246828 1 3 2 3 1 48552 62 1 3 4923 46 23900 2 7 1 7 17631 11897 43.1 0 0 158 275 11 1 1 11 NaN 11 NaN 0 3 4 7 7 10 9 11 4 14 0 0 0 4 91.3 28.6 0 0 367828 61364 20900 54912 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN NaN NaN NaN NaN NaN \n", + " 4000 4000 4000 36 months 23.40% 155.68 E E1 Security 3 years RENT 90000 Source Verified Dec-2018 Current n NaN NaN debt_consolidation Debt consolidation 070xx NJ 26.33 0 Sep-2006 4 59 NaN 15 0 5199 19.2% 20 w 3423.38 3423.38 1081.96 1081.96 576.62 505.34 0.0 0.0 0.0 Jul-2019 155.68 Sep-2019 Aug-2019 0 NaN 1 Individual NaN NaN NaN 0 0 66926 5 4 3 4 5 61727 86 6 11 1353 68 27100 4 0 4 15 4462 20174 7.9 0 0 147 118 2 2 0 2 NaN 0 NaN 0 5 7 9 9 8 11 12 7 15 0 0 0 9 95 0 0 0 98655 66926 21900 71555 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN NaN NaN NaN NaN NaN \n", + " 5000 5000 5000 36 months 17.97% 180.69 D D1 Administrative 6 years MORTGAGE 59280 Source Verified Dec-2018 Late (31-120 days) n NaN NaN debt_consolidation Debt consolidation 490xx MI 10.51 0 Apr-2011 0 NaN NaN 8 0 4599 19.1% 13 w 4456.17 4456.17 895.96 895.96 543.83 352.13 0.0 0.0 0.0 Jun-2019 180.69 Sep-2019 Aug-2019 0 NaN 1 Individual NaN NaN NaN 0 0 110299 0 1 0 2 14 7150 72 0 2 0 35 24100 1 5 0 4 18383 13800 0 0 0 87 92 15 14 2 77 NaN 14 NaN 0 0 3 3 3 4 6 7 3 8 0 0 0 0 100 0 0 0 136927 11749 13800 10000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN NaN NaN NaN NaN NaN \n", + " 23000 23000 23000 60 months 20.89% 620.81 D D4 Operator 5 years RENT 68107 Source Verified Dec-2018 Current n NaN NaN debt_consolidation Debt consolidation 672xx KS 0.52 0 Feb-1997 0 NaN NaN 5 0 976 13% 10 w 21353.16 21353.16 4307.45 4307.45 1646.84 2660.61 0.0 0.0 0.0 Jul-2019 620.81 Sep-2019 Aug-2019 1 NaN 1 Individual NaN NaN NaN 0 2693 976 0 0 0 0 36 0 NaN 3 4 0 13 7500 2 2 4 4 195 3300 0 0 0 237 262 10 10 0 10 NaN 9 NaN 0 0 1 3 4 3 5 7 1 5 0 0 0 3 100 0 0 0 7500 976 3300 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN NaN NaN NaN NaN NaN " + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Z2p4xZKqZife", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 338 + }, + "outputId": "d1faa0b0-6af6-4628-8d2b-e9eb9505d8c6" + }, + "source": [ + "df = pd.read_csv('LoanStats_2018Q4.csv', header=1, skipfooter=2, engine='python')\n", + "df.head()" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idmember_idloan_amntfunded_amntfunded_amnt_invtermint_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planurldescpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinqmths_since_last_recordopen_accpub_recrevol_balrevol_utiltotal_accinitial_list_statusout_prncpout_prncp_invtotal_pymnttotal_pymnt_inv...percent_bc_gt_75pub_rec_bankruptciestax_lienstot_hi_cred_limtotal_bal_ex_morttotal_bc_limittotal_il_high_credit_limitrevol_bal_jointsec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_deroghardship_flaghardship_typehardship_reasonhardship_statusdeferral_termhardship_amounthardship_start_datehardship_end_datepayment_plan_start_datehardship_lengthhardship_dpdhardship_loan_statusorig_projected_additional_accrued_interesthardship_payoff_balance_amounthardship_last_payment_amountdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_term
0NaNNaN100001000010000.036 months10.33%324.23BB1NaN< 1 yearMORTGAGE280000.0Not VerifiedDec-2018CurrentnNaNNaNdebt_consolidationDebt consolidation974xxOR6.152Jan-1996018.0NaN140908238%23w8289.308289.302261.002261.00...28.600367828613642090054912NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
1NaNNaN400040004000.036 months23.40%155.68EE1Security3 yearsRENT90000.0Source VerifiedDec-2018CurrentnNaNNaNdebt_consolidationDebt consolidation070xxNJ26.330Sep-2006459.0NaN150519919.2%20w3423.383423.381081.961081.96...0.00098655669262190071555NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
2NaNNaN500050005000.036 months17.97%180.69DD1Administrative6 yearsMORTGAGE59280.0Source VerifiedDec-2018Late (31-120 days)nNaNNaNdebt_consolidationDebt consolidation490xxMI10.510Apr-20110NaNNaN80459919.1%13w4456.174456.17895.96895.96...0.000136927117491380010000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
3NaNNaN230002300023000.060 months20.89%620.81DD4Operator5 yearsRENT68107.0Source VerifiedDec-2018CurrentnNaNNaNdebt_consolidationDebt consolidation672xxKS0.520Feb-19970NaNNaN5097613%10w21353.1621353.164307.454307.45...0.000750097633000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
4NaNNaN800080008000.036 months23.40%311.35EE1Manager10+ yearsOWN43000.0Source VerifiedDec-2018CurrentnNaNNaNdebt_consolidationDebt consolidation357xxAL33.240Jan-19950NaN107.081901981.3%16w6846.836846.832163.852163.85...100.01019974431078230032206NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
\n", + "

5 rows × 144 columns

\n", + "
" + ], + "text/plain": [ + " id member_id ... settlement_percentage settlement_term\n", + "0 NaN NaN ... NaN NaN\n", + "1 NaN NaN ... NaN NaN\n", + "2 NaN NaN ... NaN NaN\n", + "3 NaN NaN ... NaN NaN\n", + "4 NaN NaN ... NaN NaN\n", + "\n", + "[5 rows x 144 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "vlvHeYn6bD3z", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 355 + }, + "outputId": "06d73f7a-26da-4bec-dfe1-92b61b4a3273" + }, + "source": [ + "df.tail()" + ], + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idmember_idloan_amntfunded_amntfunded_amnt_invtermint_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planurldescpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinqmths_since_last_recordopen_accpub_recrevol_balrevol_utiltotal_accinitial_list_statusout_prncpout_prncp_invtotal_pymnttotal_pymnt_inv...percent_bc_gt_75pub_rec_bankruptciestax_lienstot_hi_cred_limtotal_bal_ex_morttotal_bc_limittotal_il_high_credit_limitrevol_bal_jointsec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_deroghardship_flaghardship_typehardship_reasonhardship_statusdeferral_termhardship_amounthardship_start_datehardship_end_datepayment_plan_start_datehardship_lengthhardship_dpdhardship_loan_statusorig_projected_additional_accrued_interesthardship_payoff_balance_amounthardship_last_payment_amountdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_term
128407NaNNaN230002300023000.036 months15.02%797.53CC3Tax Consultant10+ yearsMORTGAGE75000.0Source VerifiedOct-2018Charged OffnNaNNaNdebt_consolidationDebt consolidation352xxAL20.951Aug-1985222.0NaN1202246543.6%28w0.000.001547.081547.08...14.300296500406144710021000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128408NaNNaN100001000010000.036 months15.02%346.76CC3security guard5 yearsMORTGAGE38000.0Not VerifiedOct-2018CurrentnNaNNaNdebt_consolidationDebt consolidation443xxOH13.163Jul-198206.0NaN110563437.1%16w7655.007655.003459.263459.26...40.00091403932391002000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128409NaNNaN500050005000.036 months13.56%169.83CC1Payoff Clerk10+ yearsMORTGAGE35360.0Not VerifiedOct-2018CurrentnNaNNaNdebt_consolidationDebt consolidation381xxTN11.301Jun-2006021.0NaN90259727.3%15f3807.303807.301694.531694.53...50.00093908497630006028NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128410NaNNaN10000100009750.036 months11.06%327.68BB3NaNNaNRENT44400.0Source VerifiedOct-2018CurrentnNaNNaNcredit_cardCredit card refinancing980xxWA11.780Oct-2008240.0NaN150626913.1%25f7544.757356.133261.443179.90...0.00057871164402050010171NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128411NaNNaN100001000010000.036 months16.91%356.08CC5Key Accounts Manager2 yearsRENT80000.0Not VerifiedOct-2018CurrentnNaNNaNotherOther021xxMA17.721Sep-2006014.0NaN170194230.8%31w7706.677706.673551.413551.41...0.0007366959194400067369NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
\n", + "

5 rows × 144 columns

\n", + "
" + ], + "text/plain": [ + " id member_id ... settlement_percentage settlement_term\n", + "128407 NaN NaN ... NaN NaN\n", + "128408 NaN NaN ... NaN NaN\n", + "128409 NaN NaN ... NaN NaN\n", + "128410 NaN NaN ... NaN NaN\n", + "128411 NaN NaN ... NaN NaN\n", + "\n", + "[5 rows x 144 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "pLXf3em3bG5m", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "655c2d10-ebcc-42e7-9b9c-4fd509ebfd8e" + }, + "source": [ + "df.shape" + ], + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(128412, 144)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 21 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "QjyQIKN1bNN-", + "colab_type": "code", + "colab": {} + }, + "source": [ + "pd.set_option('display.max_rows', 50)\n", + "pd.set_option('display.max_columns', 50)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "dphWD1kIbfkG", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "a3034afe-05ba-4ded-8c51-eaeef81798b6" + }, + "source": [ + "df.isnull().sum()" + ], + "execution_count": 23, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "id 128412\n", + "member_id 128412\n", + "loan_amnt 0\n", + "funded_amnt 0\n", + "funded_amnt_inv 0\n", + "term 0\n", + "int_rate 0\n", + "installment 0\n", + "grade 0\n", + "sub_grade 0\n", + "emp_title 20947\n", + "emp_length 11704\n", + "home_ownership 0\n", + "annual_inc 0\n", + "verification_status 0\n", + "issue_d 0\n", + "loan_status 0\n", + "pymnt_plan 0\n", + "url 128412\n", + "desc 128412\n", + "purpose 0\n", + "title 0\n", + "zip_code 0\n", + "addr_state 0\n", + "dti 237\n", + " ... \n", + "sec_app_chargeoff_within_12_mths 111630\n", + "sec_app_collections_12_mths_ex_med 111630\n", + "sec_app_mths_since_last_major_derog 123258\n", + "hardship_flag 0\n", + "hardship_type 128385\n", + "hardship_reason 128385\n", + "hardship_status 128385\n", + "deferral_term 128385\n", + "hardship_amount 128385\n", + "hardship_start_date 128385\n", + "hardship_end_date 128385\n", + "payment_plan_start_date 128385\n", + "hardship_length 128385\n", + "hardship_dpd 128385\n", + "hardship_loan_status 128385\n", + "orig_projected_additional_accrued_interest 128386\n", + "hardship_payoff_balance_amount 128385\n", + "hardship_last_payment_amount 128385\n", + "debt_settlement_flag 0\n", + "debt_settlement_flag_date 128301\n", + "settlement_status 128301\n", + "settlement_date 128301\n", + "settlement_amount 128301\n", + "settlement_percentage 128301\n", + "settlement_term 128301\n", + "Length: 144, dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 23 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "3TTvqGvgbimD", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "63474b13-af62-41f7-fbd3-f02edf7158c5" + }, + "source": [ + "df.isnull().sum().sort_values(ascending=False)" + ], + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "id 128412\n", + "desc 128412\n", + "member_id 128412\n", + "url 128412\n", + "orig_projected_additional_accrued_interest 128386\n", + "hardship_type 128385\n", + "hardship_last_payment_amount 128385\n", + "hardship_payoff_balance_amount 128385\n", + "hardship_reason 128385\n", + "hardship_loan_status 128385\n", + "hardship_dpd 128385\n", + "hardship_length 128385\n", + "payment_plan_start_date 128385\n", + "hardship_end_date 128385\n", + "hardship_start_date 128385\n", + "hardship_amount 128385\n", + "deferral_term 128385\n", + "hardship_status 128385\n", + "settlement_percentage 128301\n", + "settlement_term 128301\n", + "settlement_status 128301\n", + "settlement_amount 128301\n", + "settlement_date 128301\n", + "debt_settlement_flag_date 128301\n", + "sec_app_mths_since_last_major_derog 123258\n", + " ... \n", + "total_il_high_credit_limit 0\n", + "mort_acc 0\n", + "mo_sin_rcnt_tl 0\n", + "mo_sin_rcnt_rev_tl_op 0\n", + "mo_sin_old_rev_tl_op 0\n", + "policy_code 0\n", + "application_type 0\n", + "acc_now_delinq 0\n", + "tot_coll_amt 0\n", + "tot_cur_bal 0\n", + "open_acc_6m 0\n", + "open_act_il 0\n", + "hardship_flag 0\n", + "open_il_24m 0\n", + "total_bal_il 0\n", + "open_rv_12m 0\n", + "open_rv_24m 0\n", + "max_bal_bc 0\n", + "total_rev_hi_lim 0\n", + "total_cu_tl 0\n", + "inq_last_12m 0\n", + "acc_open_past_24mths 0\n", + "chargeoff_within_12_mths 0\n", + "delinq_amnt 0\n", + "inq_fi 0\n", + "Length: 144, dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 24 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "G-GCgnEtib8E", + "colab_type": "text" + }, + "source": [ + "## Work With Strings" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "rJ1H2XOLbr2z", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "b680ade8-61a4-4577-d5db-416efe4e03f9" + }, + "source": [ + "df.drop(columns=['id', 'member_id', 'desc', 'url'])" + ], + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amntfunded_amntfunded_amnt_invtermint_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinq...sec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_deroghardship_flaghardship_typehardship_reasonhardship_statusdeferral_termhardship_amounthardship_start_datehardship_end_datepayment_plan_start_datehardship_lengthhardship_dpdhardship_loan_statusorig_projected_additional_accrued_interesthardship_payoff_balance_amounthardship_last_payment_amountdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_term
0100001000010000.036 months10.33%324.23BB1NaN< 1 yearMORTGAGE280000.0Not VerifiedDec-2018Currentndebt_consolidationDebt consolidation974xxOR6.152Jan-1996018.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
1400040004000.036 months23.40%155.68EE1Security3 yearsRENT90000.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation070xxNJ26.330Sep-2006459.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
2500050005000.036 months17.97%180.69DD1Administrative6 yearsMORTGAGE59280.0Source VerifiedDec-2018Late (31-120 days)ndebt_consolidationDebt consolidation490xxMI10.510Apr-20110NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
3230002300023000.060 months20.89%620.81DD4Operator5 yearsRENT68107.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation672xxKS0.520Feb-19970NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
4800080008000.036 months23.40%311.35EE1Manager10+ yearsOWN43000.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation357xxAL33.240Jan-19950NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
5320753207532075.060 months11.80%710.26BB4Nursing Supervisor10+ yearsMORTGAGE150000.0Not VerifiedDec-2018Currentncredit_cardCredit card refinancing231xxVA22.210Aug-20050NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
6960096009600.036 months12.98%323.37BB5NaNNaNMORTGAGE35704.0Not VerifiedDec-2018Currentnhome_improvementHome improvement401xxKY0.840Nov-2003069.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
7300003000030000.060 months18.94%777.23DD2Postmaster10+ yearsMORTGAGE90000.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation713xxLA26.520Jun-1987071.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
8250025002500.036 months13.56%84.92CC1Chef10+ yearsRENT55000.0Not VerifiedDec-2018Fully Paidndebt_consolidationDebt consolidation109xxNY18.240Apr-20011NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
9120001200012000.060 months13.56%276.49CC1NaN< 1 yearMORTGAGE40000.0Not VerifiedDec-2018Currentndebt_consolidationDebt consolidation180xxPA19.230Aug-20052NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
10100001000010000.060 months19.92%264.50DD3Material Handler10+ yearsMORTGAGE80000.0Not VerifiedDec-2018Currentndebt_consolidationDebt consolidation648xxMO20.670Apr-2005037.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
11160001600016000.060 months17.97%406.04DD1Instructional Coordinator5 yearsMORTGAGE51000.0Not VerifiedDec-2018Currentndebt_consolidationDebt consolidation284xxNC21.910Oct-2005152.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
12160001600016000.060 months26.31%481.99EE4Financial Relationship Associate< 1 yearRENT33000.0Source VerifiedDec-2018Currentncredit_cardCredit card refinancing290xxSC33.620Sep-20101NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
13150001500014975.060 months14.47%352.69CC2NaNNaNMORTGAGE30000.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation756xxTX41.600Oct-19990NaN...0.00.0NaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
14130001300013000.036 months23.40%505.95EE1Sale Representative2 yearsMORTGAGE90000.0VerifiedDec-2018CurrentnotherOther191xxPA39.730May-20070NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
15960096009600.036 months23.40%373.62EE1driver coordinator9 yearsRENT65000.0Not VerifiedDec-2018Currentncredit_cardCredit card refinancing265xxWV23.011Sep-2003016.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
16350035003500.036 months20.89%131.67DD4gas attendant10+ yearsMORTGAGE40000.0Source VerifiedDec-2018CurrentncarCar financing078xxNJ9.090Oct-2004124.0...0.00.046.0NNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
17250002500025000.060 months16.91%620.11CC5Processor10+ yearsMORTGAGE23878.0Not VerifiedDec-2018Currentndebt_consolidationDebt consolidation453xxOH6.260Oct-20100NaN...0.00.0NaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
18160001600016000.060 months20.89%431.87DD4Neonatal Nurse Practitioner4 yearsMORTGAGE120000.0Not VerifiedDec-2018Currentncredit_cardCredit card refinancing720xxAR27.571Jul-200508.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
19130001300013000.060 months14.47%305.67CC2Stationary Engineer10+ yearsMORTGAGE75000.0Not VerifiedDec-2018Fully Paidndebt_consolidationDebt consolidation741xxOK26.160Feb-20011NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
20100001000010000.036 months13.56%339.65CC1NaN< 1 yearMORTGAGE65000.0Not VerifiedDec-2018Currentncredit_cardCredit card refinancing937xxCA10.620Dec-2004130.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
21130001300013000.036 months14.47%447.29CC2Exhibits director10+ yearsMORTGAGE55000.0VerifiedDec-2018Currentncredit_cardCredit card refinancing611xxIL10.580Oct-20010NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
22700070007000.036 months12.98%235.80BB5Worship Director4 yearsMORTGAGE102500.0Not VerifiedDec-2018CurrentnhouseHome buying436xxOH15.200Dec-2002038.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
23330033003300.036 months23.40%128.44EE1Program Manager3 yearsRENT49700.0Source VerifiedDec-2018CurrentnvacationVacation310xxGA14.320Nov-2006143.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
24200002000020000.060 months11.80%442.88BB4NaNNaNMORTGAGE47590.0VerifiedDec-2018Currentncredit_cardCredit card refinancing156xxPA9.530Sep-1999062.0...0.00.0NaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
............................................................................................................................................................
128387600060006000.036 months11.55%198.00BB4ENGINEER2 yearsRENT90000.0Not VerifiedOct-2018Currentncredit_cardCredit card refinancing076xxNJ1.640Sep-2010153.0...0.00.0NaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128388200002000020000.036 months8.46%630.99AA5Welder/Blacksmith10+ yearsMORTGAGE97000.0Source VerifiedOct-2018Currentndebt_consolidationDebt consolidation604xxIL15.590Jul-1999164.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128389600060005750.036 months11.55%198.00BB4RN Supervisor6 yearsRENT70000.0Not VerifiedOct-2018Charged OffnmedicalMedical expenses912xxCA11.524Dec-1993017.0...0.00.0NaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128390240002400024000.036 months19.92%890.95DD3Corrections officer10+ yearsRENT34000.0VerifiedOct-2018Late (31-120 days)ndebt_consolidationDebt consolidation344xxFL74.090Jun-20060NaN...0.01.075.0NNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128391350003500034975.036 months6.67%1075.43AA2NaNNaNMORTGAGE85000.0Source VerifiedOct-2018Fully Paidndebt_consolidationDebt consolidation301xxGA22.150Apr-1997254.0...0.00.0NaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128392650065006500.036 months26.31%262.97EE4Merchandise Team Captain10+ yearsMORTGAGE35000.0VerifiedOct-2018Currentnhome_improvementHome improvement328xxFL39.510Mar-2004070.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128393650065006500.036 months16.91%231.46CC5Senior Accountant, Fixed Assets Acctg7 yearsRENT74160.0Source VerifiedOct-2018Currentndebt_consolidationDebt consolidation600xxIL27.790Jun-2006038.0...0.00.058.0NNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128394500050005000.036 months6.11%152.36AA1Implementation Manager9 yearsMORTGAGE82000.0Not VerifiedOct-2018CurrentnotherOther750xxTX1.350Feb-2005033.0...0.00.013.0NNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128395220002200022000.036 months11.55%726.00BB4Sr. application analyst10+ yearsMORTGAGE72000.0Source VerifiedOct-2018Currentndebt_consolidationDebt consolidation481xxMI46.980Jun-1999026.0...0.00.0NaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128396240002400024000.060 months15.02%571.22CC3Instructional Technology Specialist10+ yearsMORTGAGE60000.0Not VerifiedOct-2018Currentndebt_consolidationDebt consolidation750xxTX9.720Apr-1999143.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128397200002000020000.060 months15.02%476.01CC3Technical Supvervisor10+ yearsMORTGAGE75000.0VerifiedOct-2018Fully Paidncredit_cardCredit card refinancing786xxTX24.820Apr-19912NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128398120001200012000.060 months18.94%310.90DD2Senior Business Account Executive6 yearsRENT128000.0VerifiedOct-2018Currentndebt_consolidationDebt consolidation937xxCA13.320Nov-2007146.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128399500050005000.036 months15.02%173.38CC3Tech10+ yearsMORTGAGE35000.0Source VerifiedOct-2018Currentndebt_consolidationDebt consolidation324xxFL31.762Jun-2003015.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128400200002000020000.060 months15.02%476.01CC3production supervisor10+ yearsMORTGAGE80000.0Not VerifiedOct-2018Currentndebt_consolidationDebt consolidation117xxNY16.940Oct-20050NaN...0.00.0NaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128401200002000020000.036 months11.55%660.00BB4secondary opps/lead coater10+ yearsOWN45000.0Not VerifiedOct-2018Currentnhome_improvementHome improvement015xxMA22.130Dec-2003041.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128402175001750017500.060 months22.35%486.82DD5NaNNaNRENT25000.0VerifiedOct-2018Currentndebt_consolidationDebt consolidation640xxMO27.750Oct-20010NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128403500050005000.036 months16.14%176.14CC4NaNNaNOWN9200.0Source VerifiedOct-2018Currentndebt_consolidationDebt consolidation365xxAL23.500Apr-20151NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128404500050005000.036 months16.14%176.14CC4Oncology Medical Assistant3 yearsMORTGAGE46400.0Source VerifiedOct-2018Fully Paidndebt_consolidationDebt consolidation338xxFL16.850Nov-2003029.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128405220002200022000.060 months7.84%444.40AA4Owner10+ yearsMORTGAGE55000.0Not VerifiedOct-2018CurrentnotherOther982xxWA2.180Apr-19870NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128406560056005600.036 months13.56%190.21CC1NaNNaNRENT15600.0Not VerifiedOct-2018Currentncredit_cardCredit card refinancing836xxID15.310Aug-20120NaN...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128407230002300023000.036 months15.02%797.53CC3Tax Consultant10+ yearsMORTGAGE75000.0Source VerifiedOct-2018Charged Offndebt_consolidationDebt consolidation352xxAL20.951Aug-1985222.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128408100001000010000.036 months15.02%346.76CC3security guard5 yearsMORTGAGE38000.0Not VerifiedOct-2018Currentndebt_consolidationDebt consolidation443xxOH13.163Jul-198206.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128409500050005000.036 months13.56%169.83CC1Payoff Clerk10+ yearsMORTGAGE35360.0Not VerifiedOct-2018Currentndebt_consolidationDebt consolidation381xxTN11.301Jun-2006021.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
12841010000100009750.036 months11.06%327.68BB3NaNNaNRENT44400.0Source VerifiedOct-2018Currentncredit_cardCredit card refinancing980xxWA11.780Oct-2008240.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
128411100001000010000.036 months16.91%356.08CC5Key Accounts Manager2 yearsRENT80000.0Not VerifiedOct-2018CurrentnotherOther021xxMA17.721Sep-2006014.0...NaNNaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
\n", + "

128412 rows × 140 columns

\n", + "
" + ], + "text/plain": [ + " loan_amnt funded_amnt funded_amnt_inv term int_rate \\\n", + "0 10000 10000 10000.0 36 months 10.33% \n", + "1 4000 4000 4000.0 36 months 23.40% \n", + "2 5000 5000 5000.0 36 months 17.97% \n", + "3 23000 23000 23000.0 60 months 20.89% \n", + "4 8000 8000 8000.0 36 months 23.40% \n", + "5 32075 32075 32075.0 60 months 11.80% \n", + "6 9600 9600 9600.0 36 months 12.98% \n", + "7 30000 30000 30000.0 60 months 18.94% \n", + "8 2500 2500 2500.0 36 months 13.56% \n", + "9 12000 12000 12000.0 60 months 13.56% \n", + "10 10000 10000 10000.0 60 months 19.92% \n", + "11 16000 16000 16000.0 60 months 17.97% \n", + "12 16000 16000 16000.0 60 months 26.31% \n", + "13 15000 15000 14975.0 60 months 14.47% \n", + "14 13000 13000 13000.0 36 months 23.40% \n", + "15 9600 9600 9600.0 36 months 23.40% \n", + "16 3500 3500 3500.0 36 months 20.89% \n", + "17 25000 25000 25000.0 60 months 16.91% \n", + "18 16000 16000 16000.0 60 months 20.89% \n", + "19 13000 13000 13000.0 60 months 14.47% \n", + "20 10000 10000 10000.0 36 months 13.56% \n", + "21 13000 13000 13000.0 36 months 14.47% \n", + "22 7000 7000 7000.0 36 months 12.98% \n", + "23 3300 3300 3300.0 36 months 23.40% \n", + "24 20000 20000 20000.0 60 months 11.80% \n", + "... ... ... ... ... ... \n", + "128387 6000 6000 6000.0 36 months 11.55% \n", + "128388 20000 20000 20000.0 36 months 8.46% \n", + "128389 6000 6000 5750.0 36 months 11.55% \n", + "128390 24000 24000 24000.0 36 months 19.92% \n", + "128391 35000 35000 34975.0 36 months 6.67% \n", + "128392 6500 6500 6500.0 36 months 26.31% \n", + "128393 6500 6500 6500.0 36 months 16.91% \n", + "128394 5000 5000 5000.0 36 months 6.11% \n", + "128395 22000 22000 22000.0 36 months 11.55% \n", + "128396 24000 24000 24000.0 60 months 15.02% \n", + "128397 20000 20000 20000.0 60 months 15.02% \n", + "128398 12000 12000 12000.0 60 months 18.94% \n", + "128399 5000 5000 5000.0 36 months 15.02% \n", + "128400 20000 20000 20000.0 60 months 15.02% \n", + "128401 20000 20000 20000.0 36 months 11.55% \n", + "128402 17500 17500 17500.0 60 months 22.35% \n", + "128403 5000 5000 5000.0 36 months 16.14% \n", + "128404 5000 5000 5000.0 36 months 16.14% \n", + "128405 22000 22000 22000.0 60 months 7.84% \n", + "128406 5600 5600 5600.0 36 months 13.56% \n", + "128407 23000 23000 23000.0 36 months 15.02% \n", + "128408 10000 10000 10000.0 36 months 15.02% \n", + "128409 5000 5000 5000.0 36 months 13.56% \n", + "128410 10000 10000 9750.0 36 months 11.06% \n", + "128411 10000 10000 10000.0 36 months 16.91% \n", + "\n", + " installment grade sub_grade emp_title \\\n", + "0 324.23 B B1 NaN \n", + "1 155.68 E E1 Security \n", + "2 180.69 D D1 Administrative \n", + "3 620.81 D D4 Operator \n", + "4 311.35 E E1 Manager \n", + "5 710.26 B B4 Nursing Supervisor \n", + "6 323.37 B B5 NaN \n", + "7 777.23 D D2 Postmaster \n", + "8 84.92 C C1 Chef \n", + "9 276.49 C C1 NaN \n", + "10 264.50 D D3 Material Handler \n", + "11 406.04 D D1 Instructional Coordinator \n", + "12 481.99 E E4 Financial Relationship Associate \n", + "13 352.69 C C2 NaN \n", + "14 505.95 E E1 Sale Representative \n", + "15 373.62 E E1 driver coordinator \n", + "16 131.67 D D4 gas attendant \n", + "17 620.11 C C5 Processor \n", + "18 431.87 D D4 Neonatal Nurse Practitioner \n", + "19 305.67 C C2 Stationary Engineer \n", + "20 339.65 C C1 NaN \n", + "21 447.29 C C2 Exhibits director \n", + "22 235.80 B B5 Worship Director \n", + "23 128.44 E E1 Program Manager \n", + "24 442.88 B B4 NaN \n", + "... ... ... ... ... \n", + "128387 198.00 B B4 ENGINEER \n", + "128388 630.99 A A5 Welder/Blacksmith \n", + "128389 198.00 B B4 RN Supervisor \n", + "128390 890.95 D D3 Corrections officer \n", + "128391 1075.43 A A2 NaN \n", + "128392 262.97 E E4 Merchandise Team Captain \n", + "128393 231.46 C C5 Senior Accountant, Fixed Assets Acctg \n", + "128394 152.36 A A1 Implementation Manager \n", + "128395 726.00 B B4 Sr. application analyst \n", + "128396 571.22 C C3 Instructional Technology Specialist \n", + "128397 476.01 C C3 Technical Supvervisor \n", + "128398 310.90 D D2 Senior Business Account Executive \n", + "128399 173.38 C C3 Tech \n", + "128400 476.01 C C3 production supervisor \n", + "128401 660.00 B B4 secondary opps/lead coater \n", + "128402 486.82 D D5 NaN \n", + "128403 176.14 C C4 NaN \n", + "128404 176.14 C C4 Oncology Medical Assistant \n", + "128405 444.40 A A4 Owner \n", + "128406 190.21 C C1 NaN \n", + "128407 797.53 C C3 Tax Consultant \n", + "128408 346.76 C C3 security guard \n", + "128409 169.83 C C1 Payoff Clerk \n", + "128410 327.68 B B3 NaN \n", + "128411 356.08 C C5 Key Accounts Manager \n", + "\n", + " emp_length home_ownership annual_inc verification_status issue_d \\\n", + "0 < 1 year MORTGAGE 280000.0 Not Verified Dec-2018 \n", + "1 3 years RENT 90000.0 Source Verified Dec-2018 \n", + "2 6 years MORTGAGE 59280.0 Source Verified Dec-2018 \n", + "3 5 years RENT 68107.0 Source Verified Dec-2018 \n", + "4 10+ years OWN 43000.0 Source Verified Dec-2018 \n", + "5 10+ years MORTGAGE 150000.0 Not Verified Dec-2018 \n", + "6 NaN MORTGAGE 35704.0 Not Verified Dec-2018 \n", + "7 10+ years MORTGAGE 90000.0 Source Verified Dec-2018 \n", + "8 10+ years RENT 55000.0 Not Verified Dec-2018 \n", + "9 < 1 year MORTGAGE 40000.0 Not Verified Dec-2018 \n", + "10 10+ years MORTGAGE 80000.0 Not Verified Dec-2018 \n", + "11 5 years MORTGAGE 51000.0 Not Verified Dec-2018 \n", + "12 < 1 year RENT 33000.0 Source Verified Dec-2018 \n", + "13 NaN MORTGAGE 30000.0 Source Verified Dec-2018 \n", + "14 2 years MORTGAGE 90000.0 Verified Dec-2018 \n", + "15 9 years RENT 65000.0 Not Verified Dec-2018 \n", + "16 10+ years MORTGAGE 40000.0 Source Verified Dec-2018 \n", + "17 10+ years MORTGAGE 23878.0 Not Verified Dec-2018 \n", + "18 4 years MORTGAGE 120000.0 Not Verified Dec-2018 \n", + "19 10+ years MORTGAGE 75000.0 Not Verified Dec-2018 \n", + "20 < 1 year MORTGAGE 65000.0 Not Verified Dec-2018 \n", + "21 10+ years MORTGAGE 55000.0 Verified Dec-2018 \n", + "22 4 years MORTGAGE 102500.0 Not Verified Dec-2018 \n", + "23 3 years RENT 49700.0 Source Verified Dec-2018 \n", + "24 NaN MORTGAGE 47590.0 Verified Dec-2018 \n", + "... ... ... ... ... ... \n", + "128387 2 years RENT 90000.0 Not Verified Oct-2018 \n", + "128388 10+ years MORTGAGE 97000.0 Source Verified Oct-2018 \n", + "128389 6 years RENT 70000.0 Not Verified Oct-2018 \n", + "128390 10+ years RENT 34000.0 Verified Oct-2018 \n", + "128391 NaN MORTGAGE 85000.0 Source Verified Oct-2018 \n", + "128392 10+ years MORTGAGE 35000.0 Verified Oct-2018 \n", + "128393 7 years RENT 74160.0 Source Verified Oct-2018 \n", + "128394 9 years MORTGAGE 82000.0 Not Verified Oct-2018 \n", + "128395 10+ years MORTGAGE 72000.0 Source Verified Oct-2018 \n", + "128396 10+ years MORTGAGE 60000.0 Not Verified Oct-2018 \n", + "128397 10+ years MORTGAGE 75000.0 Verified Oct-2018 \n", + "128398 6 years RENT 128000.0 Verified Oct-2018 \n", + "128399 10+ years MORTGAGE 35000.0 Source Verified Oct-2018 \n", + "128400 10+ years MORTGAGE 80000.0 Not Verified Oct-2018 \n", + "128401 10+ years OWN 45000.0 Not Verified Oct-2018 \n", + "128402 NaN RENT 25000.0 Verified Oct-2018 \n", + "128403 NaN OWN 9200.0 Source Verified Oct-2018 \n", + "128404 3 years MORTGAGE 46400.0 Source Verified Oct-2018 \n", + "128405 10+ years MORTGAGE 55000.0 Not Verified Oct-2018 \n", + "128406 NaN RENT 15600.0 Not Verified Oct-2018 \n", + "128407 10+ years MORTGAGE 75000.0 Source Verified Oct-2018 \n", + "128408 5 years MORTGAGE 38000.0 Not Verified Oct-2018 \n", + "128409 10+ years MORTGAGE 35360.0 Not Verified Oct-2018 \n", + "128410 NaN RENT 44400.0 Source Verified Oct-2018 \n", + "128411 2 years RENT 80000.0 Not Verified Oct-2018 \n", + "\n", + " loan_status pymnt_plan purpose \\\n", + "0 Current n debt_consolidation \n", + "1 Current n debt_consolidation \n", + "2 Late (31-120 days) n debt_consolidation \n", + "3 Current n debt_consolidation \n", + "4 Current n debt_consolidation \n", + "5 Current n credit_card \n", + "6 Current n home_improvement \n", + "7 Current n debt_consolidation \n", + "8 Fully Paid n debt_consolidation \n", + "9 Current n debt_consolidation \n", + "10 Current n debt_consolidation \n", + "11 Current n debt_consolidation \n", + "12 Current n credit_card \n", + "13 Current n debt_consolidation \n", + "14 Current n other \n", + "15 Current n credit_card \n", + "16 Current n car \n", + "17 Current n debt_consolidation \n", + "18 Current n credit_card \n", + "19 Fully Paid n debt_consolidation \n", + "20 Current n credit_card \n", + "21 Current n credit_card \n", + "22 Current n house \n", + "23 Current n vacation \n", + "24 Current n credit_card \n", + "... ... ... ... \n", + "128387 Current n credit_card \n", + "128388 Current n debt_consolidation \n", + "128389 Charged Off n medical \n", + "128390 Late (31-120 days) n debt_consolidation \n", + "128391 Fully Paid n debt_consolidation \n", + "128392 Current n home_improvement \n", + "128393 Current n debt_consolidation \n", + "128394 Current n other \n", + "128395 Current n debt_consolidation \n", + "128396 Current n debt_consolidation \n", + "128397 Fully Paid n credit_card \n", + "128398 Current n debt_consolidation \n", + "128399 Current n debt_consolidation \n", + "128400 Current n debt_consolidation \n", + "128401 Current n home_improvement \n", + "128402 Current n debt_consolidation \n", + "128403 Current n debt_consolidation \n", + "128404 Fully Paid n debt_consolidation \n", + "128405 Current n other \n", + "128406 Current n credit_card \n", + "128407 Charged Off n debt_consolidation \n", + "128408 Current n debt_consolidation \n", + "128409 Current n debt_consolidation \n", + "128410 Current n credit_card \n", + "128411 Current n other \n", + "\n", + " title zip_code addr_state dti delinq_2yrs \\\n", + "0 Debt consolidation 974xx OR 6.15 2 \n", + "1 Debt consolidation 070xx NJ 26.33 0 \n", + "2 Debt consolidation 490xx MI 10.51 0 \n", + "3 Debt consolidation 672xx KS 0.52 0 \n", + "4 Debt consolidation 357xx AL 33.24 0 \n", + "5 Credit card refinancing 231xx VA 22.21 0 \n", + "6 Home improvement 401xx KY 0.84 0 \n", + "7 Debt consolidation 713xx LA 26.52 0 \n", + "8 Debt consolidation 109xx NY 18.24 0 \n", + "9 Debt consolidation 180xx PA 19.23 0 \n", + "10 Debt consolidation 648xx MO 20.67 0 \n", + "11 Debt consolidation 284xx NC 21.91 0 \n", + "12 Credit card refinancing 290xx SC 33.62 0 \n", + "13 Debt consolidation 756xx TX 41.60 0 \n", + "14 Other 191xx PA 39.73 0 \n", + "15 Credit card refinancing 265xx WV 23.01 1 \n", + "16 Car financing 078xx NJ 9.09 0 \n", + "17 Debt consolidation 453xx OH 6.26 0 \n", + "18 Credit card refinancing 720xx AR 27.57 1 \n", + "19 Debt consolidation 741xx OK 26.16 0 \n", + "20 Credit card refinancing 937xx CA 10.62 0 \n", + "21 Credit card refinancing 611xx IL 10.58 0 \n", + "22 Home buying 436xx OH 15.20 0 \n", + "23 Vacation 310xx GA 14.32 0 \n", + "24 Credit card refinancing 156xx PA 9.53 0 \n", + "... ... ... ... ... ... \n", + "128387 Credit card refinancing 076xx NJ 1.64 0 \n", + "128388 Debt consolidation 604xx IL 15.59 0 \n", + "128389 Medical expenses 912xx CA 11.52 4 \n", + "128390 Debt consolidation 344xx FL 74.09 0 \n", + "128391 Debt consolidation 301xx GA 22.15 0 \n", + "128392 Home improvement 328xx FL 39.51 0 \n", + "128393 Debt consolidation 600xx IL 27.79 0 \n", + "128394 Other 750xx TX 1.35 0 \n", + "128395 Debt consolidation 481xx MI 46.98 0 \n", + "128396 Debt consolidation 750xx TX 9.72 0 \n", + "128397 Credit card refinancing 786xx TX 24.82 0 \n", + "128398 Debt consolidation 937xx CA 13.32 0 \n", + "128399 Debt consolidation 324xx FL 31.76 2 \n", + "128400 Debt consolidation 117xx NY 16.94 0 \n", + "128401 Home improvement 015xx MA 22.13 0 \n", + "128402 Debt consolidation 640xx MO 27.75 0 \n", + "128403 Debt consolidation 365xx AL 23.50 0 \n", + "128404 Debt consolidation 338xx FL 16.85 0 \n", + "128405 Other 982xx WA 2.18 0 \n", + "128406 Credit card refinancing 836xx ID 15.31 0 \n", + "128407 Debt consolidation 352xx AL 20.95 1 \n", + "128408 Debt consolidation 443xx OH 13.16 3 \n", + "128409 Debt consolidation 381xx TN 11.30 1 \n", + "128410 Credit card refinancing 980xx WA 11.78 0 \n", + "128411 Other 021xx MA 17.72 1 \n", + "\n", + " earliest_cr_line inq_last_6mths mths_since_last_delinq ... \\\n", + "0 Jan-1996 0 18.0 ... \n", + "1 Sep-2006 4 59.0 ... \n", + "2 Apr-2011 0 NaN ... \n", + "3 Feb-1997 0 NaN ... \n", + "4 Jan-1995 0 NaN ... \n", + "5 Aug-2005 0 NaN ... \n", + "6 Nov-2003 0 69.0 ... \n", + "7 Jun-1987 0 71.0 ... \n", + "8 Apr-2001 1 NaN ... \n", + "9 Aug-2005 2 NaN ... \n", + "10 Apr-2005 0 37.0 ... \n", + "11 Oct-2005 1 52.0 ... \n", + "12 Sep-2010 1 NaN ... \n", + "13 Oct-1999 0 NaN ... \n", + "14 May-2007 0 NaN ... \n", + "15 Sep-2003 0 16.0 ... \n", + "16 Oct-2004 1 24.0 ... \n", + "17 Oct-2010 0 NaN ... \n", + "18 Jul-2005 0 8.0 ... \n", + "19 Feb-2001 1 NaN ... \n", + "20 Dec-2004 1 30.0 ... \n", + "21 Oct-2001 0 NaN ... \n", + "22 Dec-2002 0 38.0 ... \n", + "23 Nov-2006 1 43.0 ... \n", + "24 Sep-1999 0 62.0 ... \n", + "... ... ... ... ... \n", + "128387 Sep-2010 1 53.0 ... \n", + "128388 Jul-1999 1 64.0 ... \n", + "128389 Dec-1993 0 17.0 ... \n", + "128390 Jun-2006 0 NaN ... \n", + "128391 Apr-1997 2 54.0 ... \n", + "128392 Mar-2004 0 70.0 ... \n", + "128393 Jun-2006 0 38.0 ... \n", + "128394 Feb-2005 0 33.0 ... \n", + "128395 Jun-1999 0 26.0 ... \n", + "128396 Apr-1999 1 43.0 ... \n", + "128397 Apr-1991 2 NaN ... \n", + "128398 Nov-2007 1 46.0 ... \n", + "128399 Jun-2003 0 15.0 ... \n", + "128400 Oct-2005 0 NaN ... \n", + "128401 Dec-2003 0 41.0 ... \n", + "128402 Oct-2001 0 NaN ... \n", + "128403 Apr-2015 1 NaN ... \n", + "128404 Nov-2003 0 29.0 ... \n", + "128405 Apr-1987 0 NaN ... \n", + "128406 Aug-2012 0 NaN ... \n", + "128407 Aug-1985 2 22.0 ... \n", + "128408 Jul-1982 0 6.0 ... \n", + "128409 Jun-2006 0 21.0 ... \n", + "128410 Oct-2008 2 40.0 ... \n", + "128411 Sep-2006 0 14.0 ... \n", + "\n", + " sec_app_chargeoff_within_12_mths sec_app_collections_12_mths_ex_med \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "5 NaN NaN \n", + "6 NaN NaN \n", + "7 NaN NaN \n", + "8 NaN NaN \n", + "9 NaN NaN \n", + "10 NaN NaN \n", + "11 NaN NaN \n", + "12 NaN NaN \n", + "13 0.0 0.0 \n", + "14 NaN NaN \n", + "15 NaN NaN \n", + "16 0.0 0.0 \n", + "17 0.0 0.0 \n", + "18 NaN NaN \n", + "19 NaN NaN \n", + "20 NaN NaN \n", + "21 NaN NaN \n", + "22 NaN NaN \n", + "23 NaN NaN \n", + "24 0.0 0.0 \n", + "... ... ... \n", + "128387 0.0 0.0 \n", + "128388 NaN NaN \n", + "128389 0.0 0.0 \n", + "128390 0.0 1.0 \n", + "128391 0.0 0.0 \n", + "128392 NaN NaN \n", + "128393 0.0 0.0 \n", + "128394 0.0 0.0 \n", + "128395 0.0 0.0 \n", + "128396 NaN NaN \n", + "128397 NaN NaN \n", + "128398 NaN NaN \n", + "128399 NaN NaN \n", + "128400 0.0 0.0 \n", + "128401 NaN NaN \n", + "128402 NaN NaN \n", + "128403 NaN NaN \n", + "128404 NaN NaN \n", + "128405 NaN NaN \n", + "128406 NaN NaN \n", + "128407 NaN NaN \n", + "128408 NaN NaN \n", + "128409 NaN NaN \n", + "128410 NaN NaN \n", + "128411 NaN NaN \n", + "\n", + " sec_app_mths_since_last_major_derog hardship_flag hardship_type \\\n", + "0 NaN N NaN \n", + "1 NaN N NaN \n", + "2 NaN N NaN \n", + "3 NaN N NaN \n", + "4 NaN N NaN \n", + "5 NaN N NaN \n", + "6 NaN N NaN \n", + "7 NaN N NaN \n", + "8 NaN N NaN \n", + "9 NaN N NaN \n", + "10 NaN N NaN \n", + "11 NaN N NaN \n", + "12 NaN N NaN \n", + "13 NaN N NaN \n", + "14 NaN N NaN \n", + "15 NaN N NaN \n", + "16 46.0 N NaN \n", + "17 NaN N NaN \n", + "18 NaN N NaN \n", + "19 NaN N NaN \n", + "20 NaN N NaN \n", + "21 NaN N NaN \n", + "22 NaN N NaN \n", + "23 NaN N NaN \n", + "24 NaN N NaN \n", + "... ... ... ... \n", + "128387 NaN N NaN \n", + "128388 NaN N NaN \n", + "128389 NaN N NaN \n", + "128390 75.0 N NaN \n", + "128391 NaN N NaN \n", + "128392 NaN N NaN \n", + "128393 58.0 N NaN \n", + "128394 13.0 N NaN \n", + "128395 NaN N NaN \n", + "128396 NaN N NaN \n", + "128397 NaN N NaN \n", + "128398 NaN N NaN \n", + "128399 NaN N NaN \n", + "128400 NaN N NaN \n", + "128401 NaN N NaN \n", + "128402 NaN N NaN \n", + "128403 NaN N NaN \n", + "128404 NaN N NaN \n", + "128405 NaN N NaN \n", + "128406 NaN N NaN \n", + "128407 NaN N NaN \n", + "128408 NaN N NaN \n", + "128409 NaN N NaN \n", + "128410 NaN N NaN \n", + "128411 NaN N NaN \n", + "\n", + " hardship_reason hardship_status deferral_term hardship_amount \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "5 NaN NaN NaN NaN \n", + "6 NaN NaN NaN NaN \n", + "7 NaN NaN NaN NaN \n", + "8 NaN NaN NaN NaN \n", + "9 NaN NaN NaN NaN \n", + "10 NaN NaN NaN NaN \n", + "11 NaN NaN NaN NaN \n", + "12 NaN NaN NaN NaN \n", + "13 NaN NaN NaN NaN \n", + "14 NaN NaN NaN NaN \n", + "15 NaN NaN NaN NaN \n", + "16 NaN NaN NaN NaN \n", + "17 NaN NaN NaN NaN \n", + "18 NaN NaN NaN NaN \n", + "19 NaN NaN NaN NaN \n", + "20 NaN NaN NaN NaN \n", + "21 NaN NaN NaN NaN \n", + "22 NaN NaN NaN NaN \n", + "23 NaN NaN NaN NaN \n", + "24 NaN NaN NaN NaN \n", + "... ... ... ... ... \n", + "128387 NaN NaN NaN NaN \n", + "128388 NaN NaN NaN NaN \n", + "128389 NaN NaN NaN NaN \n", + "128390 NaN NaN NaN NaN \n", + "128391 NaN NaN NaN NaN \n", + "128392 NaN NaN NaN NaN \n", + "128393 NaN NaN NaN NaN \n", + "128394 NaN NaN NaN NaN \n", + "128395 NaN NaN NaN NaN \n", + "128396 NaN NaN NaN NaN \n", + "128397 NaN NaN NaN NaN \n", + "128398 NaN NaN NaN NaN \n", + "128399 NaN NaN NaN NaN \n", + "128400 NaN NaN NaN NaN \n", + "128401 NaN NaN NaN NaN \n", + "128402 NaN NaN NaN NaN \n", + "128403 NaN NaN NaN NaN \n", + "128404 NaN NaN NaN NaN \n", + "128405 NaN NaN NaN NaN \n", + "128406 NaN NaN NaN NaN \n", + "128407 NaN NaN NaN NaN \n", + "128408 NaN NaN NaN NaN \n", + "128409 NaN NaN NaN NaN \n", + "128410 NaN NaN NaN NaN \n", + "128411 NaN NaN NaN NaN \n", + "\n", + " hardship_start_date hardship_end_date payment_plan_start_date \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "5 NaN NaN NaN \n", + "6 NaN NaN NaN \n", + "7 NaN NaN NaN \n", + "8 NaN NaN NaN \n", + "9 NaN NaN NaN \n", + "10 NaN NaN NaN \n", + "11 NaN NaN NaN \n", + "12 NaN NaN NaN \n", + "13 NaN NaN NaN \n", + "14 NaN NaN NaN \n", + "15 NaN NaN NaN \n", + "16 NaN NaN NaN \n", + "17 NaN NaN NaN \n", + "18 NaN NaN NaN \n", + "19 NaN NaN NaN \n", + "20 NaN NaN NaN \n", + "21 NaN NaN NaN \n", + "22 NaN NaN NaN \n", + "23 NaN NaN NaN \n", + "24 NaN NaN NaN \n", + "... ... ... ... \n", + "128387 NaN NaN NaN \n", + "128388 NaN NaN NaN \n", + "128389 NaN NaN NaN \n", + "128390 NaN NaN NaN \n", + "128391 NaN NaN NaN \n", + "128392 NaN NaN NaN \n", + "128393 NaN NaN NaN \n", + "128394 NaN NaN NaN \n", + "128395 NaN NaN NaN \n", + "128396 NaN NaN NaN \n", + "128397 NaN NaN NaN \n", + "128398 NaN NaN NaN \n", + "128399 NaN NaN NaN \n", + "128400 NaN NaN NaN \n", + "128401 NaN NaN NaN \n", + "128402 NaN NaN NaN \n", + "128403 NaN NaN NaN \n", + "128404 NaN NaN NaN \n", + "128405 NaN NaN NaN \n", + "128406 NaN NaN NaN \n", + "128407 NaN NaN NaN \n", + "128408 NaN NaN NaN \n", + "128409 NaN NaN NaN \n", + "128410 NaN NaN NaN \n", + "128411 NaN NaN NaN \n", + "\n", + " hardship_length hardship_dpd hardship_loan_status \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "5 NaN NaN NaN \n", + "6 NaN NaN NaN \n", + "7 NaN NaN NaN \n", + "8 NaN NaN NaN \n", + "9 NaN NaN NaN \n", + "10 NaN NaN NaN \n", + "11 NaN NaN NaN \n", + "12 NaN NaN NaN \n", + "13 NaN NaN NaN \n", + "14 NaN NaN NaN \n", + "15 NaN NaN NaN \n", + "16 NaN NaN NaN \n", + "17 NaN NaN NaN \n", + "18 NaN NaN NaN \n", + "19 NaN NaN NaN \n", + "20 NaN NaN NaN \n", + "21 NaN NaN NaN \n", + "22 NaN NaN NaN \n", + "23 NaN NaN NaN \n", + "24 NaN NaN NaN \n", + "... ... ... ... \n", + "128387 NaN NaN NaN \n", + "128388 NaN NaN NaN \n", + "128389 NaN NaN NaN \n", + "128390 NaN NaN NaN \n", + "128391 NaN NaN NaN \n", + "128392 NaN NaN NaN \n", + "128393 NaN NaN NaN \n", + "128394 NaN NaN NaN \n", + "128395 NaN NaN NaN \n", + "128396 NaN NaN NaN \n", + "128397 NaN NaN NaN \n", + "128398 NaN NaN NaN \n", + "128399 NaN NaN NaN \n", + "128400 NaN NaN NaN \n", + "128401 NaN NaN NaN \n", + "128402 NaN NaN NaN \n", + "128403 NaN NaN NaN \n", + "128404 NaN NaN NaN \n", + "128405 NaN NaN NaN \n", + "128406 NaN NaN NaN \n", + "128407 NaN NaN NaN \n", + "128408 NaN NaN NaN \n", + "128409 NaN NaN NaN \n", + "128410 NaN NaN NaN \n", + "128411 NaN NaN NaN \n", + "\n", + " orig_projected_additional_accrued_interest \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN \n", + "10 NaN \n", + "11 NaN \n", + "12 NaN \n", + "13 NaN \n", + "14 NaN \n", + "15 NaN \n", + "16 NaN \n", + "17 NaN \n", + "18 NaN \n", + "19 NaN \n", + "20 NaN \n", + "21 NaN \n", + "22 NaN \n", + "23 NaN \n", + "24 NaN \n", + "... ... \n", + "128387 NaN \n", + "128388 NaN \n", + "128389 NaN \n", + "128390 NaN \n", + "128391 NaN \n", + "128392 NaN \n", + "128393 NaN \n", + "128394 NaN \n", + "128395 NaN \n", + "128396 NaN \n", + "128397 NaN \n", + "128398 NaN \n", + "128399 NaN \n", + "128400 NaN \n", + "128401 NaN \n", + "128402 NaN \n", + "128403 NaN \n", + "128404 NaN \n", + "128405 NaN \n", + "128406 NaN \n", + "128407 NaN \n", + "128408 NaN \n", + "128409 NaN \n", + "128410 NaN \n", + "128411 NaN \n", + "\n", + " hardship_payoff_balance_amount hardship_last_payment_amount \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "5 NaN NaN \n", + "6 NaN NaN \n", + "7 NaN NaN \n", + "8 NaN NaN \n", + "9 NaN NaN \n", + "10 NaN NaN \n", + "11 NaN NaN \n", + "12 NaN NaN \n", + "13 NaN NaN \n", + "14 NaN NaN \n", + "15 NaN NaN \n", + "16 NaN NaN \n", + "17 NaN NaN \n", + "18 NaN NaN \n", + "19 NaN NaN \n", + "20 NaN NaN \n", + "21 NaN NaN \n", + "22 NaN NaN \n", + "23 NaN NaN \n", + "24 NaN NaN \n", + "... ... ... \n", + "128387 NaN NaN \n", + "128388 NaN NaN \n", + "128389 NaN NaN \n", + "128390 NaN NaN \n", + "128391 NaN NaN \n", + "128392 NaN NaN \n", + "128393 NaN NaN \n", + "128394 NaN NaN \n", + "128395 NaN NaN \n", + "128396 NaN NaN \n", + "128397 NaN NaN \n", + "128398 NaN NaN \n", + "128399 NaN NaN \n", + "128400 NaN NaN \n", + "128401 NaN NaN \n", + "128402 NaN NaN \n", + "128403 NaN NaN \n", + "128404 NaN NaN \n", + "128405 NaN NaN \n", + "128406 NaN NaN \n", + "128407 NaN NaN \n", + "128408 NaN NaN \n", + "128409 NaN NaN \n", + "128410 NaN NaN \n", + "128411 NaN NaN \n", + "\n", + " debt_settlement_flag debt_settlement_flag_date settlement_status \\\n", + "0 N NaN NaN \n", + "1 N NaN NaN \n", + "2 N NaN NaN \n", + "3 N NaN NaN \n", + "4 N NaN NaN \n", + "5 N NaN NaN \n", + "6 N NaN NaN \n", + "7 N NaN NaN \n", + "8 N NaN NaN \n", + "9 N NaN NaN \n", + "10 N NaN NaN \n", + "11 N NaN NaN \n", + "12 N NaN NaN \n", + "13 N NaN NaN \n", + "14 N NaN NaN \n", + "15 N NaN NaN \n", + "16 N NaN NaN \n", + "17 N NaN NaN \n", + "18 N NaN NaN \n", + "19 N NaN NaN \n", + "20 N NaN NaN \n", + "21 N NaN NaN \n", + "22 N NaN NaN \n", + "23 N NaN NaN \n", + "24 N NaN NaN \n", + "... ... ... ... \n", + "128387 N NaN NaN \n", + "128388 N NaN NaN \n", + "128389 N NaN NaN \n", + "128390 N NaN NaN \n", + "128391 N NaN NaN \n", + "128392 N NaN NaN \n", + "128393 N NaN NaN \n", + "128394 N NaN NaN \n", + "128395 N NaN NaN \n", + "128396 N NaN NaN \n", + "128397 N NaN NaN \n", + "128398 N NaN NaN \n", + "128399 N NaN NaN \n", + "128400 N NaN NaN \n", + "128401 N NaN NaN \n", + "128402 N NaN NaN \n", + "128403 N NaN NaN \n", + "128404 N NaN NaN \n", + "128405 N NaN NaN \n", + "128406 N NaN NaN \n", + "128407 N NaN NaN \n", + "128408 N NaN NaN \n", + "128409 N NaN NaN \n", + "128410 N NaN NaN \n", + "128411 N NaN NaN \n", + "\n", + " settlement_date settlement_amount settlement_percentage \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "5 NaN NaN NaN \n", + "6 NaN NaN NaN \n", + "7 NaN NaN NaN \n", + "8 NaN NaN NaN \n", + "9 NaN NaN NaN \n", + "10 NaN NaN NaN \n", + "11 NaN NaN NaN \n", + "12 NaN NaN NaN \n", + "13 NaN NaN NaN \n", + "14 NaN NaN NaN \n", + "15 NaN NaN NaN \n", + "16 NaN NaN NaN \n", + "17 NaN NaN NaN \n", + "18 NaN NaN NaN \n", + "19 NaN NaN NaN \n", + "20 NaN NaN NaN \n", + "21 NaN NaN NaN \n", + "22 NaN NaN NaN \n", + "23 NaN NaN NaN \n", + "24 NaN NaN NaN \n", + "... ... ... ... \n", + "128387 NaN NaN NaN \n", + "128388 NaN NaN NaN \n", + "128389 NaN NaN NaN \n", + "128390 NaN NaN NaN \n", + "128391 NaN NaN NaN \n", + "128392 NaN NaN NaN \n", + "128393 NaN NaN NaN \n", + "128394 NaN NaN NaN \n", + "128395 NaN NaN NaN \n", + "128396 NaN NaN NaN \n", + "128397 NaN NaN NaN \n", + "128398 NaN NaN NaN \n", + "128399 NaN NaN NaN \n", + "128400 NaN NaN NaN \n", + "128401 NaN NaN NaN \n", + "128402 NaN NaN NaN \n", + "128403 NaN NaN NaN \n", + "128404 NaN NaN NaN \n", + "128405 NaN NaN NaN \n", + "128406 NaN NaN NaN \n", + "128407 NaN NaN NaN \n", + "128408 NaN NaN NaN \n", + "128409 NaN NaN NaN \n", + "128410 NaN NaN NaN \n", + "128411 NaN NaN NaN \n", + "\n", + " settlement_term \n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN \n", + "10 NaN \n", + "11 NaN \n", + "12 NaN \n", + "13 NaN \n", + "14 NaN \n", + "15 NaN \n", + "16 NaN \n", + "17 NaN \n", + "18 NaN \n", + "19 NaN \n", + "20 NaN \n", + "21 NaN \n", + "22 NaN \n", + "23 NaN \n", + "24 NaN \n", + "... ... \n", + "128387 NaN \n", + "128388 NaN \n", + "128389 NaN \n", + "128390 NaN \n", + "128391 NaN \n", + "128392 NaN \n", + "128393 NaN \n", + "128394 NaN \n", + "128395 NaN \n", + "128396 NaN \n", + "128397 NaN \n", + "128398 NaN \n", + "128399 NaN \n", + "128400 NaN \n", + "128401 NaN \n", + "128402 NaN \n", + "128403 NaN \n", + "128404 NaN \n", + "128405 NaN \n", + "128406 NaN \n", + "128407 NaN \n", + "128408 NaN \n", + "128409 NaN \n", + "128410 NaN \n", + "128411 NaN \n", + "\n", + "[128412 rows x 140 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 25 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "yv81fT38b7Y5", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df = df.drop(columns=['id', 'member_id', 'desc', 'url'])" ], "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "metadata": { + "id": "SPVq6Db9cEI2", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 225 + }, + "outputId": "7081c67c-3a7d-41b3-9557-7157e826a425" + }, + "source": [ + "hardship_cols = [col for col in df.columns if col.startswith('hardship_')]\n", + "hardship_cols" + ], + "execution_count": 28, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['hardship_flag',\n", + " 'hardship_type',\n", + " 'hardship_reason',\n", + " 'hardship_status',\n", + " 'hardship_amount',\n", + " 'hardship_start_date',\n", + " 'hardship_end_date',\n", + " 'hardship_length',\n", + " 'hardship_dpd',\n", + " 'hardship_loan_status',\n", + " 'hardship_payoff_balance_amount',\n", + " 'hardship_last_payment_amount']" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 28 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZlgwkmgOcWJb", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df = df.drop(columns=hardship_cols)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "SDveWAFlccJz", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 209 + }, + "outputId": "23191a28-76e9-4810-90ef-c6cc30622bb2" + }, + "source": [ + "df.describe(exclude='number')" + ], + "execution_count": 30, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
termint_rategradesub_gradeemp_titleemp_lengthhome_ownershipverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_stateearliest_cr_linerevol_utilinitial_list_statuslast_pymnt_dnext_pymnt_dlast_credit_pull_dapplication_typeverification_status_jointsec_app_earliest_cr_linepayment_plan_start_datedebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_date
count128412128412128412128412107465116708128412128412128412128412128412128412128412128412128412128412128256128412128253112289128411128412148481678227128412111111111
unique24673543892114337212128805064410742123122357332637
top36 months13.56%AA4Teacher10+ yearsMORTGAGENot VerifiedOct-2018Currentndebt_consolidationDebt consolidation112xxCAAug-20060%wAug-2019Sep-2019Aug-2019IndividualNot VerifiedAug-2006Aug-2019NAug-2019ACTIVEJul-2019
freq881796974380119770209038826634905835046305108584128398706037060313701787911301132114498105424112228117910111630636015515128301489943
\n", + "
" + ], + "text/plain": [ + " term int_rate grade sub_grade emp_title emp_length \\\n", + "count 128412 128412 128412 128412 107465 116708 \n", + "unique 2 46 7 35 43892 11 \n", + "top 36 months 13.56% A A4 Teacher 10+ years \n", + "freq 88179 6974 38011 9770 2090 38826 \n", + "\n", + " home_ownership verification_status issue_d loan_status pymnt_plan \\\n", + "count 128412 128412 128412 128412 128412 \n", + "unique 4 3 3 7 2 \n", + "top MORTGAGE Not Verified Oct-2018 Current n \n", + "freq 63490 58350 46305 108584 128398 \n", + "\n", + " purpose title zip_code addr_state \\\n", + "count 128412 128412 128412 128412 \n", + "unique 12 12 880 50 \n", + "top debt_consolidation Debt consolidation 112xx CA \n", + "freq 70603 70603 1370 17879 \n", + "\n", + " earliest_cr_line revol_util initial_list_status last_pymnt_d \\\n", + "count 128412 128256 128412 128253 \n", + "unique 644 1074 2 12 \n", + "top Aug-2006 0% w Aug-2019 \n", + "freq 1130 1132 114498 105424 \n", + "\n", + " next_pymnt_d last_credit_pull_d application_type \\\n", + "count 112289 128411 128412 \n", + "unique 3 12 2 \n", + "top Sep-2019 Aug-2019 Individual \n", + "freq 112228 117910 111630 \n", + "\n", + " verification_status_joint sec_app_earliest_cr_line \\\n", + "count 14848 16782 \n", + "unique 3 573 \n", + "top Not Verified Aug-2006 \n", + "freq 6360 155 \n", + "\n", + " payment_plan_start_date debt_settlement_flag debt_settlement_flag_date \\\n", + "count 27 128412 111 \n", + "unique 3 2 6 \n", + "top Aug-2019 N Aug-2019 \n", + "freq 15 128301 48 \n", + "\n", + " settlement_status settlement_date \n", + "count 111 111 \n", + "unique 3 7 \n", + "top ACTIVE Jul-2019 \n", + "freq 99 43 " + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 30 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0RqeHyLPi3_6", + "colab_type": "text" + }, + "source": [ + "### Convert int_rate" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "u0ltBe6Bcn2r", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "cac8571d-db52-400f-fe55-19c541d08a04" + }, + "source": [ + "df['int_rate']" + ], + "execution_count": 31, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 10.33%\n", + "1 23.40%\n", + "2 17.97%\n", + "3 20.89%\n", + "4 23.40%\n", + "5 11.80%\n", + "6 12.98%\n", + "7 18.94%\n", + "8 13.56%\n", + "9 13.56%\n", + "10 19.92%\n", + "11 17.97%\n", + "12 26.31%\n", + "13 14.47%\n", + "14 23.40%\n", + "15 23.40%\n", + "16 20.89%\n", + "17 16.91%\n", + "18 20.89%\n", + "19 14.47%\n", + "20 13.56%\n", + "21 14.47%\n", + "22 12.98%\n", + "23 23.40%\n", + "24 11.80%\n", + " ... \n", + "128387 11.55%\n", + "128388 8.46%\n", + "128389 11.55%\n", + "128390 19.92%\n", + "128391 6.67%\n", + "128392 26.31%\n", + "128393 16.91%\n", + "128394 6.11%\n", + "128395 11.55%\n", + "128396 15.02%\n", + "128397 15.02%\n", + "128398 18.94%\n", + "128399 15.02%\n", + "128400 15.02%\n", + "128401 11.55%\n", + "128402 22.35%\n", + "128403 16.14%\n", + "128404 16.14%\n", + "128405 7.84%\n", + "128406 13.56%\n", + "128407 15.02%\n", + "128408 15.02%\n", + "128409 13.56%\n", + "128410 11.06%\n", + "128411 16.91%\n", + "Name: int_rate, Length: 128412, dtype: object" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 31 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "V8S1bRoJctDS", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "e8aa8541-07b6-4639-8d2c-35529a7a66d5" + }, + "source": [ + "a = '16.91%'\n", + "a[:-1]" + ], + "execution_count": 33, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'16.91'" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 33 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7xjf05Fvc0_W", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "72429144-2e21-477f-c2eb-840d54ed5f0e" + }, + "source": [ + "a.strip('%')" + ], + "execution_count": 34, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'16.91'" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 34 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "0Trv-zQ9c_EL", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "ccf77eb0-5a64-432b-9993-e3e99f1d7818" + }, + "source": [ + "b = '%16%.91%'\n", + "b.strip('%')" + ], + "execution_count": 35, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'16%.91'" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 35 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "f7v3ad5UdIFu", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "6d55587f-4124-4522-8276-1980bfcfb00d" + }, + "source": [ + "b.replace('%', '')" + ], + "execution_count": 36, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'16.91'" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 36 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "SZC5XLX2dO5Y", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "77ee51c1-3eda-497a-efa2-5c5c91f8b57b" + }, + "source": [ + "float(b.replace('%', ''))" + ], + "execution_count": 37, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "16.91" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 37 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "VbIAMc9ldT7o", + "colab_type": "code", + "colab": {} + }, + "source": [ + "def remove_percent_to_float(x):\n", + " return float(x[:-1])" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "bDRlhcvZdsq8", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['int_rate'] = df['int_rate'].apply(remove_percent_to_float)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "a1m37Nxed33c", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 338 + }, + "outputId": "36de8416-f5c5-4bf4-9527-4daed7d2d67b" + }, + "source": [ + "df.head()" + ], + "execution_count": 41, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amntfunded_amntfunded_amnt_invtermint_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinq...tot_hi_cred_limtotal_bal_ex_morttotal_bc_limittotal_il_high_credit_limitrevol_bal_jointsec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_derogdeferral_termpayment_plan_start_dateorig_projected_additional_accrued_interestdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_term
0100001000010000.036 months10.33324.23BB1NaN< 1 yearMORTGAGE280000.0Not VerifiedDec-2018Currentndebt_consolidationDebt consolidation974xxOR6.152Jan-1996018.0...367828613642090054912NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
1400040004000.036 months23.40155.68EE1Security3 yearsRENT90000.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation070xxNJ26.330Sep-2006459.0...98655669262190071555NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
2500050005000.036 months17.97180.69DD1Administrative6 yearsMORTGAGE59280.0Source VerifiedDec-2018Late (31-120 days)ndebt_consolidationDebt consolidation490xxMI10.510Apr-20110NaN...136927117491380010000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
3230002300023000.060 months20.89620.81DD4Operator5 yearsRENT68107.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation672xxKS0.520Feb-19970NaN...750097633000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
4800080008000.036 months23.40311.35EE1Manager10+ yearsOWN43000.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation357xxAL33.240Jan-19950NaN...19974431078230032206NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
\n", + "

5 rows × 128 columns

\n", + "
" + ], + "text/plain": [ + " loan_amnt funded_amnt funded_amnt_inv term int_rate installment \\\n", + "0 10000 10000 10000.0 36 months 10.33 324.23 \n", + "1 4000 4000 4000.0 36 months 23.40 155.68 \n", + "2 5000 5000 5000.0 36 months 17.97 180.69 \n", + "3 23000 23000 23000.0 60 months 20.89 620.81 \n", + "4 8000 8000 8000.0 36 months 23.40 311.35 \n", + "\n", + " grade sub_grade emp_title emp_length home_ownership annual_inc \\\n", + "0 B B1 NaN < 1 year MORTGAGE 280000.0 \n", + "1 E E1 Security 3 years RENT 90000.0 \n", + "2 D D1 Administrative 6 years MORTGAGE 59280.0 \n", + "3 D D4 Operator 5 years RENT 68107.0 \n", + "4 E E1 Manager 10+ years OWN 43000.0 \n", + "\n", + " verification_status issue_d loan_status pymnt_plan \\\n", + "0 Not Verified Dec-2018 Current n \n", + "1 Source Verified Dec-2018 Current n \n", + "2 Source Verified Dec-2018 Late (31-120 days) n \n", + "3 Source Verified Dec-2018 Current n \n", + "4 Source Verified Dec-2018 Current n \n", + "\n", + " purpose title zip_code addr_state dti \\\n", + "0 debt_consolidation Debt consolidation 974xx OR 6.15 \n", + "1 debt_consolidation Debt consolidation 070xx NJ 26.33 \n", + "2 debt_consolidation Debt consolidation 490xx MI 10.51 \n", + "3 debt_consolidation Debt consolidation 672xx KS 0.52 \n", + "4 debt_consolidation Debt consolidation 357xx AL 33.24 \n", + "\n", + " delinq_2yrs earliest_cr_line inq_last_6mths mths_since_last_delinq ... \\\n", + "0 2 Jan-1996 0 18.0 ... \n", + "1 0 Sep-2006 4 59.0 ... \n", + "2 0 Apr-2011 0 NaN ... \n", + "3 0 Feb-1997 0 NaN ... \n", + "4 0 Jan-1995 0 NaN ... \n", + "\n", + " tot_hi_cred_lim total_bal_ex_mort total_bc_limit \\\n", + "0 367828 61364 20900 \n", + "1 98655 66926 21900 \n", + "2 136927 11749 13800 \n", + "3 7500 976 3300 \n", + "4 199744 31078 2300 \n", + "\n", + " total_il_high_credit_limit revol_bal_joint sec_app_earliest_cr_line \\\n", + "0 54912 NaN NaN \n", + "1 71555 NaN NaN \n", + "2 10000 NaN NaN \n", + "3 0 NaN NaN \n", + "4 32206 NaN NaN \n", + "\n", + " sec_app_inq_last_6mths sec_app_mort_acc sec_app_open_acc \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_revol_util sec_app_open_act_il sec_app_num_rev_accts \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_chargeoff_within_12_mths sec_app_collections_12_mths_ex_med \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " sec_app_mths_since_last_major_derog deferral_term payment_plan_start_date \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " orig_projected_additional_accrued_interest debt_settlement_flag \\\n", + "0 NaN N \n", + "1 NaN N \n", + "2 NaN N \n", + "3 NaN N \n", + "4 NaN N \n", + "\n", + " debt_settlement_flag_date settlement_status settlement_date \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " settlement_amount settlement_percentage settlement_term \n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + "[5 rows x 128 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 41 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "AS8TDraed7VM", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 381 + }, + "outputId": "d1f0550d-dbc4-4e87-cab6-483cd0258af9" + }, + "source": [ + "df['emp_title'].value_counts(dropna=False).head(20)" + ], + "execution_count": 42, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "NaN 20947\n", + "Teacher 2090\n", + "Manager 1773\n", + "Registered Nurse 952\n", + "Driver 924\n", + "RN 726\n", + "Supervisor 697\n", + "Sales 580\n", + "Project Manager 526\n", + "General Manager 523\n", + "Office Manager 521\n", + "Owner 420\n", + "Director 402\n", + "Truck Driver 387\n", + "Operations Manager 387\n", + "Nurse 326\n", + "Engineer 325\n", + "Sales Manager 304\n", + "manager 301\n", + "Supervisor 270\n", + "Name: emp_title, dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 42 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "GYyPQ_XMeM_D", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 209 + }, + "outputId": "fa5c7b10-a1be-46b4-e9b7-fc87e82a4617" + }, + "source": [ + "df.describe(exclude='number')" + ], + "execution_count": 43, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
termgradesub_gradeemp_titleemp_lengthhome_ownershipverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_stateearliest_cr_linerevol_utilinitial_list_statuslast_pymnt_dnext_pymnt_dlast_credit_pull_dapplication_typeverification_status_jointsec_app_earliest_cr_linepayment_plan_start_datedebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_date
count128412128412128412107465116708128412128412128412128412128412128412128412128412128412128412128256128412128253112289128411128412148481678227128412111111111
unique273543892114337212128805064410742123122357332637
top36 monthsAA4Teacher10+ yearsMORTGAGENot VerifiedOct-2018Currentndebt_consolidationDebt consolidation112xxCAAug-20060%wAug-2019Sep-2019Aug-2019IndividualNot VerifiedAug-2006Aug-2019NAug-2019ACTIVEJul-2019
freq88179380119770209038826634905835046305108584128398706037060313701787911301132114498105424112228117910111630636015515128301489943
\n", + "
" + ], + "text/plain": [ + " term grade sub_grade emp_title emp_length home_ownership \\\n", + "count 128412 128412 128412 107465 116708 128412 \n", + "unique 2 7 35 43892 11 4 \n", + "top 36 months A A4 Teacher 10+ years MORTGAGE \n", + "freq 88179 38011 9770 2090 38826 63490 \n", + "\n", + " verification_status issue_d loan_status pymnt_plan \\\n", + "count 128412 128412 128412 128412 \n", + "unique 3 3 7 2 \n", + "top Not Verified Oct-2018 Current n \n", + "freq 58350 46305 108584 128398 \n", + "\n", + " purpose title zip_code addr_state \\\n", + "count 128412 128412 128412 128412 \n", + "unique 12 12 880 50 \n", + "top debt_consolidation Debt consolidation 112xx CA \n", + "freq 70603 70603 1370 17879 \n", + "\n", + " earliest_cr_line revol_util initial_list_status last_pymnt_d \\\n", + "count 128412 128256 128412 128253 \n", + "unique 644 1074 2 12 \n", + "top Aug-2006 0% w Aug-2019 \n", + "freq 1130 1132 114498 105424 \n", + "\n", + " next_pymnt_d last_credit_pull_d application_type \\\n", + "count 112289 128411 128412 \n", + "unique 3 12 2 \n", + "top Sep-2019 Aug-2019 Individual \n", + "freq 112228 117910 111630 \n", + "\n", + " verification_status_joint sec_app_earliest_cr_line \\\n", + "count 14848 16782 \n", + "unique 3 573 \n", + "top Not Verified Aug-2006 \n", + "freq 6360 155 \n", + "\n", + " payment_plan_start_date debt_settlement_flag debt_settlement_flag_date \\\n", + "count 27 128412 111 \n", + "unique 3 2 6 \n", + "top Aug-2019 N Aug-2019 \n", + "freq 15 128301 48 \n", + "\n", + " settlement_status settlement_date \n", + "count 111 111 \n", + "unique 3 7 \n", + "top ACTIVE Jul-2019 \n", + "freq 99 43 " + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 43 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "wDBdnMkveTfU", + "colab_type": "code", + "colab": {} + }, + "source": [ + "def clean_title(title):\n", + " if isinstance(title, str):\n", + " return title.strip().lower()\n", + " else:\n", + " return 'unknown'" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "2LIgq2npemA_", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['emp_title'] = df['emp_title'].apply(clean_title)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "JAf3gWOney1k", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 381 + }, + "outputId": "cebba66a-bd8b-4005-ab33-3ea3442c68ba" + }, + "source": [ + "df['emp_title'].value_counts(dropna=False).head(20)" + ], + "execution_count": 46, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "unknown 20947\n", + "teacher 2557\n", + "manager 2395\n", + "registered nurse 1418\n", + "driver 1258\n", + "supervisor 1160\n", + "truck driver 920\n", + "rn 834\n", + "office manager 805\n", + "sales 803\n", + "general manager 791\n", + "project manager 720\n", + "owner 625\n", + "director 523\n", + "operations manager 518\n", + "sales manager 500\n", + "police officer 440\n", + "nurse 425\n", + "technician 420\n", + "engineer 412\n", + "Name: emp_title, dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 46 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "4sfFFyRwe8to", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "a67605e8-a6da-423b-efdd-b891b988a9b2" + }, + "source": [ + "type(np.NaN)" + ], + "execution_count": 47, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "float" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 47 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZKdSDW1kfV0T", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['emp_title_manager'] = df['emp_title'].str.contains('manager')" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Xz7NnN-BfhRC", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 156 + }, + "outputId": "648b6593-440e-4e88-a0a9-74f184d93053" + }, + "source": [ + "df.columns" + ], + "execution_count": 49, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Index(['loan_amnt', 'funded_amnt', 'funded_amnt_inv', 'term', 'int_rate',\n", + " 'installment', 'grade', 'sub_grade', 'emp_title', 'emp_length',\n", + " ...\n", + " 'payment_plan_start_date', 'orig_projected_additional_accrued_interest',\n", + " 'debt_settlement_flag', 'debt_settlement_flag_date',\n", + " 'settlement_status', 'settlement_date', 'settlement_amount',\n", + " 'settlement_percentage', 'settlement_term', 'emp_title_manager'],\n", + " dtype='object', length=129)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 49 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "LDPZWsvFfjn0", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 338 + }, + "outputId": "9dc8228f-1470-497a-d269-4ccf6f24b2f4" + }, + "source": [ + "df.head()" + ], + "execution_count": 50, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amntfunded_amntfunded_amnt_invtermint_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinq...total_bal_ex_morttotal_bc_limittotal_il_high_credit_limitrevol_bal_jointsec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_derogdeferral_termpayment_plan_start_dateorig_projected_additional_accrued_interestdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_termemp_title_manager
0100001000010000.036 months10.33324.23BB1unknown< 1 yearMORTGAGE280000.0Not VerifiedDec-2018Currentndebt_consolidationDebt consolidation974xxOR6.152Jan-1996018.0...613642090054912NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse
1400040004000.036 months23.40155.68EE1security3 yearsRENT90000.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation070xxNJ26.330Sep-2006459.0...669262190071555NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse
2500050005000.036 months17.97180.69DD1administrative6 yearsMORTGAGE59280.0Source VerifiedDec-2018Late (31-120 days)ndebt_consolidationDebt consolidation490xxMI10.510Apr-20110NaN...117491380010000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse
3230002300023000.060 months20.89620.81DD4operator5 yearsRENT68107.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation672xxKS0.520Feb-19970NaN...97633000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse
4800080008000.036 months23.40311.35EE1manager10+ yearsOWN43000.0Source VerifiedDec-2018Currentndebt_consolidationDebt consolidation357xxAL33.240Jan-19950NaN...31078230032206NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNTrue
\n", + "

5 rows × 129 columns

\n", + "
" + ], + "text/plain": [ + " loan_amnt funded_amnt funded_amnt_inv term int_rate installment \\\n", + "0 10000 10000 10000.0 36 months 10.33 324.23 \n", + "1 4000 4000 4000.0 36 months 23.40 155.68 \n", + "2 5000 5000 5000.0 36 months 17.97 180.69 \n", + "3 23000 23000 23000.0 60 months 20.89 620.81 \n", + "4 8000 8000 8000.0 36 months 23.40 311.35 \n", + "\n", + " grade sub_grade emp_title emp_length home_ownership annual_inc \\\n", + "0 B B1 unknown < 1 year MORTGAGE 280000.0 \n", + "1 E E1 security 3 years RENT 90000.0 \n", + "2 D D1 administrative 6 years MORTGAGE 59280.0 \n", + "3 D D4 operator 5 years RENT 68107.0 \n", + "4 E E1 manager 10+ years OWN 43000.0 \n", + "\n", + " verification_status issue_d loan_status pymnt_plan \\\n", + "0 Not Verified Dec-2018 Current n \n", + "1 Source Verified Dec-2018 Current n \n", + "2 Source Verified Dec-2018 Late (31-120 days) n \n", + "3 Source Verified Dec-2018 Current n \n", + "4 Source Verified Dec-2018 Current n \n", + "\n", + " purpose title zip_code addr_state dti \\\n", + "0 debt_consolidation Debt consolidation 974xx OR 6.15 \n", + "1 debt_consolidation Debt consolidation 070xx NJ 26.33 \n", + "2 debt_consolidation Debt consolidation 490xx MI 10.51 \n", + "3 debt_consolidation Debt consolidation 672xx KS 0.52 \n", + "4 debt_consolidation Debt consolidation 357xx AL 33.24 \n", + "\n", + " delinq_2yrs earliest_cr_line inq_last_6mths mths_since_last_delinq ... \\\n", + "0 2 Jan-1996 0 18.0 ... \n", + "1 0 Sep-2006 4 59.0 ... \n", + "2 0 Apr-2011 0 NaN ... \n", + "3 0 Feb-1997 0 NaN ... \n", + "4 0 Jan-1995 0 NaN ... \n", + "\n", + " total_bal_ex_mort total_bc_limit total_il_high_credit_limit \\\n", + "0 61364 20900 54912 \n", + "1 66926 21900 71555 \n", + "2 11749 13800 10000 \n", + "3 976 3300 0 \n", + "4 31078 2300 32206 \n", + "\n", + " revol_bal_joint sec_app_earliest_cr_line sec_app_inq_last_6mths \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_mort_acc sec_app_open_acc sec_app_revol_util sec_app_open_act_il \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " sec_app_num_rev_accts sec_app_chargeoff_within_12_mths \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " sec_app_collections_12_mths_ex_med sec_app_mths_since_last_major_derog \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " deferral_term payment_plan_start_date \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " orig_projected_additional_accrued_interest debt_settlement_flag \\\n", + "0 NaN N \n", + "1 NaN N \n", + "2 NaN N \n", + "3 NaN N \n", + "4 NaN N \n", + "\n", + " debt_settlement_flag_date settlement_status settlement_date \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " settlement_amount settlement_percentage settlement_term emp_title_manager \n", + "0 NaN NaN NaN False \n", + "1 NaN NaN NaN False \n", + "2 NaN NaN NaN False \n", + "3 NaN NaN NaN False \n", + "4 NaN NaN NaN True \n", + "\n", + "[5 rows x 129 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 50 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "rt0pyxfmfpM0", + "colab_type": "code", + "colab": {} + }, + "source": [ + "mask = df['emp_title_manager'] == True\n", + "managers = df[mask]\n", + "plebians = df[~mask]" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "9wtJE03Sf5KM", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "8e0e42dd-83f7-49dc-b75f-62a8bb65f00a" + }, + "source": [ + "managers.shape[0]" + ], + "execution_count": 53, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "17885" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 53 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "oF_QVFQmf-Dk", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "be193d41-5a4f-4816-9de9-a7ce9cfe7033" + }, + "source": [ + "plebians.shape[0]" + ], + "execution_count": 54, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "110527" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 54 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "oiPoEAQbgCbX", + "colab_type": "code", + "colab": {} + }, + "source": [ + "assert managers.shape[0] + plebians.shape[0] == df.shape[0]" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "pvcVN9EYgPKt", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "145a0714-ab47-4a2c-c646-5711503cb40f" + }, + "source": [ + "df['issue_d']" + ], + "execution_count": 56, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 Dec-2018\n", + "1 Dec-2018\n", + "2 Dec-2018\n", + "3 Dec-2018\n", + "4 Dec-2018\n", + "5 Dec-2018\n", + "6 Dec-2018\n", + "7 Dec-2018\n", + "8 Dec-2018\n", + "9 Dec-2018\n", + "10 Dec-2018\n", + "11 Dec-2018\n", + "12 Dec-2018\n", + "13 Dec-2018\n", + "14 Dec-2018\n", + "15 Dec-2018\n", + "16 Dec-2018\n", + "17 Dec-2018\n", + "18 Dec-2018\n", + "19 Dec-2018\n", + "20 Dec-2018\n", + "21 Dec-2018\n", + "22 Dec-2018\n", + "23 Dec-2018\n", + "24 Dec-2018\n", + " ... \n", + "128387 Oct-2018\n", + "128388 Oct-2018\n", + "128389 Oct-2018\n", + "128390 Oct-2018\n", + "128391 Oct-2018\n", + "128392 Oct-2018\n", + "128393 Oct-2018\n", + "128394 Oct-2018\n", + "128395 Oct-2018\n", + "128396 Oct-2018\n", + "128397 Oct-2018\n", + "128398 Oct-2018\n", + "128399 Oct-2018\n", + "128400 Oct-2018\n", + "128401 Oct-2018\n", + "128402 Oct-2018\n", + "128403 Oct-2018\n", + "128404 Oct-2018\n", + "128405 Oct-2018\n", + "128406 Oct-2018\n", + "128407 Oct-2018\n", + "128408 Oct-2018\n", + "128409 Oct-2018\n", + "128410 Oct-2018\n", + "128411 Oct-2018\n", + "Name: issue_d, Length: 128412, dtype: object" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 56 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "pYR0clWtgXP_", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['issue_d'] = pd.to_datetime(df['issue_d'], infer_datetime_format=True)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "46QgvRZ3gmhv", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "d0d3d813-6f43-4bdd-f6fd-2fbe2cf343bb" + }, + "source": [ + "df['issue_d']" + ], + "execution_count": 58, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 2018-12-01\n", + "1 2018-12-01\n", + "2 2018-12-01\n", + "3 2018-12-01\n", + "4 2018-12-01\n", + "5 2018-12-01\n", + "6 2018-12-01\n", + "7 2018-12-01\n", + "8 2018-12-01\n", + "9 2018-12-01\n", + "10 2018-12-01\n", + "11 2018-12-01\n", + "12 2018-12-01\n", + "13 2018-12-01\n", + "14 2018-12-01\n", + "15 2018-12-01\n", + "16 2018-12-01\n", + "17 2018-12-01\n", + "18 2018-12-01\n", + "19 2018-12-01\n", + "20 2018-12-01\n", + "21 2018-12-01\n", + "22 2018-12-01\n", + "23 2018-12-01\n", + "24 2018-12-01\n", + " ... \n", + "128387 2018-10-01\n", + "128388 2018-10-01\n", + "128389 2018-10-01\n", + "128390 2018-10-01\n", + "128391 2018-10-01\n", + "128392 2018-10-01\n", + "128393 2018-10-01\n", + "128394 2018-10-01\n", + "128395 2018-10-01\n", + "128396 2018-10-01\n", + "128397 2018-10-01\n", + "128398 2018-10-01\n", + "128399 2018-10-01\n", + "128400 2018-10-01\n", + "128401 2018-10-01\n", + "128402 2018-10-01\n", + "128403 2018-10-01\n", + "128404 2018-10-01\n", + "128405 2018-10-01\n", + "128406 2018-10-01\n", + "128407 2018-10-01\n", + "128408 2018-10-01\n", + "128409 2018-10-01\n", + "128410 2018-10-01\n", + "128411 2018-10-01\n", + "Name: issue_d, Length: 128412, dtype: datetime64[ns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 58 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "zTcwxmasgrJo", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "a172c89b-a6c5-4585-d317-db5ac0619d08" + }, + "source": [ + "df['issue_d'].dt.weekday" + ], + "execution_count": 59, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 5\n", + "1 5\n", + "2 5\n", + "3 5\n", + "4 5\n", + "5 5\n", + "6 5\n", + "7 5\n", + "8 5\n", + "9 5\n", + "10 5\n", + "11 5\n", + "12 5\n", + "13 5\n", + "14 5\n", + "15 5\n", + "16 5\n", + "17 5\n", + "18 5\n", + "19 5\n", + "20 5\n", + "21 5\n", + "22 5\n", + "23 5\n", + "24 5\n", + " ..\n", + "128387 0\n", + "128388 0\n", + "128389 0\n", + "128390 0\n", + "128391 0\n", + "128392 0\n", + "128393 0\n", + "128394 0\n", + "128395 0\n", + "128396 0\n", + "128397 0\n", + "128398 0\n", + "128399 0\n", + "128400 0\n", + "128401 0\n", + "128402 0\n", + "128403 0\n", + "128404 0\n", + "128405 0\n", + "128406 0\n", + "128407 0\n", + "128408 0\n", + "128409 0\n", + "128410 0\n", + "128411 0\n", + "Name: issue_d, Length: 128412, dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 59 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "sNflWlELgx4N", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['issue_year'] = df['issue_d'].dt.year\n", + "df['issue_month'] = df['issue_d'].dt.month" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "E_xKDjhWhE9c", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 338 + }, + "outputId": "61d5fbb0-1585-48a5-f06e-645255cb2175" + }, + "source": [ + "df.head()" + ], + "execution_count": 61, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amntfunded_amntfunded_amnt_invtermint_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinq...total_il_high_credit_limitrevol_bal_jointsec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_derogdeferral_termpayment_plan_start_dateorig_projected_additional_accrued_interestdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_termemp_title_managerissue_yearissue_month
0100001000010000.036 months10.33324.23BB1unknown< 1 yearMORTGAGE280000.0Not Verified2018-12-01Currentndebt_consolidationDebt consolidation974xxOR6.152Jan-1996018.0...54912NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse201812
1400040004000.036 months23.40155.68EE1security3 yearsRENT90000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation070xxNJ26.330Sep-2006459.0...71555NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse201812
2500050005000.036 months17.97180.69DD1administrative6 yearsMORTGAGE59280.0Source Verified2018-12-01Late (31-120 days)ndebt_consolidationDebt consolidation490xxMI10.510Apr-20110NaN...10000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse201812
3230002300023000.060 months20.89620.81DD4operator5 yearsRENT68107.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation672xxKS0.520Feb-19970NaN...0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse201812
4800080008000.036 months23.40311.35EE1manager10+ yearsOWN43000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation357xxAL33.240Jan-19950NaN...32206NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNTrue201812
\n", + "

5 rows × 131 columns

\n", + "
" + ], + "text/plain": [ + " loan_amnt funded_amnt funded_amnt_inv term int_rate installment \\\n", + "0 10000 10000 10000.0 36 months 10.33 324.23 \n", + "1 4000 4000 4000.0 36 months 23.40 155.68 \n", + "2 5000 5000 5000.0 36 months 17.97 180.69 \n", + "3 23000 23000 23000.0 60 months 20.89 620.81 \n", + "4 8000 8000 8000.0 36 months 23.40 311.35 \n", + "\n", + " grade sub_grade emp_title emp_length home_ownership annual_inc \\\n", + "0 B B1 unknown < 1 year MORTGAGE 280000.0 \n", + "1 E E1 security 3 years RENT 90000.0 \n", + "2 D D1 administrative 6 years MORTGAGE 59280.0 \n", + "3 D D4 operator 5 years RENT 68107.0 \n", + "4 E E1 manager 10+ years OWN 43000.0 \n", + "\n", + " verification_status issue_d loan_status pymnt_plan \\\n", + "0 Not Verified 2018-12-01 Current n \n", + "1 Source Verified 2018-12-01 Current n \n", + "2 Source Verified 2018-12-01 Late (31-120 days) n \n", + "3 Source Verified 2018-12-01 Current n \n", + "4 Source Verified 2018-12-01 Current n \n", + "\n", + " purpose title zip_code addr_state dti \\\n", + "0 debt_consolidation Debt consolidation 974xx OR 6.15 \n", + "1 debt_consolidation Debt consolidation 070xx NJ 26.33 \n", + "2 debt_consolidation Debt consolidation 490xx MI 10.51 \n", + "3 debt_consolidation Debt consolidation 672xx KS 0.52 \n", + "4 debt_consolidation Debt consolidation 357xx AL 33.24 \n", + "\n", + " delinq_2yrs earliest_cr_line inq_last_6mths mths_since_last_delinq ... \\\n", + "0 2 Jan-1996 0 18.0 ... \n", + "1 0 Sep-2006 4 59.0 ... \n", + "2 0 Apr-2011 0 NaN ... \n", + "3 0 Feb-1997 0 NaN ... \n", + "4 0 Jan-1995 0 NaN ... \n", + "\n", + " total_il_high_credit_limit revol_bal_joint sec_app_earliest_cr_line \\\n", + "0 54912 NaN NaN \n", + "1 71555 NaN NaN \n", + "2 10000 NaN NaN \n", + "3 0 NaN NaN \n", + "4 32206 NaN NaN \n", + "\n", + " sec_app_inq_last_6mths sec_app_mort_acc sec_app_open_acc \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_revol_util sec_app_open_act_il sec_app_num_rev_accts \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_chargeoff_within_12_mths sec_app_collections_12_mths_ex_med \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " sec_app_mths_since_last_major_derog deferral_term \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " payment_plan_start_date orig_projected_additional_accrued_interest \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " debt_settlement_flag debt_settlement_flag_date settlement_status \\\n", + "0 N NaN NaN \n", + "1 N NaN NaN \n", + "2 N NaN NaN \n", + "3 N NaN NaN \n", + "4 N NaN NaN \n", + "\n", + " settlement_date settlement_amount settlement_percentage settlement_term \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " emp_title_manager issue_year issue_month \n", + "0 False 2018 12 \n", + "1 False 2018 12 \n", + "2 False 2018 12 \n", + "3 False 2018 12 \n", + "4 True 2018 12 \n", + "\n", + "[5 rows x 131 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 61 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kFpUDsOThKlt", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['earliest_cr_line'] = pd.to_datetime(df['earliest_cr_line'], infer_datetime_format=True)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "fGrcT_DahZO9", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 338 + }, + "outputId": "1ff66bd4-6df2-4f21-c4ee-37b9587f65f7" + }, + "source": [ + "df['days_from_cr_line_to_loan'] = (df['issue_d'] - df['earliest_cr_line']).dt.days\n", + "df.head()" + ], + "execution_count": 64, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amntfunded_amntfunded_amnt_invtermint_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinq...revol_bal_jointsec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_derogdeferral_termpayment_plan_start_dateorig_projected_additional_accrued_interestdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_termemp_title_managerissue_yearissue_monthdays_from_cr_line_to_loan
0100001000010000.036 months10.33324.23BB1unknown< 1 yearMORTGAGE280000.0Not Verified2018-12-01Currentndebt_consolidationDebt consolidation974xxOR6.1521996-01-01018.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse2018128370
1400040004000.036 months23.40155.68EE1security3 yearsRENT90000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation070xxNJ26.3302006-09-01459.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse2018124474
2500050005000.036 months17.97180.69DD1administrative6 yearsMORTGAGE59280.0Source Verified2018-12-01Late (31-120 days)ndebt_consolidationDebt consolidation490xxMI10.5102011-04-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse2018122801
3230002300023000.060 months20.89620.81DD4operator5 yearsRENT68107.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation672xxKS0.5201997-02-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse2018127973
4800080008000.036 months23.40311.35EE1manager10+ yearsOWN43000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation357xxAL33.2401995-01-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNTrue2018128735
\n", + "

5 rows × 132 columns

\n", + "
" + ], + "text/plain": [ + " loan_amnt funded_amnt funded_amnt_inv term int_rate installment \\\n", + "0 10000 10000 10000.0 36 months 10.33 324.23 \n", + "1 4000 4000 4000.0 36 months 23.40 155.68 \n", + "2 5000 5000 5000.0 36 months 17.97 180.69 \n", + "3 23000 23000 23000.0 60 months 20.89 620.81 \n", + "4 8000 8000 8000.0 36 months 23.40 311.35 \n", + "\n", + " grade sub_grade emp_title emp_length home_ownership annual_inc \\\n", + "0 B B1 unknown < 1 year MORTGAGE 280000.0 \n", + "1 E E1 security 3 years RENT 90000.0 \n", + "2 D D1 administrative 6 years MORTGAGE 59280.0 \n", + "3 D D4 operator 5 years RENT 68107.0 \n", + "4 E E1 manager 10+ years OWN 43000.0 \n", + "\n", + " verification_status issue_d loan_status pymnt_plan \\\n", + "0 Not Verified 2018-12-01 Current n \n", + "1 Source Verified 2018-12-01 Current n \n", + "2 Source Verified 2018-12-01 Late (31-120 days) n \n", + "3 Source Verified 2018-12-01 Current n \n", + "4 Source Verified 2018-12-01 Current n \n", + "\n", + " purpose title zip_code addr_state dti \\\n", + "0 debt_consolidation Debt consolidation 974xx OR 6.15 \n", + "1 debt_consolidation Debt consolidation 070xx NJ 26.33 \n", + "2 debt_consolidation Debt consolidation 490xx MI 10.51 \n", + "3 debt_consolidation Debt consolidation 672xx KS 0.52 \n", + "4 debt_consolidation Debt consolidation 357xx AL 33.24 \n", + "\n", + " delinq_2yrs earliest_cr_line inq_last_6mths mths_since_last_delinq ... \\\n", + "0 2 1996-01-01 0 18.0 ... \n", + "1 0 2006-09-01 4 59.0 ... \n", + "2 0 2011-04-01 0 NaN ... \n", + "3 0 1997-02-01 0 NaN ... \n", + "4 0 1995-01-01 0 NaN ... \n", + "\n", + " revol_bal_joint sec_app_earliest_cr_line sec_app_inq_last_6mths \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_mort_acc sec_app_open_acc sec_app_revol_util sec_app_open_act_il \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " sec_app_num_rev_accts sec_app_chargeoff_within_12_mths \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " sec_app_collections_12_mths_ex_med sec_app_mths_since_last_major_derog \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " deferral_term payment_plan_start_date \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " orig_projected_additional_accrued_interest debt_settlement_flag \\\n", + "0 NaN N \n", + "1 NaN N \n", + "2 NaN N \n", + "3 NaN N \n", + "4 NaN N \n", + "\n", + " debt_settlement_flag_date settlement_status settlement_date \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " settlement_amount settlement_percentage settlement_term emp_title_manager \\\n", + "0 NaN NaN NaN False \n", + "1 NaN NaN NaN False \n", + "2 NaN NaN NaN False \n", + "3 NaN NaN NaN False \n", + "4 NaN NaN NaN True \n", + "\n", + " issue_year issue_month days_from_cr_line_to_loan \n", + "0 2018 12 8370 \n", + "1 2018 12 4474 \n", + "2 2018 12 2801 \n", + "3 2018 12 7973 \n", + "4 2018 12 8735 \n", + "\n", + "[5 rows x 132 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 64 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "79yzKETEkhUr", + "colab_type": "text" + }, + "source": [ + "# Convert 'Term' To Int" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7iWacFyZhvDq", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 69 + }, + "outputId": "2f37253f-ccf0-44f8-ebc2-9af80d64891d" + }, + "source": [ + "df['term'].value_counts()" + ], + "execution_count": 65, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " 36 months 88179\n", + " 60 months 40233\n", + "Name: term, dtype: int64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 65 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "UUWqXQcXkSbA", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df = df.rename(columns={'term': 'term_(months)'})" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "RpDos6Rvkr9g", + "colab_type": "code", + "colab": {} + }, + "source": [ + "def remove_months(x):\n", + " return int(x[:-7])" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "_IpjDIwwlZn0", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df.head()" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "9Umx8ZhslC2K", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['term_(months)'] = df['term_(months)'].apply(remove_months)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "sUSufef9ntwW", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 338 + }, + "outputId": "d1ada732-2ef9-4cf2-f05a-516a95702efb" + }, + "source": [ + "df.head()" + ], + "execution_count": 78, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amntfunded_amntfunded_amnt_invterm_(months)int_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinq...revol_bal_jointsec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_derogdeferral_termpayment_plan_start_dateorig_projected_additional_accrued_interestdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_termemp_title_managerissue_yearissue_monthdays_from_cr_line_to_loan
0100001000010000.03610.33324.23BB1unknown< 1 yearMORTGAGE280000.0Not Verified2018-12-01Currentndebt_consolidationDebt consolidation974xxOR6.1521996-01-01018.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse2018128370
1400040004000.03623.40155.68EE1security3 yearsRENT90000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation070xxNJ26.3302006-09-01459.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse2018124474
2500050005000.03617.97180.69DD1administrative6 yearsMORTGAGE59280.0Source Verified2018-12-01Late (31-120 days)ndebt_consolidationDebt consolidation490xxMI10.5102011-04-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse2018122801
3230002300023000.06020.89620.81DD4operator5 yearsRENT68107.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation672xxKS0.5201997-02-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse2018127973
4800080008000.03623.40311.35EE1manager10+ yearsOWN43000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation357xxAL33.2401995-01-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNTrue2018128735
\n", + "

5 rows × 132 columns

\n", + "
" + ], + "text/plain": [ + " loan_amnt funded_amnt funded_amnt_inv term_(months) int_rate \\\n", + "0 10000 10000 10000.0 36 10.33 \n", + "1 4000 4000 4000.0 36 23.40 \n", + "2 5000 5000 5000.0 36 17.97 \n", + "3 23000 23000 23000.0 60 20.89 \n", + "4 8000 8000 8000.0 36 23.40 \n", + "\n", + " installment grade sub_grade emp_title emp_length home_ownership \\\n", + "0 324.23 B B1 unknown < 1 year MORTGAGE \n", + "1 155.68 E E1 security 3 years RENT \n", + "2 180.69 D D1 administrative 6 years MORTGAGE \n", + "3 620.81 D D4 operator 5 years RENT \n", + "4 311.35 E E1 manager 10+ years OWN \n", + "\n", + " annual_inc verification_status issue_d loan_status pymnt_plan \\\n", + "0 280000.0 Not Verified 2018-12-01 Current n \n", + "1 90000.0 Source Verified 2018-12-01 Current n \n", + "2 59280.0 Source Verified 2018-12-01 Late (31-120 days) n \n", + "3 68107.0 Source Verified 2018-12-01 Current n \n", + "4 43000.0 Source Verified 2018-12-01 Current n \n", + "\n", + " purpose title zip_code addr_state dti \\\n", + "0 debt_consolidation Debt consolidation 974xx OR 6.15 \n", + "1 debt_consolidation Debt consolidation 070xx NJ 26.33 \n", + "2 debt_consolidation Debt consolidation 490xx MI 10.51 \n", + "3 debt_consolidation Debt consolidation 672xx KS 0.52 \n", + "4 debt_consolidation Debt consolidation 357xx AL 33.24 \n", + "\n", + " delinq_2yrs earliest_cr_line inq_last_6mths mths_since_last_delinq ... \\\n", + "0 2 1996-01-01 0 18.0 ... \n", + "1 0 2006-09-01 4 59.0 ... \n", + "2 0 2011-04-01 0 NaN ... \n", + "3 0 1997-02-01 0 NaN ... \n", + "4 0 1995-01-01 0 NaN ... \n", + "\n", + " revol_bal_joint sec_app_earliest_cr_line sec_app_inq_last_6mths \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_mort_acc sec_app_open_acc sec_app_revol_util sec_app_open_act_il \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " sec_app_num_rev_accts sec_app_chargeoff_within_12_mths \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " sec_app_collections_12_mths_ex_med sec_app_mths_since_last_major_derog \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " deferral_term payment_plan_start_date \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " orig_projected_additional_accrued_interest debt_settlement_flag \\\n", + "0 NaN N \n", + "1 NaN N \n", + "2 NaN N \n", + "3 NaN N \n", + "4 NaN N \n", + "\n", + " debt_settlement_flag_date settlement_status settlement_date \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " settlement_amount settlement_percentage settlement_term emp_title_manager \\\n", + "0 NaN NaN NaN False \n", + "1 NaN NaN NaN False \n", + "2 NaN NaN NaN False \n", + "3 NaN NaN NaN False \n", + "4 NaN NaN NaN True \n", + "\n", + " issue_year issue_month days_from_cr_line_to_loan \n", + "0 2018 12 8370 \n", + "1 2018 12 4474 \n", + "2 2018 12 2801 \n", + "3 2018 12 7973 \n", + "4 2018 12 8735 \n", + "\n", + "[5 rows x 132 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 78 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "LTXPJocSnwc7", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "db41f68e-f6b0-448c-d1e8-6f08d0212113" + }, + "source": [ + "df['term_(months)'].dtype" + ], + "execution_count": 80, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "dtype('int64')" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 80 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lIHxJH4WoAbL", + "colab_type": "text" + }, + "source": [ + "# Loan Status Is Great" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Y0t7__BQoaC1", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "68663254-b22b-4e5d-ab39-400e36ddeba1" + }, + "source": [ + "df['loan_status']" + ], + "execution_count": 82, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 Current\n", + "1 Current\n", + "2 Late (31-120 days)\n", + "3 Current\n", + "4 Current\n", + "5 Current\n", + "6 Current\n", + "7 Current\n", + "8 Fully Paid\n", + "9 Current\n", + "10 Current\n", + "11 Current\n", + "12 Current\n", + "13 Current\n", + "14 Current\n", + "15 Current\n", + "16 Current\n", + "17 Current\n", + "18 Current\n", + "19 Fully Paid\n", + "20 Current\n", + "21 Current\n", + "22 Current\n", + "23 Current\n", + "24 Current\n", + " ... \n", + "128387 Current\n", + "128388 Current\n", + "128389 Charged Off\n", + "128390 Late (31-120 days)\n", + "128391 Fully Paid\n", + "128392 Current\n", + "128393 Current\n", + "128394 Current\n", + "128395 Current\n", + "128396 Current\n", + "128397 Fully Paid\n", + "128398 Current\n", + "128399 Current\n", + "128400 Current\n", + "128401 Current\n", + "128402 Current\n", + "128403 Current\n", + "128404 Fully Paid\n", + "128405 Current\n", + "128406 Current\n", + "128407 Charged Off\n", + "128408 Current\n", + "128409 Current\n", + "128410 Current\n", + "128411 Current\n", + "Name: loan_status, Length: 128412, dtype: object" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 82 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "a3VPrROIoGLE", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "082bdf11-cbcb-4c7f-ad87-5ef77b891194" + }, + "source": [ + "loan_status_great = df['loan_status'].str.contains('Current') | df['loan_status'].str.contains('Fully Paid')\n", + "loan_status_great" + ], + "execution_count": 85, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 True\n", + "1 True\n", + "2 False\n", + "3 True\n", + "4 True\n", + "5 True\n", + "6 True\n", + "7 True\n", + "8 True\n", + "9 True\n", + "10 True\n", + "11 True\n", + "12 True\n", + "13 True\n", + "14 True\n", + "15 True\n", + "16 True\n", + "17 True\n", + "18 True\n", + "19 True\n", + "20 True\n", + "21 True\n", + "22 True\n", + "23 True\n", + "24 True\n", + " ... \n", + "128387 True\n", + "128388 True\n", + "128389 False\n", + "128390 False\n", + "128391 True\n", + "128392 True\n", + "128393 True\n", + "128394 True\n", + "128395 True\n", + "128396 True\n", + "128397 True\n", + "128398 True\n", + "128399 True\n", + "128400 True\n", + "128401 True\n", + "128402 True\n", + "128403 True\n", + "128404 True\n", + "128405 True\n", + "128406 True\n", + "128407 False\n", + "128408 True\n", + "128409 True\n", + "128410 True\n", + "128411 True\n", + "Name: loan_status, Length: 128412, dtype: bool" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 85 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8Hc_zJn2pGdN", + "colab_type": "code", + "colab": {} + }, + "source": [ + "def bool_int_convert(x):\n", + " return int(x)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "OTEwPmifpnw5", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['loan_status_is_great'] = loan_status_great" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "WLM0ZxY4pxbk", + "colab_type": "code", + "colab": {} + }, + "source": [ + "df['loan_status_is_great'] = df['loan_status_is_great'].apply(bool_int_convert)" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "DxMS-s7lpt1-", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 338 + }, + "outputId": "c889cec4-b0b3-4022-fd01-10279d2b6009" + }, + "source": [ + "df.head()" + ], + "execution_count": 91, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amntfunded_amntfunded_amnt_invterm_(months)int_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinq...sec_app_earliest_cr_linesec_app_inq_last_6mthssec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_derogdeferral_termpayment_plan_start_dateorig_projected_additional_accrued_interestdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_termemp_title_managerissue_yearissue_monthdays_from_cr_line_to_loanloan_status_is_great
0100001000010000.03610.33324.23BB1unknown< 1 yearMORTGAGE280000.0Not Verified2018-12-01Currentndebt_consolidationDebt consolidation974xxOR6.1521996-01-01018.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse20181283701
1400040004000.03623.40155.68EE1security3 yearsRENT90000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation070xxNJ26.3302006-09-01459.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse20181244741
2500050005000.03617.97180.69DD1administrative6 yearsMORTGAGE59280.0Source Verified2018-12-01Late (31-120 days)ndebt_consolidationDebt consolidation490xxMI10.5102011-04-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse20181228010
3230002300023000.06020.89620.81DD4operator5 yearsRENT68107.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation672xxKS0.5201997-02-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse20181279731
4800080008000.03623.40311.35EE1manager10+ yearsOWN43000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation357xxAL33.2401995-01-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNTrue20181287351
\n", + "

5 rows × 133 columns

\n", + "
" + ], + "text/plain": [ + " loan_amnt funded_amnt funded_amnt_inv term_(months) int_rate \\\n", + "0 10000 10000 10000.0 36 10.33 \n", + "1 4000 4000 4000.0 36 23.40 \n", + "2 5000 5000 5000.0 36 17.97 \n", + "3 23000 23000 23000.0 60 20.89 \n", + "4 8000 8000 8000.0 36 23.40 \n", + "\n", + " installment grade sub_grade emp_title emp_length home_ownership \\\n", + "0 324.23 B B1 unknown < 1 year MORTGAGE \n", + "1 155.68 E E1 security 3 years RENT \n", + "2 180.69 D D1 administrative 6 years MORTGAGE \n", + "3 620.81 D D4 operator 5 years RENT \n", + "4 311.35 E E1 manager 10+ years OWN \n", + "\n", + " annual_inc verification_status issue_d loan_status pymnt_plan \\\n", + "0 280000.0 Not Verified 2018-12-01 Current n \n", + "1 90000.0 Source Verified 2018-12-01 Current n \n", + "2 59280.0 Source Verified 2018-12-01 Late (31-120 days) n \n", + "3 68107.0 Source Verified 2018-12-01 Current n \n", + "4 43000.0 Source Verified 2018-12-01 Current n \n", + "\n", + " purpose title zip_code addr_state dti \\\n", + "0 debt_consolidation Debt consolidation 974xx OR 6.15 \n", + "1 debt_consolidation Debt consolidation 070xx NJ 26.33 \n", + "2 debt_consolidation Debt consolidation 490xx MI 10.51 \n", + "3 debt_consolidation Debt consolidation 672xx KS 0.52 \n", + "4 debt_consolidation Debt consolidation 357xx AL 33.24 \n", + "\n", + " delinq_2yrs earliest_cr_line inq_last_6mths mths_since_last_delinq ... \\\n", + "0 2 1996-01-01 0 18.0 ... \n", + "1 0 2006-09-01 4 59.0 ... \n", + "2 0 2011-04-01 0 NaN ... \n", + "3 0 1997-02-01 0 NaN ... \n", + "4 0 1995-01-01 0 NaN ... \n", + "\n", + " sec_app_earliest_cr_line sec_app_inq_last_6mths sec_app_mort_acc \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_open_acc sec_app_revol_util sec_app_open_act_il \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_num_rev_accts sec_app_chargeoff_within_12_mths \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " sec_app_collections_12_mths_ex_med sec_app_mths_since_last_major_derog \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " deferral_term payment_plan_start_date \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " orig_projected_additional_accrued_interest debt_settlement_flag \\\n", + "0 NaN N \n", + "1 NaN N \n", + "2 NaN N \n", + "3 NaN N \n", + "4 NaN N \n", + "\n", + " debt_settlement_flag_date settlement_status settlement_date \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " settlement_amount settlement_percentage settlement_term emp_title_manager \\\n", + "0 NaN NaN NaN False \n", + "1 NaN NaN NaN False \n", + "2 NaN NaN NaN False \n", + "3 NaN NaN NaN False \n", + "4 NaN NaN NaN True \n", + "\n", + " issue_year issue_month days_from_cr_line_to_loan loan_status_is_great \n", + "0 2018 12 8370 1 \n", + "1 2018 12 4474 1 \n", + "2 2018 12 2801 0 \n", + "3 2018 12 7973 1 \n", + "4 2018 12 8735 1 \n", + "\n", + "[5 rows x 133 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 91 + } + ] + }, { "cell_type": "markdown", "metadata": { @@ -141,4 +12358,4 @@ "outputs": [] } ] -} +} \ No newline at end of file From 670dbc3f5e8c4c4e4d71e14441d770d06fcf5bc9 Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Thu, 12 Sep 2019 23:55:36 -0400 Subject: [PATCH 7/9] Ben Whitman Assignment 4 --- .../LS_DS_114_Make_Features_Assignment.ipynb | 739 +++++++++++++++++- 1 file changed, 738 insertions(+), 1 deletion(-) diff --git a/module4-makefeatures/LS_DS_114_Make_Features_Assignment.ipynb b/module4-makefeatures/LS_DS_114_Make_Features_Assignment.ipynb index bb58d3e2..e04e9f27 100644 --- a/module4-makefeatures/LS_DS_114_Make_Features_Assignment.ipynb +++ b/module4-makefeatures/LS_DS_114_Make_Features_Assignment.ipynb @@ -7,7 +7,12 @@ "version": "0.3.2", "provenance": [], "collapsed_sections": [ - "e9240Lt4h6rI" + "e9240Lt4h6rI", + "0ZGBxJ_DXlLh", + "9Fv_aNMniGBK", + "Um4OaTU1iKIC", + "79yzKETEkhUr", + "lIHxJH4WoAbL" ], "include_colab_link": true }, @@ -12286,6 +12291,738 @@ } ] }, + { + "cell_type": "markdown", + "metadata": { + "id": "yi4XEv5Zq5bG", + "colab_type": "text" + }, + "source": [ + "# Last Payment Month & Year" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Jt9SjgghrDYL", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "d4d73832-cd78-4b0b-af16-10c0473361b8" + }, + "source": [ + "df['last_pymnt_d'] = pd.to_datetime(df['last_pymnt_d'], infer_datetime_format=True)\n", + "df['last_pymnt_d']" + ], + "execution_count": 101, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 2019-07-01\n", + "1 2019-07-01\n", + "2 2019-06-01\n", + "3 2019-07-01\n", + "4 2019-07-01\n", + "5 2019-07-01\n", + "6 2019-08-01\n", + "7 2019-07-01\n", + "8 2019-05-01\n", + "9 2019-07-01\n", + "10 2019-07-01\n", + "11 2019-07-01\n", + "12 2019-07-01\n", + "13 2019-07-01\n", + "14 2019-07-01\n", + "15 2019-08-01\n", + "16 2019-08-01\n", + "17 2019-07-01\n", + "18 2019-07-01\n", + "19 2019-04-01\n", + "20 2019-07-01\n", + "21 2019-07-01\n", + "22 2019-07-01\n", + "23 2019-07-01\n", + "24 2019-07-01\n", + " ... \n", + "128387 2019-08-01\n", + "128388 2019-08-01\n", + "128389 2019-03-01\n", + "128390 2019-06-01\n", + "128391 2019-01-01\n", + "128392 2019-08-01\n", + "128393 2019-08-01\n", + "128394 2019-08-01\n", + "128395 2019-08-01\n", + "128396 2019-08-01\n", + "128397 2019-08-01\n", + "128398 2019-08-01\n", + "128399 2019-08-01\n", + "128400 2019-08-01\n", + "128401 2019-08-01\n", + "128402 2019-08-01\n", + "128403 2019-08-01\n", + "128404 2019-04-01\n", + "128405 2019-08-01\n", + "128406 2019-08-01\n", + "128407 2018-12-01\n", + "128408 2019-08-01\n", + "128409 2019-08-01\n", + "128410 2019-08-01\n", + "128411 2019-08-01\n", + "Name: last_pymnt_d, Length: 128412, dtype: datetime64[ns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 101 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "gMDooDLWvwDG", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "ecf59d54-8e1e-4a49-e383-96426d9134bf" + }, + "source": [ + "df['last_pymnt_d_month'] = df['last_pymnt_d'].dt.month\n", + "df['last_pymnt_d_month']" + ], + "execution_count": 103, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 7.0\n", + "1 7.0\n", + "2 6.0\n", + "3 7.0\n", + "4 7.0\n", + "5 7.0\n", + "6 8.0\n", + "7 7.0\n", + "8 5.0\n", + "9 7.0\n", + "10 7.0\n", + "11 7.0\n", + "12 7.0\n", + "13 7.0\n", + "14 7.0\n", + "15 8.0\n", + "16 8.0\n", + "17 7.0\n", + "18 7.0\n", + "19 4.0\n", + "20 7.0\n", + "21 7.0\n", + "22 7.0\n", + "23 7.0\n", + "24 7.0\n", + " ... \n", + "128387 8.0\n", + "128388 8.0\n", + "128389 3.0\n", + "128390 6.0\n", + "128391 1.0\n", + "128392 8.0\n", + "128393 8.0\n", + "128394 8.0\n", + "128395 8.0\n", + "128396 8.0\n", + "128397 8.0\n", + "128398 8.0\n", + "128399 8.0\n", + "128400 8.0\n", + "128401 8.0\n", + "128402 8.0\n", + "128403 8.0\n", + "128404 4.0\n", + "128405 8.0\n", + "128406 8.0\n", + "128407 12.0\n", + "128408 8.0\n", + "128409 8.0\n", + "128410 8.0\n", + "128411 8.0\n", + "Name: last_pymnt_d_month, Length: 128412, dtype: float64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 103 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "SJOQp4TPwH9w", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 919 + }, + "outputId": "920eee93-b5f8-4062-d880-f18ad28d1a06" + }, + "source": [ + "df['last_pymnt_d_year'] = df['last_pymnt_d'].dt.year\n", + "df['last_pymnt_d_year']" + ], + "execution_count": 104, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 2019.0\n", + "1 2019.0\n", + "2 2019.0\n", + "3 2019.0\n", + "4 2019.0\n", + "5 2019.0\n", + "6 2019.0\n", + "7 2019.0\n", + "8 2019.0\n", + "9 2019.0\n", + "10 2019.0\n", + "11 2019.0\n", + "12 2019.0\n", + "13 2019.0\n", + "14 2019.0\n", + "15 2019.0\n", + "16 2019.0\n", + "17 2019.0\n", + "18 2019.0\n", + "19 2019.0\n", + "20 2019.0\n", + "21 2019.0\n", + "22 2019.0\n", + "23 2019.0\n", + "24 2019.0\n", + " ... \n", + "128387 2019.0\n", + "128388 2019.0\n", + "128389 2019.0\n", + "128390 2019.0\n", + "128391 2019.0\n", + "128392 2019.0\n", + "128393 2019.0\n", + "128394 2019.0\n", + "128395 2019.0\n", + "128396 2019.0\n", + "128397 2019.0\n", + "128398 2019.0\n", + "128399 2019.0\n", + "128400 2019.0\n", + "128401 2019.0\n", + "128402 2019.0\n", + "128403 2019.0\n", + "128404 2019.0\n", + "128405 2019.0\n", + "128406 2019.0\n", + "128407 2018.0\n", + "128408 2019.0\n", + "128409 2019.0\n", + "128410 2019.0\n", + "128411 2019.0\n", + "Name: last_pymnt_d_year, Length: 128412, dtype: float64" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 104 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "MhLpn3TpwY9U", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 338 + }, + "outputId": "2976f00a-10fe-4614-9d99-7f49a1a0b77d" + }, + "source": [ + "df.head()" + ], + "execution_count": 105, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amntfunded_amntfunded_amnt_invterm_(months)int_rateinstallmentgradesub_gradeemp_titleemp_lengthhome_ownershipannual_incverification_statusissue_dloan_statuspymnt_planpurposetitlezip_codeaddr_statedtidelinq_2yrsearliest_cr_lineinq_last_6mthsmths_since_last_delinq...sec_app_mort_accsec_app_open_accsec_app_revol_utilsec_app_open_act_ilsec_app_num_rev_acctssec_app_chargeoff_within_12_mthssec_app_collections_12_mths_ex_medsec_app_mths_since_last_major_derogdeferral_termpayment_plan_start_dateorig_projected_additional_accrued_interestdebt_settlement_flagdebt_settlement_flag_datesettlement_statussettlement_datesettlement_amountsettlement_percentagesettlement_termemp_title_managerissue_yearissue_monthdays_from_cr_line_to_loanloan_status_is_greatlast_pymnt_d_monthlast_pymnt_d_year
0100001000010000.03610.33324.23BB1unknown< 1 yearMORTGAGE280000.0Not Verified2018-12-01Currentndebt_consolidationDebt consolidation974xxOR6.1521996-01-01018.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse201812837017.02019.0
1400040004000.03623.40155.68EE1security3 yearsRENT90000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation070xxNJ26.3302006-09-01459.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse201812447417.02019.0
2500050005000.03617.97180.69DD1administrative6 yearsMORTGAGE59280.0Source Verified2018-12-01Late (31-120 days)ndebt_consolidationDebt consolidation490xxMI10.5102011-04-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse201812280106.02019.0
3230002300023000.06020.89620.81DD4operator5 yearsRENT68107.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation672xxKS0.5201997-02-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNFalse201812797317.02019.0
4800080008000.03623.40311.35EE1manager10+ yearsOWN43000.0Source Verified2018-12-01Currentndebt_consolidationDebt consolidation357xxAL33.2401995-01-010NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNTrue201812873517.02019.0
\n", + "

5 rows × 135 columns

\n", + "
" + ], + "text/plain": [ + " loan_amnt funded_amnt funded_amnt_inv term_(months) int_rate \\\n", + "0 10000 10000 10000.0 36 10.33 \n", + "1 4000 4000 4000.0 36 23.40 \n", + "2 5000 5000 5000.0 36 17.97 \n", + "3 23000 23000 23000.0 60 20.89 \n", + "4 8000 8000 8000.0 36 23.40 \n", + "\n", + " installment grade sub_grade emp_title emp_length home_ownership \\\n", + "0 324.23 B B1 unknown < 1 year MORTGAGE \n", + "1 155.68 E E1 security 3 years RENT \n", + "2 180.69 D D1 administrative 6 years MORTGAGE \n", + "3 620.81 D D4 operator 5 years RENT \n", + "4 311.35 E E1 manager 10+ years OWN \n", + "\n", + " annual_inc verification_status issue_d loan_status pymnt_plan \\\n", + "0 280000.0 Not Verified 2018-12-01 Current n \n", + "1 90000.0 Source Verified 2018-12-01 Current n \n", + "2 59280.0 Source Verified 2018-12-01 Late (31-120 days) n \n", + "3 68107.0 Source Verified 2018-12-01 Current n \n", + "4 43000.0 Source Verified 2018-12-01 Current n \n", + "\n", + " purpose title zip_code addr_state dti \\\n", + "0 debt_consolidation Debt consolidation 974xx OR 6.15 \n", + "1 debt_consolidation Debt consolidation 070xx NJ 26.33 \n", + "2 debt_consolidation Debt consolidation 490xx MI 10.51 \n", + "3 debt_consolidation Debt consolidation 672xx KS 0.52 \n", + "4 debt_consolidation Debt consolidation 357xx AL 33.24 \n", + "\n", + " delinq_2yrs earliest_cr_line inq_last_6mths mths_since_last_delinq ... \\\n", + "0 2 1996-01-01 0 18.0 ... \n", + "1 0 2006-09-01 4 59.0 ... \n", + "2 0 2011-04-01 0 NaN ... \n", + "3 0 1997-02-01 0 NaN ... \n", + "4 0 1995-01-01 0 NaN ... \n", + "\n", + " sec_app_mort_acc sec_app_open_acc sec_app_revol_util \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " sec_app_open_act_il sec_app_num_rev_accts \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " sec_app_chargeoff_within_12_mths sec_app_collections_12_mths_ex_med \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " sec_app_mths_since_last_major_derog deferral_term \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " payment_plan_start_date orig_projected_additional_accrued_interest \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " debt_settlement_flag debt_settlement_flag_date settlement_status \\\n", + "0 N NaN NaN \n", + "1 N NaN NaN \n", + "2 N NaN NaN \n", + "3 N NaN NaN \n", + "4 N NaN NaN \n", + "\n", + " settlement_date settlement_amount settlement_percentage settlement_term \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " emp_title_manager issue_year issue_month days_from_cr_line_to_loan \\\n", + "0 False 2018 12 8370 \n", + "1 False 2018 12 4474 \n", + "2 False 2018 12 2801 \n", + "3 False 2018 12 7973 \n", + "4 True 2018 12 8735 \n", + "\n", + " loan_status_is_great last_pymnt_d_month last_pymnt_d_year \n", + "0 1 7.0 2019.0 \n", + "1 1 7.0 2019.0 \n", + "2 0 6.0 2019.0 \n", + "3 1 7.0 2019.0 \n", + "4 1 7.0 2019.0 \n", + "\n", + "[5 rows x 135 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 105 + } + ] + }, { "cell_type": "markdown", "metadata": { From 6de2f7dd54f3593022ad0e13a367b7635cdd237a Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Thu, 19 Sep 2019 17:20:28 -0400 Subject: [PATCH 8/9] Created using Colaboratory --- ...121_Join_and_Reshape_Data_Assignment.ipynb | 2478 +++++++++++++++++ 1 file changed, 2478 insertions(+) create mode 100644 module1-join-and-reshape-data/Ben_Whitman_LS_DS_121_Join_and_Reshape_Data_Assignment.ipynb diff --git a/module1-join-and-reshape-data/Ben_Whitman_LS_DS_121_Join_and_Reshape_Data_Assignment.ipynb b/module1-join-and-reshape-data/Ben_Whitman_LS_DS_121_Join_and_Reshape_Data_Assignment.ipynb new file mode 100644 index 00000000..b8d73bed --- /dev/null +++ b/module1-join-and-reshape-data/Ben_Whitman_LS_DS_121_Join_and_Reshape_Data_Assignment.ipynb @@ -0,0 +1,2478 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "Ben Whitman LS_DS_121_Join_and_Reshape_Data_Assignment.ipynb", + "provenance": [], + "collapsed_sections": [ + "CKNMOyPGUbZN", + "Ta25gI9sUluO", + "5bDnQe7WUtpu", + "O9RyOaC-Uwzy" + ], + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "colab_type": "text", + "id": "pmU5YUal1eTZ" + }, + "source": [ + "_Lambda School Data Science_\n", + "\n", + "# Join and Reshape datasets\n", + "\n", + "Objectives\n", + "- concatenate data with pandas\n", + "- merge data with pandas\n", + "- understand tidy data formatting\n", + "- melt and pivot data with pandas\n", + "\n", + "Links\n", + "- [Pandas Cheat Sheet](https://github.com/pandas-dev/pandas/blob/master/doc/cheatsheet/Pandas_Cheat_Sheet.pdf)\n", + "- [Tidy Data](https://en.wikipedia.org/wiki/Tidy_data)\n", + " - Combine Data Sets: Standard Joins\n", + " - Tidy Data\n", + " - Reshaping Data\n", + "- Python Data Science Handbook\n", + " - [Chapter 3.6](https://jakevdp.github.io/PythonDataScienceHandbook/03.06-concat-and-append.html), Combining Datasets: Concat and Append\n", + " - [Chapter 3.7](https://jakevdp.github.io/PythonDataScienceHandbook/03.07-merge-and-join.html), Combining Datasets: Merge and Join\n", + " - [Chapter 3.8](https://jakevdp.github.io/PythonDataScienceHandbook/03.08-aggregation-and-grouping.html), Aggregation and Grouping\n", + " - [Chapter 3.9](https://jakevdp.github.io/PythonDataScienceHandbook/03.09-pivot-tables.html), Pivot Tables\n", + " \n", + "Reference\n", + "- Pandas Documentation: [Reshaping and Pivot Tables](https://pandas.pydata.org/pandas-docs/stable/reshaping.html)\n", + "- Modern Pandas, Part 5: [Tidy Data](https://tomaugspurger.github.io/modern-5-tidy.html)" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5MsWLLW4Xg_i", + "colab_type": "code", + "outputId": "e362a67c-e9ac-441c-cf99-19e35b71cbc9", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 208 + } + }, + "source": [ + "!wget https://s3.amazonaws.com/instacart-datasets/instacart_online_grocery_shopping_2017_05_01.tar.gz" + ], + "execution_count": 1, + "outputs": [ + { + "output_type": "stream", + "text": [ + "--2019-09-19 19:50:12-- https://s3.amazonaws.com/instacart-datasets/instacart_online_grocery_shopping_2017_05_01.tar.gz\n", + "Resolving s3.amazonaws.com (s3.amazonaws.com)... 52.216.146.205\n", + "Connecting to s3.amazonaws.com (s3.amazonaws.com)|52.216.146.205|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 205548478 (196M) [application/x-gzip]\n", + "Saving to: ‘instacart_online_grocery_shopping_2017_05_01.tar.gz’\n", + "\n", + "instacart_online_gr 100%[===================>] 196.03M 73.0MB/s in 2.7s \n", + "\n", + "2019-09-19 19:50:15 (73.0 MB/s) - ‘instacart_online_grocery_shopping_2017_05_01.tar.gz’ saved [205548478/205548478]\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "gfr4_Ya0XkLI", + "colab_type": "code", + "outputId": "b575d60f-d0cf-46c7-e5d4-9276b0a5c2fa", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 243 + } + }, + "source": [ + "!tar --gunzip --extract --verbose --file=instacart_online_grocery_shopping_2017_05_01.tar.gz" + ], + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "text": [ + "instacart_2017_05_01/\n", + "instacart_2017_05_01/._aisles.csv\n", + "instacart_2017_05_01/aisles.csv\n", + "instacart_2017_05_01/._departments.csv\n", + "instacart_2017_05_01/departments.csv\n", + "instacart_2017_05_01/._order_products__prior.csv\n", + "instacart_2017_05_01/order_products__prior.csv\n", + "instacart_2017_05_01/._order_products__train.csv\n", + "instacart_2017_05_01/order_products__train.csv\n", + "instacart_2017_05_01/._orders.csv\n", + "instacart_2017_05_01/orders.csv\n", + "instacart_2017_05_01/._products.csv\n", + "instacart_2017_05_01/products.csv\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "N4YyGPNdXrT0", + "colab_type": "code", + "outputId": "f8e799f4-1257-452c-a162-95094af402a8", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + } + }, + "source": [ + "%cd instacart_2017_05_01" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "text": [ + "/content/instacart_2017_05_01\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "b26wmLUiXtlM", + "colab_type": "code", + "outputId": "59b5bbdc-bd67-42cb-9e51-5ec8d4ec329b", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 121 + } + }, + "source": [ + "!ls -lh *.csv" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "stream", + "text": [ + "-rw-r--r-- 1 502 staff 2.6K May 2 2017 aisles.csv\n", + "-rw-r--r-- 1 502 staff 270 May 2 2017 departments.csv\n", + "-rw-r--r-- 1 502 staff 551M May 2 2017 order_products__prior.csv\n", + "-rw-r--r-- 1 502 staff 24M May 2 2017 order_products__train.csv\n", + "-rw-r--r-- 1 502 staff 104M May 2 2017 orders.csv\n", + "-rw-r--r-- 1 502 staff 2.1M May 2 2017 products.csv\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "colab_type": "text", + "id": "kAMtvSQWPUcj" + }, + "source": [ + "# Assignment\n", + "\n", + "## Join Data Practice\n", + "\n", + "These are the top 10 most frequently ordered products. How many times was each ordered? \n", + "\n", + "1. Banana\n", + "2. Bag of Organic Bananas\n", + "3. Organic Strawberries\n", + "4. Organic Baby Spinach \n", + "5. Organic Hass Avocado\n", + "6. Organic Avocado\n", + "7. Large Lemon \n", + "8. Strawberries\n", + "9. Limes \n", + "10. Organic Whole Milk\n", + "\n", + "First, write down which columns you need and which dataframes have them.\n", + "\n", + "Next, merge these into a single dataframe.\n", + "\n", + "Then, use pandas functions from the previous lesson to get the counts of the top 10 most frequently ordered products." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "HuqvrX8PGJt_", + "colab_type": "code", + "colab": {} + }, + "source": [ + "import pandas as pd" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "u1FLpRrfHZNM", + "colab_type": "text" + }, + "source": [ + "I need to take product IDs from the \"order_products\" datasets and match them with their corresponding product names from the \"products\" dataset." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "AGQNg9XxIQPl", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "02ca6042-37fe-498d-f1f8-403fc2954fdd" + }, + "source": [ + "# Create order dataframes and concatenate\n", + "order_products__prior = pd.read_csv('order_products__prior.csv')\n", + "order_products__train = pd.read_csv('order_products__train.csv')\n", + "order_products = pd.concat([order_products__prior, order_products__train])\n", + "order_products.shape" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(33819106, 4)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 11 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YqoV-6NvK1E7", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 202 + }, + "outputId": "c16df073-9c99-43a3-e1bc-dfeb8c358f7a" + }, + "source": [ + "# Create product dataframe\n", + "products = pd.read_csv('products.csv')\n", + "products.head()" + ], + "execution_count": 16, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
product_idproduct_nameaisle_iddepartment_id
01Chocolate Sandwich Cookies6119
12All-Seasons Salt10413
23Robust Golden Unsweetened Oolong Tea947
34Smart Ones Classic Favorites Mini Rigatoni Wit...381
45Green Chile Anytime Sauce513
\n", + "
" + ], + "text/plain": [ + " product_id ... department_id\n", + "0 1 ... 19\n", + "1 2 ... 13\n", + "2 3 ... 7\n", + "3 4 ... 1\n", + "4 5 ... 13\n", + "\n", + "[5 rows x 4 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 16 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "vgu2JzlBJFd5", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 202 + }, + "outputId": "65509949-a53b-49b7-db9b-eb1478549dec" + }, + "source": [ + "order_products.head()" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
order_idproduct_idadd_to_cart_orderreordered
023312011
122898521
22932730
324591841
423003550
\n", + "
" + ], + "text/plain": [ + " order_id product_id add_to_cart_order reordered\n", + "0 2 33120 1 1\n", + "1 2 28985 2 1\n", + "2 2 9327 3 0\n", + "3 2 45918 4 1\n", + "4 2 30035 5 0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 12 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "_z66CVYyK-l7", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 202 + }, + "outputId": "a09af36a-f483-4e89-91d8-769033130e08" + }, + "source": [ + "# Merge product ID and product name columns into order dataframe\n", + "columns = ['product_id', 'product_name']\n", + "merged = pd.merge(order_products, products[columns])\n", + "merged.head()" + ], + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
order_idproduct_idadd_to_cart_orderreorderedproduct_name
023312011Organic Egg Whites
1263312050Organic Egg Whites
212033120130Organic Egg Whites
33273312051Organic Egg Whites
439033120281Organic Egg Whites
\n", + "
" + ], + "text/plain": [ + " order_id product_id add_to_cart_order reordered product_name\n", + "0 2 33120 1 1 Organic Egg Whites\n", + "1 26 33120 5 0 Organic Egg Whites\n", + "2 120 33120 13 0 Organic Egg Whites\n", + "3 327 33120 5 1 Organic Egg Whites\n", + "4 390 33120 28 1 Organic Egg Whites" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Q4cYjeHfLnqY", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 662 + }, + "outputId": "f6c15c93-3ade-42c4-9590-06d7fde63d02" + }, + "source": [ + "# Check to see what resulting dataframe looks like\n", + "merged.sample(20)" + ], + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
order_idproduct_idadd_to_cart_orderreorderedproduct_name
3080541530620933605670Freezer Slider Bags
17421331192345517027241Avocado Roll
27332629103697031970101Organic Basmati Rice
649398026340431679721Strawberries
325279427781013319811Sparkling Natural Mineral Water
2934337315567211238551Vegetable Base, Organic
521070120812724762611Large Lemon
2573596825221803706520Serrano Chile Peppers
1642091921844231722491Oats & Honey Gluten Free Granola
172604075746244232740Free & Gentle Fabric Softener Dryer Sheets
1659676232145022898620Mild Italian Chicken Sausage
10331555301840037158110Chicken & Maple Breakfast Sausage
16084891120023438293101Ground Turkey Breast
208426899462651763081YoKids Squeeze! Organic Strawberry Flavor Yogurt
252561621849444776610Organic Avocado
1432400832726553608271Organic Mango
329926722777512257611Cheez Whiz Original Cheese Dip
289596327485532113770Organic Strawberries
2769685515061354280331Organic Apple Slices
1864895026652473382740Fat Free French Vanilla Creamer
\n", + "
" + ], + "text/plain": [ + " order_id ... product_name\n", + "30805415 3062093 ... Freezer Slider Bags\n", + "17421331 1923455 ... Avocado Roll\n", + "27332629 1036970 ... Organic Basmati Rice\n", + "6493980 2634043 ... Strawberries\n", + "3252794 2778101 ... Sparkling Natural Mineral Water\n", + "29343373 1556721 ... Vegetable Base, Organic\n", + "5210701 2081272 ... Large Lemon\n", + "25735968 2522180 ... Serrano Chile Peppers\n", + "16420919 2184423 ... Oats & Honey Gluten Free Granola\n", + "17260407 574624 ... Free & Gentle Fabric Softener Dryer Sheets\n", + "16596762 3214502 ... Mild Italian Chicken Sausage\n", + "10331555 3018400 ... Chicken & Maple Breakfast Sausage\n", + "16084891 1200234 ... Ground Turkey Breast\n", + "20842689 946265 ... YoKids Squeeze! Organic Strawberry Flavor Yogurt\n", + "2525616 2184944 ... Organic Avocado\n", + "14324008 3272655 ... Organic Mango\n", + "32992672 277751 ... Cheez Whiz Original Cheese Dip\n", + "2895963 2748553 ... Organic Strawberries\n", + "27696855 1506135 ... Organic Apple Slices\n", + "18648950 2665247 ... Fat Free French Vanilla Creamer\n", + "\n", + "[20 rows x 5 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 20 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Ipy20cxeMJfz", + "colab_type": "code", + "colab": {} + }, + "source": [ + "# List top ten items\n", + "top_ten = pd.Series(['Banana',\n", + "'Bag of Organic Bananas',\n", + "'Organic Strawberries',\n", + "'Organic Baby Spinach',\n", + "'Organic Hass Avocado',\n", + "'Organic Avocado',\n", + "'Large Lemon',\n", + "'Strawberries',\n", + "'Limes',\n", + "'Organic Whole Milk'])" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "VC2dDmulOUyi", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "87ac3d24-e503-4dba-c002-419510d4a51e" + }, + "source": [ + "# Test counter on one item\n", + "merged['product_name'].str.count('Banana').sum()" + ], + "execution_count": 34, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1068742" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 34 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "0ap6GX4SMnmA", + "colab_type": "code", + "colab": {} + }, + "source": [ + "# Create function to count all ten of the top ten items\n", + "def product_count(x):\n", + " print(x, \":\", merged['product_name'].str.count(x).sum())" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "sZrEp3tzNTx-", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 381 + }, + "outputId": "6cb4212b-caf9-43b5-90fb-8a8d6cbc48e4" + }, + "source": [ + "# So, a couple things: My method of counting takes a long time.\n", + "# Might be because of size of dataset? But there could be a faster way.\n", + "# Also: I'm not sure why my function spits out 'None' counts for 0-9 at the bottom.\n", + "# But it would be cool if it didn't!\n", + "top_ten.apply(product_count)" + ], + "execution_count": 36, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Banana : 1068742\n", + "Bag of Organic Bananas : 394930\n", + "Organic Strawberries : 282921\n", + "Organic Baby Spinach : 270087\n", + "Organic Hass Avocado : 223133\n", + "Organic Avocado : 190961\n", + "Large Lemon : 163643\n", + "Strawberries : 508891\n", + "Limes : 155846\n", + "Organic Whole Milk : 191561\n" + ], + "name": "stdout" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 None\n", + "1 None\n", + "2 None\n", + "3 None\n", + "4 None\n", + "5 None\n", + "6 None\n", + "7 None\n", + "8 None\n", + "9 None\n", + "dtype: object" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 36 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RsiWi4DuXPLP", + "colab_type": "text" + }, + "source": [ + "## Reshape Data Section\n", + "\n", + "- Replicate the lesson code\n", + "- Complete the code cells we skipped near the beginning of the notebook\n", + "- Table 2 --> Tidy\n", + "- Tidy --> Table 2\n", + "- Load seaborn's `flights` dataset by running the cell below. Then create a pivot table showing the number of passengers by month and year. Use year for the index and month for the columns. You've done it right if you get 112 passengers for January 1949 and 432 passengers for December 1960." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "CKNMOyPGUbZN", + "colab_type": "text" + }, + "source": [ + "### Lesson Code" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "SIv-gjQMRi_C", + "colab_type": "code", + "colab": {} + }, + "source": [ + "%matplotlib inline\n", + "import pandas as pd\n", + "import numpy as np\n", + "import seaborn as sns" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "ukwmwYO-Rx5y", + "colab_type": "code", + "colab": {} + }, + "source": [ + "table1 = pd.DataFrame(\n", + " [[np.nan, 2],\n", + " [16, 11],\n", + " [3, 1]],\n", + " index=['John Smith', 'Jane Doe', 'Mary Johnson'],\n", + " columns=['treatmenta', 'treatmentb'])\n", + "\n", + "table2 = table1.T" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "cWrF9EnRSmPZ", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 141 + }, + "outputId": "08b04b8e-c08d-4a21-eab5-c388e7f02c87" + }, + "source": [ + "table1" + ], + "execution_count": 39, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
treatmentatreatmentb
John SmithNaN2
Jane Doe16.011
Mary Johnson3.01
\n", + "
" + ], + "text/plain": [ + " treatmenta treatmentb\n", + "John Smith NaN 2\n", + "Jane Doe 16.0 11\n", + "Mary Johnson 3.0 1" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 39 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "cICxjIF3Sxud", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 110 + }, + "outputId": "57c7d16e-782f-4c49-e3b3-612a778c782b" + }, + "source": [ + "table2" + ], + "execution_count": 40, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
John SmithJane DoeMary Johnson
treatmentaNaN16.03.0
treatmentb2.011.01.0
\n", + "
" + ], + "text/plain": [ + " John Smith Jane Doe Mary Johnson\n", + "treatmenta NaN 16.0 3.0\n", + "treatmentb 2.0 11.0 1.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 40 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "MGiDCXuGTATm", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "0aa1405f-b455-4da2-bf7f-cbadd2712f9f" + }, + "source": [ + "table1.index" + ], + "execution_count": 41, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Index(['John Smith', 'Jane Doe', 'Mary Johnson'], dtype='object')" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 41 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "bbRl8pOQTEbh", + "colab_type": "code", + "colab": {} + }, + "source": [ + "table1 = table1.reset_index()" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Y-8TVJwjTJaw", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 141 + }, + "outputId": "cdb10ede-a81b-419d-f9ed-4c8f68998733" + }, + "source": [ + "table1" + ], + "execution_count": 43, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indextreatmentatreatmentb
0John SmithNaN2
1Jane Doe16.011
2Mary Johnson3.01
\n", + "
" + ], + "text/plain": [ + " index treatmenta treatmentb\n", + "0 John Smith NaN 2\n", + "1 Jane Doe 16.0 11\n", + "2 Mary Johnson 3.0 1" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 43 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "OLWERziKToUi", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233 + }, + "outputId": "29a188b7-9d0a-45ac-c66c-e9f95f41d3bf" + }, + "source": [ + "tidy = table1.melt(id_vars='index')\n", + "tidy" + ], + "execution_count": 44, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexvariablevalue
0John SmithtreatmentaNaN
1Jane Doetreatmenta16.0
2Mary Johnsontreatmenta3.0
3John Smithtreatmentb2.0
4Jane Doetreatmentb11.0
5Mary Johnsontreatmentb1.0
\n", + "
" + ], + "text/plain": [ + " index variable value\n", + "0 John Smith treatmenta NaN\n", + "1 Jane Doe treatmenta 16.0\n", + "2 Mary Johnson treatmenta 3.0\n", + "3 John Smith treatmentb 2.0\n", + "4 Jane Doe treatmentb 11.0\n", + "5 Mary Johnson treatmentb 1.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 44 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "a0xTT8TXUGPS", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233 + }, + "outputId": "5a29e525-f763-49fe-d851-aad47bfccfcf" + }, + "source": [ + "tidy.columns = ['name', 'trt', 'result']\n", + "tidy" + ], + "execution_count": 46, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nametrtresult
0John SmithtreatmentaNaN
1Jane Doetreatmenta16.0
2Mary Johnsontreatmenta3.0
3John Smithtreatmentb2.0
4Jane Doetreatmentb11.0
5Mary Johnsontreatmentb1.0
\n", + "
" + ], + "text/plain": [ + " name trt result\n", + "0 John Smith treatmenta NaN\n", + "1 Jane Doe treatmenta 16.0\n", + "2 Mary Johnson treatmenta 3.0\n", + "3 John Smith treatmentb 2.0\n", + "4 Jane Doe treatmentb 11.0\n", + "5 Mary Johnson treatmentb 1.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 46 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Ta25gI9sUluO", + "colab_type": "text" + }, + "source": [ + "### Table2 --> Tidy" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "1qKc88WI0up-", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 110 + }, + "outputId": "39d1bbd1-4751-4e8c-f936-1d554e6a46e1" + }, + "source": [ + "table2" + ], + "execution_count": 47, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
John SmithJane DoeMary Johnson
treatmentaNaN16.03.0
treatmentb2.011.01.0
\n", + "
" + ], + "text/plain": [ + " John Smith Jane Doe Mary Johnson\n", + "treatmenta NaN 16.0 3.0\n", + "treatmentb 2.0 11.0 1.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 47 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "BgeG4xujU8Gh", + "colab_type": "code", + "colab": {} + }, + "source": [ + "table2 = table2.reset_index()" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "NCZzpX5cVNj0", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 110 + }, + "outputId": "eb45254a-113a-4a7b-9c49-b4f9ec030792" + }, + "source": [ + "table2" + ], + "execution_count": 52, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexJohn SmithJane DoeMary Johnson
0treatmentaNaN16.03.0
1treatmentb2.011.01.0
\n", + "
" + ], + "text/plain": [ + " index John Smith Jane Doe Mary Johnson\n", + "0 treatmenta NaN 16.0 3.0\n", + "1 treatmentb 2.0 11.0 1.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 52 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "AeY5R5naVR67", + "colab_type": "code", + "colab": {} + }, + "source": [ + "tidy2 = table2.melt(id_vars='index')" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "ybubhiJ1VfGX", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233 + }, + "outputId": "edc1212b-4263-4fea-fb1a-e08b1269cd09" + }, + "source": [ + "tidy2" + ], + "execution_count": 55, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexvariablevalue
0treatmentaJohn SmithNaN
1treatmentbJohn Smith2.0
2treatmentaJane Doe16.0
3treatmentbJane Doe11.0
4treatmentaMary Johnson3.0
5treatmentbMary Johnson1.0
\n", + "
" + ], + "text/plain": [ + " index variable value\n", + "0 treatmenta John Smith NaN\n", + "1 treatmentb John Smith 2.0\n", + "2 treatmenta Jane Doe 16.0\n", + "3 treatmentb Jane Doe 11.0\n", + "4 treatmenta Mary Johnson 3.0\n", + "5 treatmentb Mary Johnson 1.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 55 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-UrWn6_AVnRD", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233 + }, + "outputId": "3888fddf-5eb0-49d5-cfc1-93f71730d0ac" + }, + "source": [ + "tidy2.columns = ['trt', 'name', 'result']\n", + "tidy2" + ], + "execution_count": 56, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trtnameresult
0treatmentaJohn SmithNaN
1treatmentbJohn Smith2.0
2treatmentaJane Doe16.0
3treatmentbJane Doe11.0
4treatmentaMary Johnson3.0
5treatmentbMary Johnson1.0
\n", + "
" + ], + "text/plain": [ + " trt name result\n", + "0 treatmenta John Smith NaN\n", + "1 treatmentb John Smith 2.0\n", + "2 treatmenta Jane Doe 16.0\n", + "3 treatmentb Jane Doe 11.0\n", + "4 treatmenta Mary Johnson 3.0\n", + "5 treatmentb Mary Johnson 1.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 56 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5bDnQe7WUtpu", + "colab_type": "text" + }, + "source": [ + "### Tidy --> Table2" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "W50sr3k9UwVA", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 141 + }, + "outputId": "dcae72f6-1f98-493b-fb68-7e15e332746f" + }, + "source": [ + "tidy2.pivot_table(index='trt', columns='name', values='result')" + ], + "execution_count": 57, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nameJane DoeJohn SmithMary Johnson
trt
treatmenta16.0NaN3.0
treatmentb11.02.01.0
\n", + "
" + ], + "text/plain": [ + "name Jane Doe John Smith Mary Johnson\n", + "trt \n", + "treatmenta 16.0 NaN 3.0\n", + "treatmentb 11.0 2.0 1.0" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 57 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "O9RyOaC-Uwzy", + "colab_type": "text" + }, + "source": [ + "### Flights" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "fgxulJQq0uLw", + "colab_type": "code", + "colab": {} + }, + "source": [ + "flights = sns.load_dataset('flights')" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "7iHdPW_8WaK_", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 202 + }, + "outputId": "b24f2fa0-0596-4e4f-e0ba-96ceb383da9a" + }, + "source": [ + "flights.head()" + ], + "execution_count": 59, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yearmonthpassengers
01949January112
11949February118
21949March132
31949April129
41949May121
\n", + "
" + ], + "text/plain": [ + " year month passengers\n", + "0 1949 January 112\n", + "1 1949 February 118\n", + "2 1949 March 132\n", + "3 1949 April 129\n", + "4 1949 May 121" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 59 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "uzKPSCqoW0Rk", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "f565cdbf-0b5c-4a5c-ffa5-380dfe025638" + }, + "source": [ + "flights.shape" + ], + "execution_count": 60, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(144, 3)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 60 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "CX2Z3oQaXGZ4", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 447 + }, + "outputId": "c16dd48f-51fe-4cc5-9c39-9357b3766e51" + }, + "source": [ + "flights.pivot_table(index='year', columns='month', values='passengers')" + ], + "execution_count": 61, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
monthJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
year
1949112118132129121135148148136119104118
1950115126141135125149170170158133114140
1951145150178163172178199199184162146166
1952171180193181183218230242209191172194
1953196196236235229243264272237211180201
1954204188235227234264302293259229203229
1955242233267269270315364347312274237278
1956284277317313318374413405355306271306
1957315301356348355422465467404347305336
1958340318362348363435491505404359310337
1959360342406396420472548559463407362405
1960417391419461472535622606508461390432
\n", + "
" + ], + "text/plain": [ + "month January February March April ... September October November December\n", + "year ... \n", + "1949 112 118 132 129 ... 136 119 104 118\n", + "1950 115 126 141 135 ... 158 133 114 140\n", + "1951 145 150 178 163 ... 184 162 146 166\n", + "1952 171 180 193 181 ... 209 191 172 194\n", + "1953 196 196 236 235 ... 237 211 180 201\n", + "1954 204 188 235 227 ... 259 229 203 229\n", + "1955 242 233 267 269 ... 312 274 237 278\n", + "1956 284 277 317 313 ... 355 306 271 306\n", + "1957 315 301 356 348 ... 404 347 305 336\n", + "1958 340 318 362 348 ... 404 359 310 337\n", + "1959 360 342 406 396 ... 463 407 362 405\n", + "1960 417 391 419 461 ... 508 461 390 432\n", + "\n", + "[12 rows x 12 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 61 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mnOuqL9K0dqh", + "colab_type": "text" + }, + "source": [ + "## Join Data Stretch Challenge\n", + "\n", + "The [Instacart blog post](https://tech.instacart.com/3-million-instacart-orders-open-sourced-d40d29ead6f2) has a visualization of \"**Popular products** purchased earliest in the day (green) and latest in the day (red).\" \n", + "\n", + "The post says,\n", + "\n", + "> \"We can also see the time of day that users purchase specific products.\n", + "\n", + "> Healthier snacks and staples tend to be purchased earlier in the day, whereas ice cream (especially Half Baked and The Tonight Dough) are far more popular when customers are ordering in the evening.\n", + "\n", + "> **In fact, of the top 25 latest ordered products, the first 24 are ice cream! The last one, of course, is a frozen pizza.**\"\n", + "\n", + "Your challenge is to reproduce the list of the top 25 latest ordered popular products.\n", + "\n", + "We'll define \"popular products\" as products with more than 2,900 orders.\n", + "\n" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "B-QNMrVkYap4", + "colab_type": "code", + "colab": {} + }, + "source": [ + "##### YOUR CODE HERE #####" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Ij8S60q0YXxo", + "colab_type": "text" + }, + "source": [ + "## Reshape Data Stretch Challenge\n", + "\n", + "_Try whatever sounds most interesting to you!_\n", + "\n", + "- Replicate more of Instacart's visualization showing \"Hour of Day Ordered\" vs \"Percent of Orders by Product\"\n", + "- Replicate parts of the other visualization from [Instacart's blog post](https://tech.instacart.com/3-million-instacart-orders-open-sourced-d40d29ead6f2), showing \"Number of Purchases\" vs \"Percent Reorder Purchases\"\n", + "- Get the most recent order for each user in Instacart's dataset. This is a useful baseline when [predicting a user's next order](https://www.kaggle.com/c/instacart-market-basket-analysis)\n", + "- Replicate parts of the blog post linked at the top of this notebook: [Modern Pandas, Part 5: Tidy Data](https://tomaugspurger.github.io/modern-5-tidy.html)" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "_d6IA2R0YXFY", + "colab_type": "code", + "colab": {} + }, + "source": [ + "##### YOUR CODE HERE #####" + ], + "execution_count": 0, + "outputs": [] + } + ] +} \ No newline at end of file From 5d0a0cdf8d71c834fcabec3fc434d15b6ed0e270 Mon Sep 17 00:00:00 2001 From: b-whitman <53320120+b-whitman@users.noreply.github.com> Date: Wed, 9 Oct 2019 00:04:10 -0400 Subject: [PATCH 9/9] Created using Colaboratory --- ...ion_to_Bayesian_Inference_Assignment.ipynb | 1084 +++++++++++++++++ 1 file changed, 1084 insertions(+) create mode 100644 module3-introduction-to-bayesian-inference/Ben_Whitman_LS_DS_133_Introduction_to_Bayesian_Inference_Assignment.ipynb diff --git a/module3-introduction-to-bayesian-inference/Ben_Whitman_LS_DS_133_Introduction_to_Bayesian_Inference_Assignment.ipynb b/module3-introduction-to-bayesian-inference/Ben_Whitman_LS_DS_133_Introduction_to_Bayesian_Inference_Assignment.ipynb new file mode 100644 index 00000000..608ca2b4 --- /dev/null +++ b/module3-introduction-to-bayesian-inference/Ben_Whitman_LS_DS_133_Introduction_to_Bayesian_Inference_Assignment.ipynb @@ -0,0 +1,1084 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "Ben_Whitman_LS_DS_133_Introduction_to_Bayesian_Inference_Assignment.ipynb", + "provenance": [], + "collapsed_sections": [], + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "H7OLbevlbd_Z", + "colab_type": "text" + }, + "source": [ + "# Lambda School Data Science Module 133\n", + "\n", + "## Introduction to Bayesian Inference\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "P-DzzRk5bf0z", + "colab_type": "text" + }, + "source": [ + "## Assignment - Code it up!\n", + "\n", + "Most of the above was pure math - now write Python code to reproduce the results! This is purposefully open ended - you'll have to think about how you should represent probabilities and events. You can and should look things up, and as a stretch goal - refactor your code into helpful reusable functions!\n", + "\n", + "Specific goals/targets:\n", + "\n", + "1. Write a function `def prob_drunk_given_positive(prob_drunk_prior, prob_positive, prob_positive_drunk)` that reproduces the example from lecture, and use it to calculate and visualize a range of situations\n", + "2. Explore `scipy.stats.bayes_mvs` - read its documentation, and experiment with it on data you've tested in other ways earlier this week\n", + "3. Create a visualization comparing the results of a Bayesian approach to a traditional/frequentist approach\n", + "4. In your own words, summarize the difference between Bayesian and Frequentist statistics\n", + "\n", + "If you're unsure where to start, check out [this blog post of Bayes theorem with Python](https://dataconomy.com/2015/02/introduction-to-bayes-theorem-with-python/) - you could and should create something similar!\n", + "\n", + "Stretch goals:\n", + "\n", + "- Apply a Bayesian technique to a problem you previously worked (in an assignment or project work) on from a frequentist (standard) perspective\n", + "- Check out [PyMC3](https://docs.pymc.io/) (note this goes beyond hypothesis tests into modeling) - read the guides and work through some examples\n", + "- Take PyMC3 further - see if you can build something with it!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zCX4FVvPrm1F", + "colab_type": "text" + }, + "source": [ + "## 1) Using a function to apply Bayes" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "xpVhZyUnbf7o", + "colab_type": "code", + "colab": {} + }, + "source": [ + "def prob_drunk_given_positive(prob_drunk_prior, prob_positive, prob_positive_drunk):\n", + " return (prob_positive_drunk*prob_drunk_prior) / prob_positive" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "eOglz53nOch8", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "efb1516f-4717-4415-c91b-a652a82556b8" + }, + "source": [ + "# Example from lecture\n", + "prob_drunk_given_positive(0.001, 0.08, 1)" + ], + "execution_count": 2, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.0125" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 2 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "RNEYx0IoO-sP", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "62b28cc0-e2f4-43e6-f249-4ec3473f31bf" + }, + "source": [ + "# What if test gives half as many false positives?\n", + "prob_drunk_given_positive(0.001, 0.04, 1)\n", + "# Looks like that just doubles the rate, to 2.5%" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.025" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 3 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7nS9h1CRQBGa", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "7d2aae4f-0585-45bb-b2a3-d809f60e0392" + }, + "source": [ + "# What if test gives 1% false positives?\n", + "prob_drunk_given_positive(0.001, 0.01, 1)\n", + "# Raises probability of true positive to 10%" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.1" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 13 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "awElFbyNQ0Gv", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "66231334-18ad-48cb-f187-62a93a2addc2" + }, + "source": [ + "# To use another example from lecture, what if we conduct the test twice in a row?\n", + "# 0.08 * 0.08 = 0.0064\n", + "prob_drunk_given_positive(0.001, 0.0064, 1)\n", + "# Am I doing this right? Does it really only raise the probability to ~16%?\n", + "# Or am I failing to tease out something in the structure of Bayes' Theorem?" + ], + "execution_count": 16, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.15625" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 16 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "CoRfzsl2U33B", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "5d900edf-386c-4d7b-e6b1-428b75f4a6ad" + }, + "source": [ + "# Okay, what if we use the previous posterior as our new prior? (per the drug testing example)\n", + "prob_drunk_given_positive(0.0125, 0.08, 1)\n", + "# So that's pretty interesting- exactly the same result as just multiplying\n", + "# the probability of a positive...\n", + "# I still suspect I'm missing something. Shouldn't the math for rate of all positives\n", + "# change given the new prior?" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.15625" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "jW0CHL6wb0XH", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "bd4082a2-1f3a-4928-e0f1-93663d4e688d" + }, + "source": [ + "# This gives a slightly different answer but I feel more confident about the math\n", + "two_tests = prob_drunk_given_positive(0.0125, (1*0.0125+0.08*0.9875), 1)\n", + "two_tests" + ], + "execution_count": 22, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.1366120218579235" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Kxeg7ktDcbUy", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "a427a083-27ac-4bfd-d435-63b659e18790" + }, + "source": [ + "# Three tests...\n", + "three_tests = prob_drunk_given_positive(two_tests, (1*two_tests+0.08*(1-two_tests)), 1)\n", + "three_tests" + ], + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.6641870350690755" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 24 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "gN_UuYSzc2gc", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "c010718d-9267-412d-d590-d38e878f14c2" + }, + "source": [ + "# Four tests???\n", + "four_tests = prob_drunk_given_positive(three_tests, (1*three_tests+0.08*(1-three_tests)), 1)\n", + "four_tests" + ], + "execution_count": 26, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9611244387033278" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 26 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8Gdb3W--dEjP", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "37acaa2f-9ee2-47f8-c42a-9d918e7c80a0" + }, + "source": [ + "# Five tests...?!\n", + "five_tests = prob_drunk_given_positive(four_tests, (1*four_tests+0.08*(1-four_tests)), 1)\n", + "five_tests" + ], + "execution_count": 28, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9967745968884046" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 28 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "mVlohdTWdRF7", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "b421cb67-a96e-41b2-d201-b8171c35e69f" + }, + "source": [ + "# Have we hit a limit?\n", + "six_tests = prob_drunk_given_positive(five_tests, (1*five_tests+0.08*(1-five_tests)), 1)\n", + "six_tests" + ], + "execution_count": 29, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9997411997948845" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 29 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "zwcZ-Ki4fWI9", + "colab_type": "code", + "colab": {} + }, + "source": [ + "# This function applies Bayes Theorem num_iter times to the breathalyzer problem\n", + "def prob_drunk_iter(prior, prob_positive, prob_positive_drunk, num_iter):\n", + " posterior_list = []\n", + " for i in range(num_iter):\n", + " posterior = (prob_positive_drunk*prior) / prob_positive\n", + " prior = posterior\n", + " prob_positive = (1*prior+0.08*(1-prior))\n", + " posterior_list.append(posterior)\n", + " return posterior_list" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "S8tBDeJgi8Q8", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "5238806f-840e-47ca-9bc7-13217fa3fb45" + }, + "source": [ + "prob_drunk_five = prob_drunk_iter(0.001, 0.08, 1, 5)\n", + "plt.plot(prob_drunk_five)" + ], + "execution_count": 41, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 41 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "cC920DifhdNY", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 191 + }, + "outputId": "277b74ef-0952-4758-fc9b-82946119969d" + }, + "source": [ + "prob_drunk_list = prob_drunk_iter(0.001, 0.08, 1, 10)\n", + "prob_drunk_list" + ], + "execution_count": 35, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[0.0125,\n", + " 0.1366120218579235,\n", + " 0.6641870350690755,\n", + " 0.9611244387033278,\n", + " 0.9967745968884046,\n", + " 0.9997411997948845,\n", + " 0.9999792910528694,\n", + " 0.9999983432526648,\n", + " 0.9999998674600111,\n", + " 0.9999999893967996]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 35 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "UMIEEKUchxbI", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "691713ad-233e-498f-b054-138ea10174b5" + }, + "source": [ + "import matplotlib.pyplot as plt\n", + "# Plot for 10 repetitions of test\n", + "plt.plot(prob_drunk_list)" + ], + "execution_count": 36, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 36 + }, + { + "output_type": "display_data", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAGsxJREFUeJzt3Xt4VfWd7/H3NzdCIBAhISAJBpBb\nUBGNeK31Dlqr57Rzqj51zvQy9UynWjv6jHWc0eljO73YGaedU/XU6bSd9lStx3amjNLEu53WywAK\nmBDAgEgS2Em4JFxDLvt7/shGkxjIhuydtffan9fz8LD32j92Pm7Mh5Xf+q21zN0REZFwyQo6gIiI\nJJ7KXUQkhFTuIiIhpHIXEQkhlbuISAip3EVEQkjlLiISQip3EZEQUrmLiIRQTlBfuLi42CsqKoL6\n8iIiaWn16tU73b1kuHGBlXtFRQWrVq0K6suLiKQlM3svnnGalhERCSGVu4hICKncRURCSOUuIhJC\nKncRkRAattzN7Mdm1mpmtUd53czsn8yswczWmdlZiY8pIiLHI549958Cy47x+tXAnNivW4BHRh5L\nRERGYth17u7+OzOrOMaQ64Gfed/9+l43syIzm+buOxKUUSRh3J2eqNMbdbp7o7HfBz7viUbpiTo9\nvR77vf/z6Afbo/3/fPRD7wPgA752v8exV4a6y2X/W18O/DPxvc+At9RtNFPS5QtKWVRelNSvkYiT\nmKYDjf2eN8W2fajczewW+vbumTFjRgK+tGS6Q1291G3vYE1jO2ubOli/vYPO7ujAEj5SzrFSzzRm\nQSeQwaZMyE+Lco+buz8KPApQVVWVed9lMiK9Ueed1n2sbWxnTWMHaxvb2diy7/3Cnl40loUnT2DC\n2Fxys43sLCMnK4ucLCM728jNyiI7y2KvZX0wJrtvTE6WkZP9wZ95f3tsXG52Vuw9Y2Oyh3jcb8yR\nUjU+aNehirb/tiNjB27rP9aG2Pbh10USUe7NQHm/52WxbSInzN1pbj/E2sYO1ja1s6axndrmDg52\n9QIwIT+HReVF/PmC2SwqK+KM8olMKcwPOLVI6khEuS8HbjWzJ4BzgQ7Nt8vxaj/Yxdqmvr3xtY3t\nrG1qZ+f+LgDycrJYePIEPlVVzpnlRSwqL6JicoH2UkWOYdhyN7PHgUuAYjNrAv4WyAVw9/8DrACu\nARqAg8BnkxVWwqGzu5e67XvfL/G1je1s3XUQ6JtiOLVkPJfMm8Ki8iLOLCti3tRC8nJ0SobI8Yhn\ntcxNw7zuwJcSlkhCpTfqbG7b33fAM1bmG3bsoyc2Tz5tYj6Lyoq44ZwZLCqfyOnTJ1KYnxtwapH0\nF9glfyV83J0dHZ19Bzxje+RvN3VwIDZPXjgmhzPKJ3LLxbP69srLiyidoHlykWRQucuI9Uade39T\ny3PrW2jbdxiA3GyjctoEPnl2GYvK+ubJZxWPIytL8+Qio0HlLiP21OpGHntjG8sWTuX82ZNZVF7E\ngmmFjMnJDjqaSMZSucuI7D/cw3drNnHWjCIeufksrWARSRFagiAj8vBLDezcf5j7Pr5QxS6SQlTu\ncsIadx/kR79/l/++eDpnJvlUahE5Pip3OWHfrt5AlsFdy+YFHUVEBlG5ywlZuXU3z6zbwZ99dDbT\nJo4NOo6IDKJyl+MWjTr3/8d6pk7I55aLZwUdR0SGoHKX4/ZvbzXzdnMHX716HgV5WnAlkopU7nJc\nDhzu4YGaDSwqL+L6RdODjiMiR6Fyl+Pyw1c207L3MPddu0Bnm4qkMJW7xK25/RA//N0WPr7oZM4+\nZVLQcUTkGFTuErcHqjcA8FUtfRRJeSp3icub2/bwmzXb+cJHZlF2UkHQcURkGCp3GZZ739LHksIx\nfPGS2UHHEZE4qNxlWMvXbmdNYzt3LZ3HuDFa+iiSDlTuckyHunr59m83cNr0CXzyrLKg44hInFTu\nckz//J9b2NHRyb0fq9TSR5E0onKXo4p0dPLIy5u55vSpnDtrctBxROQ4qNzlqB6o2UBv1Ll72YKg\no4jIcVK5y5DWNbXz6zeb+dxFM5kxWUsfRdKNyl0+5MjSx+LxeXzpUi19FElHKnf5kGfe3sGq9/Zw\n51XzKMzPDTqOiJwAlbsM0Nndy7dWbGD+1EI+VVUedBwROUEqdxngX37/Ls3th7jv45Vka+mjSNpS\nucv7Wvd18vBLDVxZWcoFs4uDjiMiI6Byl/f9Q80munqj3HONlj6KpDuVuwBQ29zBk6sb+ZPzK5hZ\nPC7oOCIyQip3wd35+tPrKRqby22Xzwk6jogkgMpdqKlr4Y13d3PHVfOYOFZLH0XCIK5yN7NlZrbR\nzBrM7O4hXp9hZi+Z2Vtmts7Mrkl8VEmGwz29fHNFPXNLx3PTOVr6KBIWw5a7mWUDDwFXA5XATWZW\nOWjY3wBPuvti4Ebg4UQHleT46R+2sm33Qf7mY5XkZOsHOZGwiOe7eQnQ4O5b3L0LeAK4ftAYBybE\nHk8EticuoiTLzv2H+cGLDVw2fwoXzy0JOo6IJFA85T4daOz3vCm2rb+vATebWROwArhtqDcys1vM\nbJWZrWprazuBuJJIDz63iUPdvVr6KBJCifo5/Cbgp+5eBlwD/NzMPvTe7v6ou1e5e1VJifYUg7Qh\nspcn/msbN593CqdOGR90HBFJsHjKvRnof6StLLatv88DTwK4+2tAPqBTHFPUkaWPhfm5fOUKLX0U\nCaN4yn0lMMfMZppZHn0HTJcPGrMNuBzAzBbQV+6ad0lRL9S38oeGXXzlijkUFeQFHUdEkmDYcnf3\nHuBWoAaop29VTJ2Z3W9m18WG3Ql8wczWAo8Dn3F3T1ZoOXFdPVH+bkU9s0rGcfN5pwQdR0SSJCee\nQe6+gr4Dpf233dfv8XrgwsRGk2T4+evv8e7OA/zkM+eQq6WPIqGl7+4MsvtAF99/fhMfmVPMJfN0\nQFskzFTuGeR7z29i/+Ee7r22EjNdq10kzFTuGeKdln384o1tfPrcU5hbWhh0HBFJMpV7hvjGM/UU\n5GXzF1fODTqKiIwClXsGeGljK69sauP2y+cwaZyWPopkApV7yHX3Rvm7Z+qpmFzA/zy/Iug4IjJK\nVO4h99gb22ho3c891ywgL0d/3SKZQt/tIdZxsJt/fH4TF8yezJWVpUHHEZFRpHIPse+/8A57D3Vr\n6aNIBlK5h9Tmtv387LWt3HBOOQumTRh2vIiEi8o9pL75TD35udncceW8oKOISABU7iH0n++08cKG\nVm697FRKCscEHUdEAqByD5me3ijfeLqe8klj+eyFFUHHEZGAqNxD5omVjWxs2cc9Vy9gTE520HFE\nJCAq9xDZ29nNg89tYsnMSSw7bWrQcUQkQCr3EPnBiw3sOdjFvR/T0keRTKdyD4mtOw/wkz+8yx+d\nVcbpZRODjiMiAVO5h8S3fltPbnYWf7lUSx9FROUeCq9u3klNXQt/fslspkzIDzqOiKQAlXua6406\nX3+6nulFY/nTj8wKOo6IpAiVe5p7anUj9Tv28tWr55Ofq6WPItJH5Z7G3J0fvNTAmeVFfPyMaUHH\nEZEUonJPY3Xb99K4+xA3LSnX0kcRGUDlnsZq6iJkGVyxQNdqF5GBVO5prLo2wpKZk5g8XhcHE5GB\nVO5pqqF1P++07mfZQl1mQEQ+TOWepmrqIgBcpXIXkSGo3NNUTV2EReVFnFw0NugoIpKCVO5pqLn9\nEOuaOjQlIyJHpXJPQzW1fVMySxdqlYyIDE3lnoaq6yLMKy1kVsn4oKOISIqKq9zNbJmZbTSzBjO7\n+yhjPmVm682szsweS2xMOaJt32FWbt3NUt2MQ0SOIWe4AWaWDTwEXAk0ASvNbLm7r+83Zg7wV8CF\n7r7HzKYkK3Cme76+BXc03y4ixxTPnvsSoMHdt7h7F/AEcP2gMV8AHnL3PQDu3prYmHJEdW2EGZMK\nWDCtMOgoIpLC4in36UBjv+dNsW39zQXmmtkfzOx1M1s21BuZ2S1mtsrMVrW1tZ1Y4gzWcaibVzfv\nZNlpU3UtGRE5pkQdUM0B5gCXADcB/2xmRYMHufuj7l7l7lUlJSUJ+tKZ46UNrXT3Oks1JSMiw4in\n3JuB8n7Py2Lb+msClrt7t7u/C2yir+wlgaprI0wpHMPi8g/9uykiMkA85b4SmGNmM80sD7gRWD5o\nzL/Tt9eOmRXTN02zJYE5M96hrl5e3tTK0oVTycrSlIyIHNuw5e7uPcCtQA1QDzzp7nVmdr+ZXRcb\nVgPsMrP1wEvAX7r7rmSFzkSvbGqjszvKMi2BFJE4DLsUEsDdVwArBm27r99jB+6I/ZIkqKmLUFSQ\ny5KZk4KOIiJpQGeopoGunijP17dwxYJScrP1VyYiw1NTpIHXtuxiX2ePTlwSkbip3NNAdW2Egrxs\nLppTHHQUEUkTKvcU1xt1nlsf4dL5U8jPzQ46joikCZV7ilv93h527u/SlIyIHBeVe4qrro2Ql53F\npfN1LTYRiZ/KPYW5OzV1ET4yp5jxY+JatSoiAqjcU1pt816a2w/p2u0ictxU7imsum4H2VnGFQt0\nOz0ROT4q9xRWU9fCuTMnMWlcXtBRRCTNqNxTVEPrPhpa9+taMiJyQlTuKaqmrgWAqypV7iJy/FTu\nKaq6NsLiGUVMnZgfdBQRSUMq9xTUtOcgbzd36MQlETlhKvcUdGRKRrfTE5ETpXJPQTW1EeZPLaSi\neFzQUUQkTancU0zbvsOsfG+3VsmIyIio3FPMc+tbcEflLiIjonJPMdV1ESomFzCvtDDoKCKSxlTu\nKaTjUDevNuxk6WlTMbOg44hIGlO5p5AXN7TQE3UtgRSREVO5p5Dq2ghTJ+SzqKwo6CgikuZU7ini\nYFcPr2xqY+nCUrKyNCUjIiOjck8Rv9vURmd3VNduF5GEULmniOraCCcV5LKkYlLQUUQkBFTuKaCr\nJ8oL9a1cWVlKTrb+SkRk5NQkKeDVzTvZd7hHJy6JSMKo3FNATV2E8WNyuGB2cdBRRCQkVO4B6406\nz9a1cOn8KeTnZgcdR0RCQuUesFVbd7PrQJdOXBKRhFK5B6y6LkJeThaXzCsJOoqIhEhc5W5my8xs\no5k1mNndxxj3STNzM6tKXMTwcndqaiNcPKeEcWNygo4jIiEybLmbWTbwEHA1UAncZGaVQ4wrBG4H\n3kh0yLB6u7mD7R2dWiUjIgkXz577EqDB3be4exfwBHD9EOO+DnwH6ExgvlCrro2QnWVcsWBK0FFE\nJGTiKffpQGO/502xbe8zs7OAcnd/5lhvZGa3mNkqM1vV1tZ23GHDxN2pro1w/qzJFBXkBR1HREJm\nxAdUzSwLeBC4c7ix7v6ou1e5e1VJSWYfQGxo3c+WnQd0LRkRSYp4yr0ZKO/3vCy27YhC4DTgZTPb\nCpwHLNdB1WOrro1gBksrS4OOIiIhFE+5rwTmmNlMM8sDbgSWH3nR3TvcvdjdK9y9AngduM7dVyUl\ncUhU10U4a8ZJTJmQH3QUEQmhYcvd3XuAW4EaoB540t3rzOx+M7su2QHDqHH3Qeq279WJSyKSNHEt\nrnb3FcCKQdvuO8rYS0YeK9xq6iIALFW5i0iS6AzVAFTXRqicNoEZkwuCjiIiIaVyH2WteztZvW2P\nTlwSkaRSuY+yZ9e34K4pGRFJLpX7KKupizCzeBxzS8cHHUVEQkzlPoo6Dnbz2uZdLF04FTMLOo6I\nhJjKfRS9sKGFnqhrvl1Ekk7lPoqqayNMm5jPGdMnBh1FREJO5T5KDnb18MqmNpYunEpWlqZkRCS5\nVO6j5JWNbRzuiWqVjIiMCpX7KKmuizBpXB7nVJwUdBQRyQAq91FwuKeXF+tbuXJBKTnZ+shFJPnU\nNKPg1c272He4R6tkRGTUqNxHQU1thPFjcrjg1MlBRxGRDKFyT7LeqPPs+hYumz+FMTnZQccRkQyh\nck+ylVt3s/tAl6ZkRGRUqdyTrLo2wpicLD46N7PvGSsio0vlnkTuTk1dhIvnljBuTFz3RRERSQiV\nexKta+pgR0enbqcnIqNO5Z5E1XURcrKMyxdMCTqKiGQYlXuSuDvVtRHOnz2ZooK8oOOISIZRuSfJ\nO637eXfnAV1LRkQCoXJPkuraCGZwVWVp0FFEJAOp3JOkujbC2TNOYsqE/KCjiEgGUrknwbZdB1m/\nY69OXBKRwKjck6CmLgKg+XYRCYzKPQmq6yIsPHkC5ZMKgo4iIhlK5Z5grXs7Wf3eHp24JCKBUrkn\nWM36FgDNt4tIoFTuCVZTG2FWyThOnTI+6CgiksFU7gnUfrCL17bsYtnCqZhZ0HFEJIOp3BPo+fpW\neqOuKRkRCVxc5W5my8xso5k1mNndQ7x+h5mtN7N1ZvaCmZ2S+Kipr7o2wskT8zl9+sSgo4hIhhu2\n3M0sG3gIuBqoBG4ys8pBw94Cqtz9DOAp4IFEB011Bw738Lt32lh6mqZkRCR48ey5LwEa3H2Lu3cB\nTwDX9x/g7i+5+8HY09eBssTGTH0vb2yjqyeqJZAikhLiKffpQGO/502xbUfzeeC3Q71gZreY2Soz\nW9XW1hZ/yjRQXRdh8rg8qiomBR1FRCSxB1TN7GagCvjuUK+7+6PuXuXuVSUl4bmnaGd3Ly/Wt3DV\nwlKyszQlIyLBi+fGns1Aeb/nZbFtA5jZFcBfAx9198OJiZceXt28kwNdvbqWjIikjHj23FcCc8xs\nppnlATcCy/sPMLPFwA+B69y9NfExU1tNbQuFY3K4YHZx0FFERIA4yt3de4BbgRqgHnjS3evM7H4z\nuy427LvAeOD/mdkaM1t+lLcLnZ7eKM/Vt3D5gink5ei0ARFJDfFMy+DuK4AVg7bd1+/xFQnOlTZW\nbt3D7gNdOnFJRFKKdjVHqKYuQn5uFhfPDc8BYhFJfyr3EYhGneraCB+dW0JBXlw/BImIjAqV+wis\na+4gsrdTUzIiknJU7iNQXRshJ8u4bH5p0FFERAZQuZ8gd6e6dgcXnFrMxLG5QccRERlA5X6CNrXs\nZ+uug7qWjIikJJX7CXB3Hv+vbZjBlZWakhGR1KMlHsep42A3X/3VOqrrInzirOmUFI4JOpKIyIeo\n3I/D6vd28+XH19Cyt5O/vmYBn79oZtCRRESGpHKPQzTqPPLKZh58bhPTi8byqy9ewKLyoqBjiYgc\nlcp9GK37Ornjl2v5fcNOrj1jGt/8xOlMyNfqGBFJbSr3Y3hlUxt3PrmG/Yd7+M4nT+dTVeW6hZ6I\npAWV+xC6e6P8/bMb+eErW5hXWsjjXziPOaWFQccSEYmbyn2Qxt0Hue3xt1jT2M6nz53BvddWkp+b\nHXQsEZHjonLv55l1O7j7V+vA4OFPn8U1p08LOpKIyAlRudN3D9T7n17PY29sY/GMIv7pxsWUTyoI\nOpaIyAnL+HLf1LKP2x57i40t+/jiJbO548q55GbrxF0RSW8ZW+7uzi9XNvK1/6hj/Jgcfva5Jbrh\nhoiERkaW+97Obu759ds8vW4HF51azIM3LGJKYX7QsUREEibjyn1NYzu3Pf4m29s7uWvZPP7s4tlk\nZWntuoiES8aUezTq/Oj3W3igeiOlE/J58n+dz9mnnBR0LBGRpMiIct+5/zB3PrmWVza1cfVpU/n2\nJ85gYoEuISAi4RX6cn+1YSdf+eUa2g91843/dhqfPneGLiEgIqEX2nLv6Y3yveff4aGXG5hdMp5/\n/dwSFkybEHQsEZFREcpyb24/xO2Pv8Wq9/ZwQ1U5f3tdJQV5ofxPFREZUugar6Yuwl1PraM36nz/\nxjO5/szpQUcSERl1oSn3zu5evrWinn997T3OKJvI/75pMadMHhd0LBGRQISi3De37efWx96ifsde\n/vSimdy1bD55ObqEgIhkrrQv96dWN3Hfb2rJz83mx5+p4rL5pUFHEhEJXNqW+/7DPdz777X821vN\nnDdrEt+7YTFTJ+oSAiIikKblXtvcwa2Pvcm23Qe548q5fOnSU8nWJQRERN4X18S0mS0zs41m1mBm\ndw/x+hgz+2Xs9TfMrCLRQY94anUTn3j4VQ73RHnilvP58uVzVOwiIoMMW+5mlg08BFwNVAI3mVnl\noGGfB/a4+6nAPwLfSXTQI2YWF3DZ/Cms+PJHWDJzUrK+jIhIWotnWmYJ0ODuWwDM7AngemB9vzHX\nA1+LPX4K+IGZmbt7ArMCcPYpkzj7j1XqIiLHEs+0zHSgsd/zpti2Ice4ew/QAUwe/EZmdouZrTKz\nVW1tbSeWWEREhjWqi8Hd/VF3r3L3qpIS3fVIRCRZ4in3ZqC83/Oy2LYhx5hZDjAR2JWIgCIicvzi\nKfeVwBwzm2lmecCNwPJBY5YDfxJ7/EfAi8mYbxcRkfgMe0DV3XvM7FagBsgGfuzudWZ2P7DK3ZcD\n/wL83MwagN30/QMgIiIBieskJndfAawYtO2+fo87gf+R2GgiInKidHUtEZEQUrmLiISQBXXc08za\ngPdO8I8XAzsTGCfd6fMYSJ/HB/RZDBSGz+MUdx92LXlg5T4SZrbK3auCzpEq9HkMpM/jA/osBsqk\nz0PTMiIiIaRyFxEJoXQt90eDDpBi9HkMpM/jA/osBsqYzyMt59xFROTY0nXPXUREjiHtyn24u0Jl\nCjMrN7OXzGy9mdWZ2e1BZ0oFZpZtZm+Z2dNBZwmamRWZ2VNmtsHM6s3s/KAzBcXM/iL2fVJrZo+b\nWehvuJxW5R7nXaEyRQ9wp7tXAucBX8rgz6K/24H6oEOkiO8D1e4+H1hEhn4uZjYd+DJQ5e6n0XeN\nrNBf/yqtyp1+d4Vy9y7gyF2hMo6773D3N2OP99H3jTv4JioZxczKgI8BPwo6S9DMbCJwMX0X9cPd\nu9y9PdhUgcoBxsYuSV4AbA84T9KlW7nHc1eojBO7Ifli4I1gkwTue8BdQDToIClgJtAG/CQ2TfUj\nMxsXdKgguHsz8PfANmAH0OHuzwabKvnSrdxlEDMbD/wK+Iq77w06T1DM7Fqg1d1XB50lReQAZwGP\nuPti4ACQkceozOwk+n7CnwmcDIwzs5uDTZV86Vbu8dwVKmOYWS59xf4Ld/910HkCdiFwnZltpW+6\n7jIz+7/BRgpUE9Dk7kd+mnuKvrLPRFcA77p7m7t3A78GLgg4U9KlW7nHc1eojGBmRt98ar27Pxh0\nnqC5+1+5e5m7V9D3/8WL7h76vbOjcfcI0Ghm82KbLgfWBxgpSNuA88ysIPZ9czkZcHA5rpt1pIqj\n3RUq4FhBuRD4Y+BtM1sT23ZP7MYqIgC3Ab+I7QhtAT4bcJ5AuPsbZvYU8CZ9q8zeIgPOVNUZqiIi\nIZRu0zIiIhIHlbuISAip3EVEQkjlLiISQip3EZEQUrmLiISQyl1EJIRU7iIiIfT/AZ1NNr8r/9ed\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "eHB0wdFQiY0E", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 364 + }, + "outputId": "f752ec5e-2e9f-4d8a-fe69-325c8e1e879c" + }, + "source": [ + "prob_drunk_twenty = prob_drunk_iter(0.001, 0.08, 1, 20)\n", + "prob_drunk_twenty" + ], + "execution_count": 38, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[0.0125,\n", + " 0.1366120218579235,\n", + " 0.6641870350690755,\n", + " 0.9611244387033278,\n", + " 0.9967745968884046,\n", + " 0.9997411997948845,\n", + " 0.9999792910528694,\n", + " 0.9999983432526648,\n", + " 0.9999998674600111,\n", + " 0.9999999893967996,\n", + " 0.999999999151744,\n", + " 0.9999999999321395,\n", + " 0.9999999999945711,\n", + " 0.9999999999995657,\n", + " 0.9999999999999653,\n", + " 0.9999999999999972,\n", + " 0.9999999999999998,\n", + " 1.0,\n", + " 1.0,\n", + " 1.0]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 38 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YSfIE8w1ikUo", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + }, + "outputId": "3f092b9c-9144-4e80-ff66-18218fbb4dea" + }, + "source": [ + "plt.plot(prob_drunk_twenty)\n", + "# Plot for 20 reps\n", + "# Seems to hit a limit around 5 reps" + ], + "execution_count": 39, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 39 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "t4NO2icVkXD_", + "colab_type": "code", + "colab": {} + }, + "source": [ + "import scipy.stats as stats\n", + "stats.bayes_mvs?" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "h3Rk428Sqg7S", + "colab_type": "text" + }, + "source": [ + "## 2) Scipy.Stats.bayes_mvs" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Rli4pX3wqlPv", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 208 + }, + "outputId": "2585cb0a-3a69-45e9-e2b4-a727f0987b9f" + }, + "source": [ + "!wget https://archive.ics.uci.edu/ml/machine-learning-databases/voting-records/house-votes-84.data" + ], + "execution_count": 44, + "outputs": [ + { + "output_type": "stream", + "text": [ + "--2019-10-09 03:57:22-- https://archive.ics.uci.edu/ml/machine-learning-databases/voting-records/house-votes-84.data\n", + "Resolving archive.ics.uci.edu (archive.ics.uci.edu)... 128.195.10.252\n", + "Connecting to archive.ics.uci.edu (archive.ics.uci.edu)|128.195.10.252|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 18171 (18K) [application/x-httpd-php]\n", + "Saving to: ‘house-votes-84.data’\n", + "\n", + "\rhouse-votes-84.data 0%[ ] 0 --.-KB/s \rhouse-votes-84.data 100%[===================>] 17.75K --.-KB/s in 0.03s \n", + "\n", + "2019-10-09 03:57:22 (628 KB/s) - ‘house-votes-84.data’ saved [18171/18171]\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZsGi157sqtQM", + "colab_type": "code", + "colab": {} + }, + "source": [ + "import pandas as pd\n", + "import numpy as np" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "GSfspPX5qrGZ", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 274 + }, + "outputId": "49c5ba70-56ea-4cde-cf0a-1dfe0e4f674e" + }, + "source": [ + "df_cols = ['party',\n", + " 'handicapped_infants',\n", + " 'water-project-cost-sharing',\n", + " 'adoption-of-the-budget-resolution',\n", + " 'physician-fee-freeze',\n", + " 'el-salvador-aid',\n", + " 'religious-groups-in-schools',\n", + " 'anti-satellite-test-ban',\n", + " 'aid-to-nicaraguan-contras',\n", + " 'mx-missile',\n", + " 'immigration',\n", + " 'synfuels-corporation-cutback',\n", + " 'education-spending',\n", + " 'superfund-right-to-sue',\n", + " 'crime',\n", + " 'duty-free-exports',\n", + " 'export-administration-act-south-africa']\n", + "df = pd.read_csv('house-votes-84.data', names=df_cols)\n", + "replace_dict = {'?': np.nan, 'y': 1, 'n': 0}\n", + "df = df.replace(replace_dict)\n", + "df.head()" + ], + "execution_count": 49, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
partyhandicapped_infantswater-project-cost-sharingadoption-of-the-budget-resolutionphysician-fee-freezeel-salvador-aidreligious-groups-in-schoolsanti-satellite-test-banaid-to-nicaraguan-contrasmx-missileimmigrationsynfuels-corporation-cutbackeducation-spendingsuperfund-right-to-suecrimeduty-free-exportsexport-administration-act-south-africa
0republican0.01.00.01.01.01.00.00.00.01.0NaN1.01.01.00.01.0
1republican0.01.00.01.01.01.00.00.00.00.00.01.01.01.00.0NaN
2democratNaN1.01.0NaN1.01.00.00.00.00.01.00.01.01.00.00.0
3democrat0.01.01.00.0NaN1.00.00.00.00.01.00.01.00.00.01.0
4democrat1.01.01.00.01.01.00.00.00.00.01.0NaN1.01.01.01.0
\n", + "
" + ], + "text/plain": [ + " party ... export-administration-act-south-africa\n", + "0 republican ... 1.0\n", + "1 republican ... NaN\n", + "2 democrat ... 0.0\n", + "3 democrat ... 1.0\n", + "4 democrat ... 1.0\n", + "\n", + "[5 rows x 17 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 49 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8yPZDLmVqzJX", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "322653e6-af67-4359-903e-f160c7b26612" + }, + "source": [ + "mean, var, std = stats.bayes_mvs(df['water-project-cost-sharing'].dropna())\n", + "mean" + ], + "execution_count": 52, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Mean(statistic=0.5038759689922481, minmax=(0.4619161006559928, 0.5458358373285033))" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 52 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "2ZEDTt3IrKBK", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "91c1379b-5824-4ae7-d12a-c7c9e76fcc51" + }, + "source": [ + "var" + ], + "execution_count": 53, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Variance(statistic=0.25193798449612403, minmax=(0.22352548228908597, 0.2833227081716581))" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 53 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-qTyHxCrrLWv", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "3c4db49c-94d6-4bf9-cf8b-08d0f3062c20" + }, + "source": [ + "std" + ], + "execution_count": 54, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Std_dev(statistic=0.5016075698129333, minmax=(0.4727848160517489, 0.5322806667272991))" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 54 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "t_m-wniFrOiQ", + "colab_type": "code", + "colab": {} + }, + "source": [ + "# I'm not sure if I've done this part correctly, and if I have I don't think I\n", + "# understand it..." + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "k5wwj6J7ruV_", + "colab_type": "text" + }, + "source": [ + "## 3) Comparing Bayesian approach to standard approach" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zAt6x_hZS5ye", + "colab_type": "text" + }, + "source": [ + "## 4) Bayesian and Frequentist Statistics\n", + "\n", + "The difference between Bayesian and Frequentist statistics lies in how they conceive of probability.\n", + "\n", + "Frequentist stats conceives of probability as a rate of occurrence.\n", + "\n", + "Bayesian stats conceives of probability as a degree of belief in an event." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uWgWjp3PQ3Sq", + "colab_type": "text" + }, + "source": [ + "## Resources" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "QRgHqmYIQ9qn", + "colab_type": "text" + }, + "source": [ + "- [Worked example of Bayes rule calculation](https://en.wikipedia.org/wiki/Bayes'_theorem#Examples) (helpful as it fully breaks out the denominator)\n", + "- [Source code for mvsdist in scipy](https://github.com/scipy/scipy/blob/90534919e139d2a81c24bf08341734ff41a3db12/scipy/stats/morestats.py#L139)" + ] + } + ] +} \ No newline at end of file