diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/14_days_challenge.iml b/.idea/14_days_challenge.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/14_days_challenge.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..a0f56f8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..2215a9c --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/webResources.xml b/.idea/webResources.xml new file mode 100644 index 0000000..da03542 --- /dev/null +++ b/.idea/webResources.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Finance.ipynb b/Finance.ipynb new file mode 100644 index 0000000..cf5730f --- /dev/null +++ b/Finance.ipynb @@ -0,0 +1,727 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "collapsed_sections": [], + "mount_file_id": "1eVjWN0ysDmV2RReXznoIIT_fyNwrYv7n", + "authorship_tag": "ABX9TyP51gcOQnjIJkb4JDikMx/g", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "DK9OMf6Yi7T3" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n" + ] + }, + { + "cell_type": "code", + "source": [ + "df = pd.read_csv('drive/MyDrive/financials.csv')\n", + "print(df.head())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GofWEpHll3zk", + "outputId": "68761701-37de-400b-e696-12ce7692f552" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " Symbol Name Sector Price Price/Earnings \\\n", + "0 MMM 3M Company Industrials 222.89 24.31 \n", + "1 AOS A.O. Smith Corp Industrials 60.24 27.76 \n", + "2 ABT Abbott Laboratories Health Care 56.27 22.51 \n", + "3 ABBV AbbVie Inc. Health Care 108.48 19.41 \n", + "4 ACN Accenture plc Information Technology 150.51 25.47 \n", + "\n", + " Dividend Yield Earnings/Share 52 Week Low 52 Week High Market Cap \\\n", + "0 2.332862 7.92 259.77 175.490 1.387211e+11 \n", + "1 1.147959 1.70 68.39 48.925 1.078342e+10 \n", + "2 1.908982 0.26 64.60 42.280 1.021210e+11 \n", + "3 2.499560 3.29 125.86 60.050 1.813863e+11 \n", + "4 1.714470 5.44 162.60 114.820 9.876586e+10 \n", + "\n", + " EBITDA Price/Sales Price/Book \\\n", + "0 9.048000e+09 4.390271 11.34 \n", + "1 6.010000e+08 3.575483 6.35 \n", + "2 5.744000e+09 3.740480 3.19 \n", + "3 1.031000e+10 6.291571 26.14 \n", + "4 5.643228e+09 2.604117 10.62 \n", + "\n", + " SEC Filings \n", + "0 http://www.sec.gov/cgi-bin/browse-edgar?action... \n", + "1 http://www.sec.gov/cgi-bin/browse-edgar?action... \n", + "2 http://www.sec.gov/cgi-bin/browse-edgar?action... \n", + "3 http://www.sec.gov/cgi-bin/browse-edgar?action... \n", + "4 http://www.sec.gov/cgi-bin/browse-edgar?action... \n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# New Section" + ], + "metadata": { + "id": "md0NhiY2Q8kQ" + } + }, + { + "cell_type": "code", + "source": [ + "print(df.info())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Yxt0MaG0m9_7", + "outputId": "08afdb32-0a95-4a06-c55c-42e9d1c9de26" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "RangeIndex: 505 entries, 0 to 504\n", + "Data columns (total 14 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Symbol 505 non-null object \n", + " 1 Name 505 non-null object \n", + " 2 Sector 505 non-null object \n", + " 3 Price 505 non-null float64\n", + " 4 Price/Earnings 503 non-null float64\n", + " 5 Dividend Yield 505 non-null float64\n", + " 6 Earnings/Share 505 non-null float64\n", + " 7 52 Week Low 505 non-null float64\n", + " 8 52 Week High 505 non-null float64\n", + " 9 Market Cap 505 non-null float64\n", + " 10 EBITDA 505 non-null float64\n", + " 11 Price/Sales 505 non-null float64\n", + " 12 Price/Book 497 non-null float64\n", + " 13 SEC Filings 505 non-null object \n", + "dtypes: float64(10), object(4)\n", + "memory usage: 55.4+ KB\n", + "None\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "df.isnull().sum()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "okGiIBRVQvXO", + "outputId": "8f14d8d5-9ab2-4e0c-85d5-4f4c92b71fc4" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Symbol 0\n", + "Name 0\n", + "Sector 0\n", + "Price 0\n", + "Price/Earnings 2\n", + "Dividend Yield 0\n", + "Earnings/Share 0\n", + "52 Week Low 0\n", + "52 Week High 0\n", + "Market Cap 0\n", + "EBITDA 0\n", + "Price/Sales 0\n", + "Price/Book 8\n", + "SEC Filings 0\n", + "dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "source": [ + "df = df.dropna().head(50)\n", + "df.isnull().sum()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "M1Oi0fVuR_Qr", + "outputId": "26347261-540a-4c2e-9aa6-59242c67c9be" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Symbol 0\n", + "Name 0\n", + "Sector 0\n", + "Price 0\n", + "Price/Earnings 0\n", + "Dividend Yield 0\n", + "Earnings/Share 0\n", + "52 Week Low 0\n", + "52 Week High 0\n", + "Market Cap 0\n", + "EBITDA 0\n", + "Price/Sales 0\n", + "Price/Book 0\n", + "SEC Filings 0\n", + "dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "source": [ + "df1= df.loc[:,['52 Week Low','52 Week High']]\n", + "df1.head(5)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 215 + }, + "id": "X5vYdbYNSVEN", + "outputId": "c3acb53c-a151-4bfd-bdf1-27c508e69426" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " 52 Week Low 52 Week High\n", + "0 259.77 175.490\n", + "1 68.39 48.925\n", + "2 64.60 42.280\n", + "3 125.86 60.050\n", + "4 162.60 114.820" + ], + "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", + "
52 Week Low52 Week High
0259.77175.490
168.3948.925
264.6042.280
3125.8660.050
4162.60114.820
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {}, + "execution_count": 10 + } + ] + }, + { + "cell_type": "code", + "source": [ + "r,c = df.shape\n", + "print(r,c)" + ], + "metadata": { + "id": "YgSBvX_zq2XK", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "abf121d8-290d-4411-b206-5b6269ce12a7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "505 14\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(df.describe())\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "OPCtjBpj67Rz", + "outputId": "a36dafc0-56c3-4241-f036-a25f4629d42c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " Price Price/Earnings Dividend Yield Earnings/Share \\\n", + "count 20.000000 20.000000 20.000000 20.000000 \n", + "mean 106.510000 30.991000 1.480700 4.855000 \n", + "std 59.155562 37.957537 1.283868 4.239713 \n", + "min 10.060000 9.660000 0.000000 -1.720000 \n", + "25% 63.652500 18.192500 0.411724 1.667500 \n", + "50% 106.830000 23.365000 1.174186 4.415000 \n", + "75% 151.082500 27.527500 2.357123 7.552500 \n", + "max 222.890000 187.000000 4.961832 13.660000 \n", + "\n", + " 52 Week Low 52 Week High Market Cap EBITDA Price/Sales \\\n", + "count 20.000000 20.000000 2.000000e+01 2.000000e+01 20.000000 \n", + "mean 129.343500 82.828805 4.568229e+10 2.677373e+09 4.520701 \n", + "std 70.771182 47.168770 5.107358e+10 2.939704e+09 3.512549 \n", + "min 12.050000 9.700000 6.242378e+09 0.000000e+00 0.659514 \n", + "25% 73.598750 47.856250 1.069811e+10 6.647725e+08 1.732244 \n", + "50% 130.115000 73.805000 1.701399e+10 1.463200e+09 3.928424 \n", + "75% 179.977500 115.992500 6.803532e+10 3.285500e+09 5.963882 \n", + "max 259.770000 175.490000 1.813863e+11 1.031000e+10 13.092818 \n", + "\n", + " Price/Book \n", + "count 20.000000 \n", + "mean 6.511000 \n", + "std 6.675381 \n", + "min 1.530000 \n", + "25% 2.795000 \n", + "50% 3.450000 \n", + "75% 7.417500 \n", + "max 26.140000 \n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "name = df['Name'].head(10)\n", + "price = df['Price'].head(10)\n", + "high52 = df['52 Week High'].head(10)\n", + "low52 = df['52 Week Low'].head(10)\n" + ], + "metadata": { + "id": "pW0COy_N7q1h" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "fig = plt.figure(figsize=(10,5))\n", + "plt.bar(name,price,color='blue',width=0.2)\n", + "plt.show()" + ], + "metadata": { + "id": "4Vx5h_Z_9Qxx" + } + }, + { + "cell_type": "code", + "source": [ + "df.plot(x='52 Week High', y='52 Week Low', style='+')\n", + "plt.xlabel('52 Week High')\n", + "plt.ylabel('52 Week Low')\n", + "plt.show()" + ], + "metadata": { + "id": "LYHfixdzZqO_", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 279 + }, + "outputId": "6f093f48-24a3-4b35-99bf-7e3810f80e44" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAdOElEQVR4nO3de5zVdb3v8ddbYYOSlsJIHARHPYAJEsI8ahjAKIO8VEoXtmZetj7C09a8deoB6Tm294PKOiXHdm2VjgZ22JUbrUjNILYelIHcgIRc4hJiwQO5ec2Sm5/zx+83vxbDzJrFuNasNbPez8djPea3vr/L+syPYT7z+14VEZiZmQEcVe4AzMyscjgpmJlZxknBzMwyTgpmZpZxUjAzs0y3cgfwdvTp0ydqa2vLHYaZWaeyfPny3RFR09K+Tp0UamtrWbZsWbnDMDPrVCS90No+Vx+ZmVnGScHMzDJOCmZmlunUbQot2b9/P1u3buXNN98sdyiW6tmzJyeffDLdu3cvdyhm1oYulxS2bt3KcccdR21tLZLKHU7Viwj27NnD1q1bOfXUU8sdjpm1octVH7355pv07t3bCaFCSKJ3795+cjMrshkLNpTkul0uKQBOCBXG/x5mxXfXwo0luW6XTApmZtY+TgolUFtby1lnncWIESOoq6vLyr/0pS9xxhlnMHz4cCZNmsQrr7xy2LmTJk3i5z//efZ+yJAhTJ8+PXv/yU9+kocffviIYxo/fnybA/0KOcbMymfGgg3UTn2U2qmPAmTbxaxKclJIFbt+7oknnmDlypWH/JKdMGECq1evZtWqVQwePJhvfOMbh503ZswYGhsbAdizZw+9evViyZIl2f4lS5bQ0NBQ1FjNrHO4ecJgttxxIVvuuBAg2755wuCifYaTQqpU9XO5Jk6cSLduSYev+vp6tm7detgxDQ0NWVJobGzkYx/7GLt27SIieP755znmmGN497vfzfz58xk9ejQjR47k05/+NH/+858BWL58OR/4wAcYNWoUH/nIR9i+ffsh13/rrbe46qqruO222wqK+aWXXuLiiy9m+PDh1NfXs2rVKgDOOussXnnlFSKC3r1788ADDwBwxRVXsGDBgvbdIDMrOyeFEpDExIkTGTVqFDNnzmzxmPvvv5/zzz//sPJRo0axevVq9u3bR2NjI6NHj2bIkCGsW7eOxsZGGhoa2L17N9OnT+c3v/kNK1asoK6ujjvvvJP9+/fzhS98gblz57J8+XKuvvpqbr311uzaBw4c4LLLLmPQoEGHVEnlc/vtt3P22WezatUqvv71r3PFFVcAyRPN4sWLWbNmDaeddhpPPfUU4CcZs45y47mDSnLdLjdO4UjMWLDhkCeEpnq6G88d9LYex55++mn69+/Pzp07mTBhAmeccQbnnHNOtv9rX/sa3bp147LLLjvs3B49ejB06FBWrFjB0qVL+fKXv8zmzZtpbGzk2WefZcyYMSxdupS1a9cyZswYAPbt28fo0aNZv349q1evZsKECQAcPHiQfv36Zde+9tprmTx58iGJopDv5aGHHgLgQx/6EHv27OG1115j3LhxLFq0iFNOOYXPf/7zzJw5k23btnHCCSfQq1evdt03MytcMauMcpXsSUHSAElPSForaY2kG9Pyr0raJmll+rog55xpkjZJWi/pI6WKrUmp6uf69+8PwEknncSkSZN45plnsn2zZs3ikUceYc6cOa121RwzZgyLFi3i9ddf54QTTqC+vp7GxsbsSSEimDBhAitXrmTlypWsXbuW++67j4hg6NChWflzzz3H/Pnzs+s2NDTwxBNPFGXMwDnnnMNTTz3FU089xfjx46mpqWHu3LmMGzfubV/bzMqnlNVHB4AvRsSZQD1wnaQz030zImJE+noMIN13CTAUOA/4V0lHlzC+knjjjTd4/fXXs+358+czbNgwAB5//HG+9a1vMW/ePI499thWr9HQ0MC9997Le9/7XgCGDx/O0qVL+eMf/8iwYcOor69n8eLFbNq0KfucDRs2MGTIEHbt2pU1TO/fv581a9Zk173mmmu44IILmDx5MgcOHCjo+xk3bhxz5swB4Mknn6RPnz4cf/zxDBgwgN27d7Nx40ZOO+00xo4dy7e//e1DnojMrPMpWfVRRGwHtqfbr0taB/TPc8pFwE8iYi/wvKRNwPuAJXnOKZpi1c/t2LGDSZMmAUkd/mc+8xnOO+88AK6//nr27t2bVe/U19dzzz33HHaNhoYGNm/ezLRp0wDo1q0bJ510EgMGDOCoo46ipqaGWbNmcemll7J3714Apk+fzuDBg5k7dy433HADr776KgcOHOCmm25i6NCh2bVvueUWXn31VS6//HLmzJnDUUcd+nfBhRdemM1R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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "source": [ + "X = pd.DataFrame(df['52 Week High'])\n", + "y = pd.DataFrame(df['52 Week Low'])" + ], + "metadata": { + "id": "U1xmlVfHf-_n" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.model_selection import train_test_split\n", + "X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state=1)\n", + "X_train.shape\n", + "X_test.shape\n", + "y_train.shape\n", + "y_test.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JSZwIBN4gIRc", + "outputId": "8cdb2485-7070-439b-ce6b-0c4353cc9de6" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(6, 1)" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.metrics import mean_squared_error\n", + "regressor = LinearRegression()\n", + "regressor.fit(X_train, y_train)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1m0Yo9MjgbHj", + "outputId": "e70527c8-d55b-447a-bd64-edd9c1bb2e21" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "LinearRegression()" + ] + }, + "metadata": {}, + "execution_count": 23 + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(regressor.intercept_)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "eWcF3q32geV7", + "outputId": "0e971114-891d-425d-e176-1e5745182166" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[13.40387996]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(regressor.coef_)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "SjGg7Cu-ghVv", + "outputId": "93d668e4-6a04-4949-ba71-17d4efa685d8" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[1.39623434]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "y_test_predict = regressor.predict(X_test)\n", + "print(y_test_predict)" + ], + "metadata": { + "id": "RbQFKqd_nE6V", + "outputId": "3eb4a5da-80d9-4eab-ffd3-387b96952014", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[ 97.24775219]\n", + " [ 75.74574332]\n", + " [211.66915651]\n", + " [ 27.36622338]\n", + " [ 72.43666793]\n", + " [ 82.14049661]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "plotdata = pd.DataFrame({\n", + "\n", + " \"2019\":[68,73,80,79],\n", + "\n", + " \"2020\":[73,78,80,85]},\n", + "\n", + " index=[\"Django\", \"Gafur\", \"Tommy\", \"Ronnie\"])\n", + "\n", + "plotdata.plot(kind=\"bar\",figsize=(15, 8))\n", + "\n", + "plt.title(\"FIFA ratings\")\n", + "\n", + "plt.xlabel(\"Footballer\")\n", + "\n", + "plt.ylabel(\"Ratings\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 555 + }, + "id": "nb0bXhSEA9Sg", + "outputId": "075f6143-a96f-4747-e053-3d4479e3fe43" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Text(0, 0.5, 'Ratings')" + ] + }, + "metadata": {}, + "execution_count": 3 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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1M3Sd77znZxwwgl55Stfmf333/8G26pqh3euPOKII/KCF7wgj33sY3Pb2942Rx11VPbaa69pRgYAAJYJZ+p20dVXX50TTjghT33qU3P88ccnSQ455JBs2bIlSbJly5YcfPDBO3yfk046Keedd14+/OEP54ADDsg973nPqeYGAACWB6VuF3R3TjrppBxxxBF53vOed/34Mccck/Xr1ydJ1q9fn2OPPXaH73X55ZcnSb72ta/l7LPPzlOe8pTphAYAAJaV6u5ZZ9ihNWvW9MaNG28wdsEFF+SII46YUaI55557bh71qEflfve7X251q7l+/OIXvzhHH310TjzxxHzta1/LXe9615x11lk58MADc9lll2XNmjW58sorc6tb3Sq3u93tsmnTpuy///551KMelSuuuCJ77713Xv7yl2ft2rU/9nm3hO8MAAAsvao6r7vXbG+ba+p2wSMf+cjcVCk+55xzfmzsTne6UzZv3rzd/T/ykY/s1mwAAMCewfRLAACAgSl1AAAAAzP9EgAA9nSn3X7WCXa/07416wRLxpk6AACAgSl1AAAAA1PqAAAABrZ8rqnb3fOAFzAH95JLLsnTn/70bN26NVWVk08+Oaecckq+/vWv54lPfGIuvvjirF69OmeddVYOOOCAvOlNb8pLXvKSdHf222+/vPa1r82RRx6ZJHnf+96XU045Jddee22e+cxn5tRTT9293wcAAFiWnKnbBStWrMjLXvaybNq0KR/72Mfymte8Jps2bcrpp5+etWvX5sILL8zatWtz+umnJ0kOP/zwfOhDH8rnPve5/MEf/EFOPvnkJMm1116bZz3rWXnve9+bTZs25c1vfnM2bdo0y68GAAAMQqnbBYceemge+MAHJkn222+/HHHEEbn00kuzYcOGrFu3Lkmybt26vPOd70ySPPzhD88BBxyQJHnoQx96/YPIP/GJT+Tud7977na3u2WfffbJk570pGzYsGEG3wgAABiNUrebXHzxxTn//PNz9NFHZ+vWrTn00EOTJHe6052ydevWH9v/zDPPzOMe97gkyaWXXpo73/nO129btWpVLr300qUJDgAADG35XFM3Q9/5zndywgkn5JWvfGX233//G2yrqlTVDcY+8IEP5Mwzz8y55567lDEBAIBlyJm6XXT11VfnhBNOyFOf+tQcf/zxSZJDDjkkW7ZsSZJs2bIl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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Track 2/Day 3/Day_3.ipynb b/Track 2/Day 3/Day_3.ipynb new file mode 100644 index 0000000..a9c747a --- /dev/null +++ b/Track 2/Day 3/Day_3.ipynb @@ -0,0 +1,348 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "authorship_tag": "ABX9TyNxK+I6rATHOhmd15QScltA", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "4lUVvajYLx4c" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "source": [ + "age=[23,18,27,16,40,29,24,21,34,32]\n", + "employ=['unemployed','employed','employed','unemployed','employed','employed','unemployed','unemployed','employed','employed']\n", + "salary=[0,100000,10000,0,4000000,1500000,0,0,500000,2000000]\n", + "buy=[1,0,1,0,0,1,1,1,0,1]\n", + "\n", + "df=pd.DataFrame(\n", + " {\n", + " 'age':age,\n", + " 'employment_type':employ,\n", + " 'salary':salary,\n", + " 'buy':buy\n", + " }\n", + ")\n", + "\n", + "employment = pd.get_dummies(df['employment_type'], drop_first = True)\n", + "df = pd.concat([df, employment], axis = 1)\n", + "df.drop(['employment_type'], axis = 1, inplace = True)\n", + "df.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "pW8z6ZXhL9eH", + "outputId": "f189df19-570d-41a8-e642-7cca8ecdcf90" + }, + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " age salary buy unemployed\n", + "0 23 0 1 1\n", + "1 18 100000 0 0\n", + "2 27 10000 1 0\n", + "3 16 0 0 1\n", + "4 40 4000000 0 0" + ], + "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", + "
agesalarybuyunemployed
023011
11810000000
2271000010
316001
440400000000
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {}, + "execution_count": 6 + } + ] + }, + { + "cell_type": "code", + "source": [ + "y_data = df['buy'] \n", + "x_data = df.drop('buy', axis = 1)" + ], + "metadata": { + "id": "oU1kP0kfM39W" + }, + "execution_count": 7, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.model_selection import train_test_split\n", + "x_training_data, x_test_data, y_training_data, y_test_data = train_test_split(x_data, y_data, test_size = 0.3) " + ], + "metadata": { + "id": "9JplWP0jNCn2" + }, + "execution_count": 8, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.linear_model import LogisticRegression\n", + "model = LogisticRegression()" + ], + "metadata": { + "id": "r1BWi2UzNF6A" + }, + "execution_count": 9, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model.fit(x_training_data, y_training_data)\n", + "predictions = model.predict(x_test_data)" + ], + "metadata": { + "id": "2pMix4CfNJp9" + }, + "execution_count": 10, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics import confusion_matrix\n", + "print (confusion_matrix(y_test_data,predictions))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0JjEXIkENM2_", + "outputId": "62938c29-c5ab-4700-9696-bde143f4ca16" + }, + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[0 0]\n", + " [3 0]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import seaborn as sns\n", + "sns.regplot(x=x_data['age'], y=y_data, data=df, logistic=True, ci=None)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 296 + }, + "id": "j1aCmc4DNRc8", + "outputId": "4402a79a-fdb8-4b2b-9474-cecca7e73ddd" + }, + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 12 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Track 2/Day 4/Day4.ipynb b/Track 2/Day 4/Day4.ipynb new file mode 100644 index 0000000..aa10847 --- /dev/null +++ b/Track 2/Day 4/Day4.ipynb @@ -0,0 +1,710 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "mount_file_id": "16k6mMI25jgjzEG8sbRz8SEZK3B-qiyX3", + "authorship_tag": "ABX9TyPLks1eLypVhdGvX3uUJK3n", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ylakPrhrIbP-" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "train_data = pd.read_csv('drive/MyDrive/train-data.csv')\n", + "test_data = pd.read_csv('drive/MyDrive/test-data.csv')" + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "axaDMpyOBEP7" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/drive')" + ], + "metadata": { + "id": "XBsVbEhVwmvt" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "train_data = train_data.iloc[:,1:]\n", + "train_data.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "Zp58juILxA1P", + "outputId": "28236289-b84a-4186-e04c-c76106233d8d" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Name Location Year Kilometers_Driven \\\n", + "0 Maruti Wagon R LXI CNG Mumbai 2010 72000 \n", + "1 Hyundai Creta 1.6 CRDi SX Option Pune 2015 41000 \n", + "2 Honda Jazz V Chennai 2011 46000 \n", + "3 Maruti Ertiga VDI Chennai 2012 87000 \n", + "4 Audi A4 New 2.0 TDI Multitronic Coimbatore 2013 40670 \n", + "\n", + " Fuel_Type Transmission Owner_Type Mileage Engine Power Seats \\\n", + "0 CNG Manual First 26.6 km/kg 998 CC 58.16 bhp 5.0 \n", + "1 Diesel Manual First 19.67 kmpl 1582 CC 126.2 bhp 5.0 \n", + "2 Petrol Manual First 18.2 kmpl 1199 CC 88.7 bhp 5.0 \n", + "3 Diesel Manual First 20.77 kmpl 1248 CC 88.76 bhp 7.0 \n", + "4 Diesel Automatic Second 15.2 kmpl 1968 CC 140.8 bhp 5.0 \n", + "\n", + " Price \n", + "0 1.75 \n", + "1 12.50 \n", + "2 4.50 \n", + "3 6.00 \n", + "4 17.74 " + ], + "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", + "
NameLocationYearKilometers_DrivenFuel_TypeTransmissionOwner_TypeMileageEnginePowerSeatsPrice
0Maruti Wagon R LXI CNGMumbai201072000CNGManualFirst26.6 km/kg998 CC58.16 bhp5.01.75
1Hyundai Creta 1.6 CRDi SX OptionPune201541000DieselManualFirst19.67 kmpl1582 CC126.2 bhp5.012.50
2Honda Jazz VChennai201146000PetrolManualFirst18.2 kmpl1199 CC88.7 bhp5.04.50
3Maruti Ertiga VDIChennai201287000DieselManualFirst20.77 kmpl1248 CC88.76 bhp7.06.00
4Audi A4 New 2.0 TDI MultitronicCoimbatore201340670DieselAutomaticSecond15.2 kmpl1968 CC140.8 bhp5.017.74
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "code", + "source": [ + "train_data.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "6g-bcG8WxGmL", + "outputId": "b07cb1b1-3a10-4c99-a45a-d90378d25895" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(5911, 12)" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "code", + "source": [ + "train_data.isnull().sum()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "a7a2eGYlxPg2", + "outputId": "5b044a8e-436b-4e58-ce61-b5e10bce2dc2" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Name 0\n", + "Location 0\n", + "Year 0\n", + "Kilometers_Driven 0\n", + "Fuel_Type 0\n", + "Transmission 0\n", + "Owner_Type 0\n", + "Mileage 2\n", + "Engine 35\n", + "Power 35\n", + "Seats 37\n", + "Price 0\n", + "dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ] + }, + { + "cell_type": "code", + "source": [ + "train_data.drop([\"Name\"],axis=1,inplace=True)\n", + "train_data.drop([\"Mileage\"],axis=1,inplace=True)\n", + "train_data.drop([\"Engine\"],axis=1,inplace=True)\n", + "train_data.drop([\"Power\"],axis=1,inplace=True)\n", + "train_data.info()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "O0SmKRiPBF08", + "outputId": "8a74f982-2052-4960-e459-f1e660c14e7c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "RangeIndex: 5911 entries, 0 to 5910\n", + "Data columns (total 8 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Location 5911 non-null object \n", + " 1 Year 5911 non-null int64 \n", + " 2 Kilometers_Driven 5911 non-null int64 \n", + " 3 Fuel_Type 5911 non-null object \n", + " 4 Transmission 5911 non-null object \n", + " 5 Owner_Type 5911 non-null object \n", + " 6 Seats 5874 non-null float64\n", + " 7 Price 5911 non-null float64\n", + "dtypes: float64(2), int64(2), object(4)\n", + "memory usage: 369.6+ KB\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "var = 'Location'\n", + "var1= 'Company'\n", + "train_data[var].value_counts()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "m_a-gEIUBbMG", + "outputId": "ddc74cfe-3160-4e84-a7d3-9de505f5e528" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Mumbai 780\n", + "Hyderabad 719\n", + "Kochi 648\n", + "Coimbatore 630\n", + "Pune 603\n", + "Delhi 550\n", + "Kolkata 525\n", + "Chennai 478\n", + "Jaipur 405\n", + "Bangalore 352\n", + "Ahmedabad 221\n", + "Name: Location, dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "source": [ + "Location = train_data[[var]]\n", + "Location = pd.get_dummies(Location,drop_first=True)\n", + "Location.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 250 + }, + "id": "wxT97RTxBgGn", + "outputId": "694c6ae7-2dc7-4027-8ad9-51febbe63aeb" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Location_Bangalore Location_Chennai Location_Coimbatore Location_Delhi \\\n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 1 0 0 \n", + "3 0 1 0 0 \n", + "4 0 0 1 0 \n", + "\n", + " Location_Hyderabad Location_Jaipur Location_Kochi Location_Kolkata \\\n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "\n", + " Location_Mumbai Location_Pune \n", + "0 1 0 \n", + "1 0 1 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 " + ], + "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", + "
Location_BangaloreLocation_ChennaiLocation_CoimbatoreLocation_DelhiLocation_HyderabadLocation_JaipurLocation_KochiLocation_KolkataLocation_MumbaiLocation_Pune
00000000010
10000000001
20100000000
30100000000
40010000000
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "source": [ + "Company= train_data[[var1]]\n", + "Company = pd.get_dummies(Company,drop_first=True)\n", + "Company.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 345 + }, + "id": "d_WPOKlfBjUl", + "outputId": "a2a42e9a-db74-4b5a-9c95-1dbe99ec92a3" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "error", + "ename": "KeyError", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mCompany\u001b[0m\u001b[0;34m=\u001b[0m \u001b[0mtrain_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mvar1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mCompany\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_dummies\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mCompany\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdrop_first\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mCompany\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3462\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_iterator\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3463\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3464\u001b[0;31m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_listlike_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3465\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3466\u001b[0m \u001b[0;31m# take() does not accept boolean indexers\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m_get_listlike_indexer\u001b[0;34m(self, key, axis)\u001b[0m\n\u001b[1;32m 1312\u001b[0m \u001b[0mkeyarr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_indexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reindex_non_unique\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkeyarr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1313\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1314\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_read_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkeyarr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1315\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1316\u001b[0m if needs_i8_conversion(ax.dtype) or isinstance(\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m_validate_read_indexer\u001b[0;34m(self, key, indexer, axis)\u001b[0m\n\u001b[1;32m 1372\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0muse_interval_msg\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1373\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1374\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"None of [{key}] are in the [{axis_name}]\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1375\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1376\u001b[0m \u001b[0mnot_found\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mensure_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mmissing_mask\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnonzero\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munique\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyError\u001b[0m: \"None of [Index(['Company'], dtype='object')] are in the [columns]\"" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/ankit/Finance.ipynb b/ankit/Finance.ipynb new file mode 100644 index 0000000..c61fa67 --- /dev/null +++ b/ankit/Finance.ipynb @@ -0,0 +1,727 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "collapsed_sections": [], + "mount_file_id": "1eVjWN0ysDmV2RReXznoIIT_fyNwrYv7n", + "authorship_tag": "ABX9TyP51gcOQnjIJkb4JDikMx/g", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "DK9OMf6Yi7T3" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n" + ] + }, + { + "cell_type": "code", + "source": [ + "df = pd.read_csv('drive/MyDrive/financials.csv')\n", + "print(df.head())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GofWEpHll3zk", + "outputId": "68761701-37de-400b-e696-12ce7692f552" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " Symbol Name Sector Price Price/Earnings \\\n", + "0 MMM 3M Company Industrials 222.89 24.31 \n", + "1 AOS A.O. Smith Corp Industrials 60.24 27.76 \n", + "2 ABT Abbott Laboratories Health Care 56.27 22.51 \n", + "3 ABBV AbbVie Inc. Health Care 108.48 19.41 \n", + "4 ACN Accenture plc Information Technology 150.51 25.47 \n", + "\n", + " Dividend Yield Earnings/Share 52 Week Low 52 Week High Market Cap \\\n", + "0 2.332862 7.92 259.77 175.490 1.387211e+11 \n", + "1 1.147959 1.70 68.39 48.925 1.078342e+10 \n", + "2 1.908982 0.26 64.60 42.280 1.021210e+11 \n", + "3 2.499560 3.29 125.86 60.050 1.813863e+11 \n", + "4 1.714470 5.44 162.60 114.820 9.876586e+10 \n", + "\n", + " EBITDA Price/Sales Price/Book \\\n", + "0 9.048000e+09 4.390271 11.34 \n", + "1 6.010000e+08 3.575483 6.35 \n", + "2 5.744000e+09 3.740480 3.19 \n", + "3 1.031000e+10 6.291571 26.14 \n", + "4 5.643228e+09 2.604117 10.62 \n", + "\n", + " SEC Filings \n", + "0 http://www.sec.gov/cgi-bin/browse-edgar?action... \n", + "1 http://www.sec.gov/cgi-bin/browse-edgar?action... \n", + "2 http://www.sec.gov/cgi-bin/browse-edgar?action... \n", + "3 http://www.sec.gov/cgi-bin/browse-edgar?action... \n", + "4 http://www.sec.gov/cgi-bin/browse-edgar?action... \n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# New Section" + ], + "metadata": { + "id": "md0NhiY2Q8kQ" + } + }, + { + "cell_type": "code", + "source": [ + "print(df.info())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Yxt0MaG0m9_7", + "outputId": "08afdb32-0a95-4a06-c55c-42e9d1c9de26" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "RangeIndex: 505 entries, 0 to 504\n", + "Data columns (total 14 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Symbol 505 non-null object \n", + " 1 Name 505 non-null object \n", + " 2 Sector 505 non-null object \n", + " 3 Price 505 non-null float64\n", + " 4 Price/Earnings 503 non-null float64\n", + " 5 Dividend Yield 505 non-null float64\n", + " 6 Earnings/Share 505 non-null float64\n", + " 7 52 Week Low 505 non-null float64\n", + " 8 52 Week High 505 non-null float64\n", + " 9 Market Cap 505 non-null float64\n", + " 10 EBITDA 505 non-null float64\n", + " 11 Price/Sales 505 non-null float64\n", + " 12 Price/Book 497 non-null float64\n", + " 13 SEC Filings 505 non-null object \n", + "dtypes: float64(10), object(4)\n", + "memory usage: 55.4+ KB\n", + "None\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "df.isnull().sum()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "okGiIBRVQvXO", + "outputId": "8f14d8d5-9ab2-4e0c-85d5-4f4c92b71fc4" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Symbol 0\n", + "Name 0\n", + "Sector 0\n", + "Price 0\n", + "Price/Earnings 2\n", + "Dividend Yield 0\n", + "Earnings/Share 0\n", + "52 Week Low 0\n", + "52 Week High 0\n", + "Market Cap 0\n", + "EBITDA 0\n", + "Price/Sales 0\n", + "Price/Book 8\n", + "SEC Filings 0\n", + "dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "source": [ + "df = df.dropna().head(50)\n", + "df.isnull().sum()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "M1Oi0fVuR_Qr", + "outputId": "26347261-540a-4c2e-9aa6-59242c67c9be" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Symbol 0\n", + "Name 0\n", + "Sector 0\n", + "Price 0\n", + "Price/Earnings 0\n", + "Dividend Yield 0\n", + "Earnings/Share 0\n", + "52 Week Low 0\n", + "52 Week High 0\n", + "Market Cap 0\n", + "EBITDA 0\n", + "Price/Sales 0\n", + "Price/Book 0\n", + "SEC Filings 0\n", + "dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "source": [ + "df1= df.loc[:,['52 Week Low','52 Week High']]\n", + "df1.head(5)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 215 + }, + "id": "X5vYdbYNSVEN", + "outputId": "c3acb53c-a151-4bfd-bdf1-27c508e69426" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " 52 Week Low 52 Week High\n", + "0 259.77 175.490\n", + "1 68.39 48.925\n", + "2 64.60 42.280\n", + "3 125.86 60.050\n", + "4 162.60 114.820" + ], + "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", + "
52 Week Low52 Week High
0259.77175.490
168.3948.925
264.6042.280
3125.8660.050
4162.60114.820
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {}, + "execution_count": 10 + } + ] + }, + { + "cell_type": "code", + "source": [ + "r,c = df.shape\n", + "print(r,c)" + ], + "metadata": { + "id": "YgSBvX_zq2XK", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "abf121d8-290d-4411-b206-5b6269ce12a7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "505 14\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(df.describe())\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "OPCtjBpj67Rz", + "outputId": "a36dafc0-56c3-4241-f036-a25f4629d42c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " Price Price/Earnings Dividend Yield Earnings/Share \\\n", + "count 20.000000 20.000000 20.000000 20.000000 \n", + "mean 106.510000 30.991000 1.480700 4.855000 \n", + "std 59.155562 37.957537 1.283868 4.239713 \n", + "min 10.060000 9.660000 0.000000 -1.720000 \n", + "25% 63.652500 18.192500 0.411724 1.667500 \n", + "50% 106.830000 23.365000 1.174186 4.415000 \n", + "75% 151.082500 27.527500 2.357123 7.552500 \n", + "max 222.890000 187.000000 4.961832 13.660000 \n", + "\n", + " 52 Week Low 52 Week High Market Cap EBITDA Price/Sales \\\n", + "count 20.000000 20.000000 2.000000e+01 2.000000e+01 20.000000 \n", + "mean 129.343500 82.828805 4.568229e+10 2.677373e+09 4.520701 \n", + "std 70.771182 47.168770 5.107358e+10 2.939704e+09 3.512549 \n", + "min 12.050000 9.700000 6.242378e+09 0.000000e+00 0.659514 \n", + "25% 73.598750 47.856250 1.069811e+10 6.647725e+08 1.732244 \n", + "50% 130.115000 73.805000 1.701399e+10 1.463200e+09 3.928424 \n", + "75% 179.977500 115.992500 6.803532e+10 3.285500e+09 5.963882 \n", + "max 259.770000 175.490000 1.813863e+11 1.031000e+10 13.092818 \n", + "\n", + " Price/Book \n", + "count 20.000000 \n", + "mean 6.511000 \n", + "std 6.675381 \n", + "min 1.530000 \n", + "25% 2.795000 \n", + "50% 3.450000 \n", + "75% 7.417500 \n", + "max 26.140000 \n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "name = df['Name'].head(10)\n", + "price = df['Price'].head(10)\n", + "high52 = df['52 Week High'].head(10)\n", + "low52 = df['52 Week Low'].head(10)\n" + ], + "metadata": { + "id": "pW0COy_N7q1h" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "fig = plt.figure(figsize=(10,5))\n", + "plt.bar(name,price,color='blue',width=0.2)\n", + "plt.show()" + ], + "metadata": { + "id": "4Vx5h_Z_9Qxx" + } + }, + { + "cell_type": "code", + "source": [ + "df.plot(x='52 Week High', y='52 Week Low', style='+')\n", + "plt.xlabel('52 Week High')\n", + "plt.ylabel('52 Week Low')\n", + "plt.show()" + ], + "metadata": { + "id": "LYHfixdzZqO_", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 279 + }, + "outputId": "6f093f48-24a3-4b35-99bf-7e3810f80e44" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAdOElEQVR4nO3de5zVdb3v8ddbYYOSlsJIHARHPYAJEsI8ahjAKIO8VEoXtmZetj7C09a8deoB6Tm294PKOiXHdm2VjgZ22JUbrUjNILYelIHcgIRc4hJiwQO5ec2Sm5/zx+83vxbDzJrFuNasNbPez8djPea3vr/L+syPYT7z+14VEZiZmQEcVe4AzMyscjgpmJlZxknBzMwyTgpmZpZxUjAzs0y3cgfwdvTp0ydqa2vLHYaZWaeyfPny3RFR09K+Tp0UamtrWbZsWbnDMDPrVCS90No+Vx+ZmVnGScHMzDJOCmZmlunUbQot2b9/P1u3buXNN98sdyiW6tmzJyeffDLdu3cvdyhm1oYulxS2bt3KcccdR21tLZLKHU7Viwj27NnD1q1bOfXUU8sdjpm1octVH7355pv07t3bCaFCSKJ3795+cjMrshkLNpTkul0uKQBOCBXG/x5mxXfXwo0luW6XTApmZtY+TgolUFtby1lnncWIESOoq6vLyr/0pS9xxhlnMHz4cCZNmsQrr7xy2LmTJk3i5z//efZ+yJAhTJ8+PXv/yU9+kocffviIYxo/fnybA/0KOcbMymfGgg3UTn2U2qmPAmTbxaxKclJIFbt+7oknnmDlypWH/JKdMGECq1evZtWqVQwePJhvfOMbh503ZswYGhsbAdizZw+9evViyZIl2f4lS5bQ0NBQ1FjNrHO4ecJgttxxIVvuuBAg2755wuCifYaTQqpU9XO5Jk6cSLduSYev+vp6tm7detgxDQ0NWVJobGzkYx/7GLt27SIieP755znmmGN497vfzfz58xk9ejQjR47k05/+NH/+858BWL58OR/4wAcYNWoUH/nIR9i+ffsh13/rrbe46qqruO222wqK+aWXXuLiiy9m+PDh1NfXs2rVKgDOOussXnnlFSKC3r1788ADDwBwxRVXsGDBgvbdIDMrOyeFEpDExIkTGTVqFDNnzmzxmPvvv5/zzz//sPJRo0axevVq9u3bR2NjI6NHj2bIkCGsW7eOxsZGGhoa2L17N9OnT+c3v/kNK1asoK6ujjvvvJP9+/fzhS98gblz57J8+XKuvvpqbr311uzaBw4c4LLLLmPQoEGHVEnlc/vtt3P22WezatUqvv71r3PFFVcAyRPN4sWLWbNmDaeddhpPPfUU4CcZs45y47mDSnLdLjdO4UjMWLDhkCeEpnq6G88d9LYex55++mn69+/Pzp07mTBhAmeccQbnnHNOtv9rX/sa3bp147LLLjvs3B49ejB06FBWrFjB0qVL+fKXv8zmzZtpbGzk2WefZcyYMSxdupS1a9cyZswYAPbt28fo0aNZv349q1evZsKECQAcPHiQfv36Zde+9tprmTx58iGJopDv5aGHHgLgQx/6EHv27OG1115j3LhxLFq0iFNOOYXPf/7zzJw5k23btnHCCSfQq1evdt03MytcMauMcpXsSUHSAElPSForaY2kG9Pyr0raJmll+rog55xpkjZJWi/pI6WKrUmp6uf69+8PwEknncSkSZN45plnsn2zZs3ikUceYc6cOa121RwzZgyLFi3i9ddf54QTTqC+vp7GxsbsSSEimDBhAitXrmTlypWsXbuW++67j4hg6NChWflzzz3H/Pnzs+s2NDTwxBNPFGXMwDnnnMNTTz3FU089xfjx46mpqWHu3LmMGzfubV/bzMqnlNVHB4AvRsSZQD1wnaQz030zImJE+noMIN13CTAUOA/4V0lHlzC+knjjjTd4/fXXs+358+czbNgwAB5//HG+9a1vMW/ePI499thWr9HQ0MC9997Le9/7XgCGDx/O0qVL+eMf/8iwYcOor69n8eLFbNq0KfucDRs2MGTIEHbt2pU1TO/fv581a9Zk173mmmu44IILmDx5MgcOHCjo+xk3bhxz5swB4Mknn6RPnz4cf/zxDBgwgN27d7Nx40ZOO+00xo4dy7e//e1DnojMrPMpWfVRRGwHtqfbr0taB/TPc8pFwE8iYi/wvKRNwPuAJXnOKZpi1c/t2LGDSZMmAUkd/mc+8xnOO+88AK6//nr27t2bVe/U19dzzz33HHaNhoYGNm/ezLRp0wDo1q0bJ510EgMGDOCoo46ipqaGWbNmcemll7J3714Apk+fzuDBg5k7dy433HADr776KgcOHOCmm25i6NCh2bVvueUWXn31VS6//HLmzJnDUUcd+nfBhRdemM1R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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "source": [ + "X = pd.DataFrame(df['52 Week High'])\n", + "y = pd.DataFrame(df['52 Week Low'])" + ], + "metadata": { + "id": "U1xmlVfHf-_n" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.model_selection import train_test_split\n", + "X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state=1)\n", + "X_train.shape\n", + "X_test.shape\n", + "y_train.shape\n", + "y_test.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JSZwIBN4gIRc", + "outputId": "8cdb2485-7070-439b-ce6b-0c4353cc9de6" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(6, 1)" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.metrics import mean_squared_error\n", + "regressor = LinearRegression()\n", + "regressor.fit(X_train, y_train)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1m0Yo9MjgbHj", + "outputId": "e70527c8-d55b-447a-bd64-edd9c1bb2e21" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "LinearRegression()" + ] + }, + "metadata": {}, + "execution_count": 23 + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(regressor.intercept_)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "eWcF3q32geV7", + "outputId": "0e971114-891d-425d-e176-1e5745182166" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[13.40387996]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(regressor.coef_)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "SjGg7Cu-ghVv", + "outputId": "93d668e4-6a04-4949-ba71-17d4efa685d8" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[1.39623434]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "y_test_predict = regressor.predict(X_test)\n", + "print(y_test_predict)" + ], + "metadata": { + "id": "RbQFKqd_nE6V", + "outputId": "3eb4a5da-80d9-4eab-ffd3-387b96952014", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[ 97.24775219]\n", + " [ 75.74574332]\n", + " [211.66915651]\n", + " [ 27.36622338]\n", + " [ 72.43666793]\n", + " [ 82.14049661]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "plotdata = pd.DataFrame({\n", + "\n", + " \"2019\":[68,73,80,79],\n", + "\n", + " \"2020\":[73,78,80,85]},\n", + "\n", + " index=[\"Django\", \"Gafur\", \"Tommy\", \"Ronnie\"])\n", + "\n", + "plotdata.plot(kind=\"bar\",figsize=(15, 8))\n", + "\n", + "plt.title(\"FIFA ratings\")\n", + "\n", + "plt.xlabel(\"Footballer\")\n", + "\n", + "plt.ylabel(\"Ratings\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 555 + }, + "id": "nb0bXhSEA9Sg", + "outputId": "075f6143-a96f-4747-e053-3d4479e3fe43" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Text(0, 0.5, 'Ratings')" + ] + }, + "metadata": {}, + "execution_count": 3 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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1M3Sd77znZxwwgl55Stfmf333/8G26pqh3euPOKII/KCF7wgj33sY3Pb2942Rx11VPbaa69pRgYAAJYJZ+p20dVXX50TTjghT33qU3P88ccnSQ455JBs2bIlSbJly5YcfPDBO3yfk046Keedd14+/OEP54ADDsg973nPqeYGAACWB6VuF3R3TjrppBxxxBF53vOed/34Mccck/Xr1ydJ1q9fn2OPPXaH73X55ZcnSb72ta/l7LPPzlOe8pTphAYAAJaV6u5ZZ9ihNWvW9MaNG28wdsEFF+SII46YUaI55557bh71qEflfve7X251q7l+/OIXvzhHH310TjzxxHzta1/LXe9615x11lk58MADc9lll2XNmjW58sorc6tb3Sq3u93tsmnTpuy///551KMelSuuuCJ77713Xv7yl2ft2rU/9nm3hO8MAAAsvao6r7vXbG+ba+p2wSMf+cjcVCk+55xzfmzsTne6UzZv3rzd/T/ykY/s1mwAAMCewfRLAACAgSl1AAAAAzP9EgAA9nSn3X7WCXa/07416wRLxpk6AACAgSl1AAAAA1PqAAAABrZ8rqnb3fOAFzAH95JLLsnTn/70bN26NVWVk08+Oaecckq+/vWv54lPfGIuvvjirF69OmeddVYOOOCAvOlNb8pLXvKSdHf222+/vPa1r82RRx6ZJHnf+96XU045Jddee22e+cxn5tRTT9293wcAAFiWnKnbBStWrMjLXvaybNq0KR/72Mfymte8Jps2bcrpp5+etWvX5sILL8zatWtz+umnJ0kOP/zwfOhDH8rnPve5/MEf/EFOPvnkJMm1116bZz3rWXnve9+bTZs25c1vfnM2bdo0y68GAAAMQqnbBYceemge+MAHJkn222+/HHHEEbn00kuzYcOGrFu3Lkmybt26vPOd70ySPPzhD88BBxyQJHnoQx96/YPIP/GJT+Tud7977na3u2WfffbJk570pGzYsGEG3wgAABiNUrebXHzxxTn//PNz9NFHZ+vWrTn00EOTJHe6052ydevWH9v/zDPPzOMe97gkyaWXXpo73/nO129btWpVLr300qUJDgAADG35XFM3Q9/5zndywgkn5JWvfGX233//G2yrqlTVDcY+8IEP5Mwzz8y55567lDEBAIBlyJm6XXT11VfnhBNOyFOf+tQcf/zxSZJDDjkkW7ZsSZJs2bIl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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/ankit/ds.py b/ankit/ds.py new file mode 100644 index 0000000..df39e65 --- /dev/null +++ b/ankit/ds.py @@ -0,0 +1,2 @@ +import numpy as np +import pandas as pd diff --git a/ankit/requirements.txt b/ankit/requirements.txt new file mode 100644 index 0000000..8318c86 --- /dev/null +++ b/ankit/requirements.txt @@ -0,0 +1 @@ +Test \ No newline at end of file diff --git a/details.txt.txt b/details.txt.txt new file mode 100644 index 0000000..1c38493 --- /dev/null +++ b/details.txt.txt @@ -0,0 +1,2 @@ +ankit +ankitdhandharia45@gmail.com \ No newline at end of file