{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Graduates in California\n", "\n", "by Numan Yilmaz, 18 July 2016\n", "\n", "Thousands of students graduate from schools in California every year. The California Department of Education (CDE) has one of the largest student populations in the country. You can find more information about the CDE at http://www.cde.ca.gov. \n", "\n", "The CDE has a Data & Statistics section on their website. A variety of datasets have been shared for educators, researchers and the public from the early 90s to current. \n", "\n", "This projected uses the dataset for the 2014 academic year. The following questions will be answered: \n", "\n", "- What is the maximum, minimum and total number of graduates in that academic year?\n", "- What is the mean and median number of graduates?\n", "- How many male and female graduates are there? What is the range?\n", "- What is the number of graduates by ethnicity?\n", "- What is the relation between graduates and UC graduates? \n", "\n", "Initial dataset can be downloaded as a .txt file here: http://www.cde.ca.gov/ds/sd/sd/filesgrads.asp" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import warnings\n", "warnings.simplefilter('ignore', FutureWarning)\n", "\n", "# download our dependecies\n", "\n", "%matplotlib inline\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "plt.style.use('ggplot')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.core.display import HTML\n", "css = open('style-table.css').read() + open('style-notebook.css').read()\n", "HTML(''.format(css))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code and CSS file is from Brandon Rhodes's lecture at PyCon 2015. https://www.youtube.com/watch?v=5JnMutdy6Fw. \n", "It allows you to differentiate the column and index from the dataframe and visualize the dataset." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# Information about the columns of the graduates file\n", "\n", "### CDS_CODE\n", "This 14-digit code is the official, unique identification of a school within California. The first two digits identify the county, the next five digits identify the school district, and the last seven digits identify the school.\n", "\n", "### ETHNIC\n", "This is a coded field for race/ethnic designation. The ethnic designations are coded as follows:\n", "* Code 0 = Not reported\n", "* Code 1 = American Indian or Alaska Native, Not Hispanic\n", "* Code 2 = Asian, Not Hispanic\n", "* Code 3 = Pacific Islander, Not Hispanic\n", "* Code 4 = Filipino, Not Hispanic\n", "* Code 5 = Hispanic or Latino\n", "* Code 6 = African American, not Hispanic (formerly known as Black, not Hispanic)\n", "* Code 7 = White, not Hispanic\n", "* Code 9 = Two or More Races, Not Hispanic\n", "(See Glossary for complete definitions of the ethnic groups.)\n", "\n", "### GENDER\n", "This field is a coded field identifying gender. The gender is coded as follows:\n", "* M = Male\n", "* F = Female\n", "\n", "### GRADS\n", "Number of twelfth-grade graduates. This data includes summer graduates and does not include students with high school equivalencies (i.e., General Educational Development (GED) test or California High School Proficiency Examination (CHSPE)).\n", "\n", "### UC_GRADS\n", "Number of twelfth-grade graduates who also completed all courses required for entry into the University of California (UC) and/or California State University (CSU) with a grade \"C\" or better. This data includes summer graduates and does not include students with high school equivalencies (i.e., GED or CHSPE).\n", "\n", "### YEAR\n", "Year of data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After downloading necessary Python packages, now it is time to read the file from the local file on the computer. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "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", "
CDS_CODEETHNICGENDERGRADSUC_GRADSYEAR
011001701098352M1211415
111001701098355M101415
211001701098356F301415
311001701098356M101415
411001701098355F711415
\n", "
" ], "text/plain": [ " CDS_CODE ETHNIC GENDER GRADS UC_GRADS YEAR\n", "0 1100170109835 2 M 12 1 1415\n", "1 1100170109835 5 M 1 0 1415\n", "2 1100170109835 6 F 3 0 1415\n", "3 1100170109835 6 M 1 0 1415\n", "4 1100170109835 5 F 7 1 1415" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# assign dataframe to df\n", "df = pd.read_table('filesgrads2014.txt', index_col = None)\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 21013 entries, 0 to 21012\n", "Data columns (total 6 columns):\n", "CDS_CODE 21013 non-null int64\n", "ETHNIC 21013 non-null int64\n", "GENDER 21013 non-null object\n", "GRADS 21013 non-null int64\n", "UC_GRADS 21013 non-null int64\n", "YEAR 21013 non-null int64\n", "dtypes: int64(5), object(1)\n", "memory usage: 985.1+ KB\n" ] } ], "source": [ "#get a general overview of dataset\n", "df.info()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "There are 21,013 rows in our dataset. There is no need to delete or remove spaces, letters or missing data. The type of columns are also listed." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "CDS_CODE int64\n", "ETHNIC int64\n", "GENDER object\n", "GRADS int64\n", "UC_GRADS int64\n", "YEAR int64\n", "dtype: object" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# another way to learn data types\n", "df.dtypes" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "21013" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# another way of getting the size of dataset\n", "len(df['CDS_CODE'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How many schools are there in the dataset? " ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2490" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(df['CDS_CODE'].unique())" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3cAAAI2CAYAAADzQHFrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmUVIWdL/BvN82mCNIsQRAxKERcMaIiaHAMmugkEXnR\nbBoXYqJOxgQybjGDGhNlTIRRY9QYX9RMPG4ngNF4nDBEfNoviuNzFI1RIi4oytKIgmxN9/vDl35h\nxCjNhbIun885nkPdrrr1qy/Xrvpyb91b09LS0hIAAACqWm2lBwAAAGDTKXcAAAAloNwBAACUgHIH\nAABQAsodAABACSh3AAAAJaDcAQAAlIByBwAAUALKHQAAQAkodwAAACWg3AEAAJRAXaUH+CBeffXV\nSo/wvnr27JnFixdXeoxSkGWx5FkseRZHlsWSZ7HkWRxZFkuexaqWPPv27fuB7mfPHQAAQAkodwAA\nACWg3AEAAJRAVXznDgAAqJyWlpasWrUqzc3NqampqfQ4hXn99dezevXqSo+R5J2Ma2tr06lTpzZn\nrNwBAAB/06pVq9K+ffvU1ZWrPtTV1aVdu3aVHqNVU1NTVq1alc6dO7fp8Q7LBAAA/qbm5ubSFbsP\no7q6ujQ3N7f58codAADwN5XpUMwPu03JWv0GAAA+9BYtWpQLL7wwjz32WLp165b27dvnjDPOSLdu\n3XLKKaekf//+Wb16dUaPHp2JEyeu99hTTjklCxcuzN1339267PLLL88tt9yS+vr6vP322xkyZEjO\nPvvsDB48OEnyu9/9Lj/60Y/S3NycpqamjBs3LieccMIWfc0bS7kDAAA2yrpTP1fo+tpdf9ff/HlL\nS0tOOeWUHHvssbn66quTJPPnz8+///u/p1u3bjnggANy8803Z+XKlfnUpz6VI488Mvvvv3+SZNmy\nZXniiSey7bbb5sUXX8yAAQNa1/uNb3wjX//615Mk06dPz3HHHZf/+I//SNeuXXPOOefk7rvvTt++\nfbN69eq8/PLLhb7mzcFhmQAAwIfagw8+mA4dOuSrX/1q67Idd9wxp5xyynr369y5c/bYY48sWLCg\nddm9996bww8/PEcffXSmT5/+ns9x9NFH5xOf+ESmTp2a5cuXp6mpKd27d0+SdOzYMbvuumvBr6p4\nyh0AAPCh9uyzz2bPPfd83/u98cYbmTdvXoYPH966bNq0aRkzZsz7lrsk2WuvvTJ37tx07949Rxxx\nRA488MCcccYZ+fWvf71JJzrZUpQ7AACgqnz3u9/N6NGjc9RRRyVJHnnkkYwePTr77bdfRo0ald69\neyd553t68+bNywEHHJBddtkldXV1eeaZZ95zvS0tLa1//vGPf5zbbrstQ4cOzbXXXpsJEyZs3hdV\nAOUOAAD4UBs8eHDmzJnTevuSSy7J7bffniVLliRJDjjggMyYMSO///3vc+utt7be9ze/+U2WLVuW\n4cOH58ADD8z8+fMzbdq093yeOXPmZNCgQa23hwwZkq9//eu59dZb89vf/nYzvbriKHcAAMCH2sEH\nH5zVq1fnpptual22cuXKd91vp512yj/8wz/kpz/9aZJ3Dsn8t3/7tzz88MN5+OGHc++99+auuzZ8\n8pZ77rknDzzwQMaMGZMVK1akoaGh9Wdz5szJjjvuWPCrKp6zZQIAAB9qNTU1ueGGG3LhhRfmmmuu\nSY8ePdK5c+d897vffdd9TzjhhFx33XV5+eWX88orr2S//fZr/dlOO+2U7bbbLo899liS5Lrrrssd\nd9yRt99+O7vttltuv/329OjRI8uXL88111yTc845J506dco222yTKVOmbLHX21Y1LX99YOmH1Kuv\nvlrpEd5Xz549s3jx4kqPUQqyLJY8iyXP4siyWPIsljyLI8tiVSrPt99+O9tss80Wf97Nra6uLk1N\nTZUeYz0byrpv374f6LEOywQAACgB5Q4AAKAEtsrv3K079XPFr3Rqw/vfBwAAYDOx5w4AAKAElDsA\nAIASUO4AAABKQLkDAAAoga3yhCoAAEDbHf2rZwpd3/Sv7Pa+93n55Zdz4oknZubMma3LLr/88my7\n7bY57bTTcu211+aWW25Jx44d0759+5x88sk59thjN7iupqam/OhHP8o999yTzp07J0k+85nP5Fvf\n+laSpH///tltt92ybt269O/fP1deeWW6devW+vjrr78+l156aR5//PF07do1SdLQ0JBTTjklO+20\nU1auXJlevXrl9NNPz+GHH54kmTt3bs4999wsW7Ysa9asyYEHHpjLLrusbYG9B+UOAACoajfffHMe\neOCB3HPPPdluu+3y1ltv5d57733P+1922WVZuHBh7r///tTV1WX58uW57rrrWn/eqVOn/O53v0uS\nfOtb38qNN97YWvySZPr06dlnn31y77335gtf+ELr8gMOOCA333xzkmTOnDkZN25cOnXqlEMOOSQT\nJ07Mqaeemk996lNJkj/+8Y+FZpAod2wil5UAAKDSrrrqqtx5553ZbrvtkiTbbbddjjvuuA3ed+XK\nlfnVr36Vhx9+OJ06dUpTU1O6dOmS73znOxu8/3777bdeEXvhhReyYsWKXHLJJbnyyivXK3d/bc89\n98z48eNz44035pBDDsnChQuzww47tP58yJAhbX2578l37gAAgKq1cuXKrFixIgMGDPhA9583b176\n9euXLl26vO99161blwcffDBHHHFE67Lp06fnc5/7XA488MD8+c9/zqJFi97z8XvuuWfmzp2bJDn1\n1FNz3HHH5fjjj8/PfvazLFu27APNuzGUOwAA4EOvpqZmg8tbWlo2ab233XZbDj/88AwbNiyvvPJK\nkmTVqlU5/PDDM3To0CxevDif+MQnWu8/ffr0HH300amtrc1RRx2Vu++++wM9zxe+8IXcf//9+cxn\nPpP//b//dz772c9m9erVmzT7f6fcAQAAH3rdu3d/196uN954IzvuuGO22WabvPjiix9oPR/96Efz\nyiuvZPny5UneKV2/+93v0rVr1zQ3Nyf5/9+5e+SRR9LS0pIbb7wxyTvfk5s3b16+9KUv5cADD8xd\nd92VadOmvedzzZkzJ4MGDWq93adPn3zxi1/ML37xi9TV1eVPf/rTxkTwvpQ7AADgQ2/bbbdN7969\n8+CDDyZJli5dmt///vc54IAD8s1vfjPnn39+3nrrrSTJihUrcscdd2xwPZ07d86XvvSlnH/++Vm1\nalWSdw6/XLNmzQbve/HFF+e6665LU1NTpk2blgkTJuThhx/Oww8/nMceeyyvv/565s+f/67HPv30\n0/nXf/3XnHjiiUmS3//+91m7dm2SZOHChVm6dGn69Omz6cH8FSdUAQAANsoHuXTB5nDFFVfku9/9\nbi666KIkyYQJE7LzzjvnxBNPzNtvv52jjjoq7du3T11dXb7xjW+853rOOeec/OhHP8qoUaOy7bbb\nplOnTjn22GPzkY985F333XPPPTNkyJBMmzYtd911V375y1+u9/NPf/rTmT59evbdd9888sgjOeKI\nI7Jy5cr07Nkz3//+93PIIYckSWbNmpWJEyemY8eOSZLvfe976d27d1HRJElqWjb1INUt4NVXXy10\nfZvjDI8fmdqQxYsXF77eDztZfvj17NlTngWSZ3FkWSx5FkuexZFlsSqV59tvv51tttlmiz/v5lZX\nV5empqZKj7GeDWXdt2/fD/RYh2UCAACUgMMyAQCAUho3blxeeuml9Zadf/75OfTQQysz0Gam3AEA\nAKV0ww03VHqELcphmQAAwN9UBafpKI1NyVq5AwAA/qba2toP3YlHyqipqSm1tW2vaA7LBAAA/qZO\nnTpl1apVWb16dWpqaio9TmE6duyY1atXV3qMJO/ssautrU2nTp3avA7lDgAA+JtqamrSuXPnSo9R\nuLJdqsNhmQAAACWg3AEAAJSAcgcAAFAC7/udu5/+9Kd57LHH0q1bt1x++eVJkuXLl2fKlClZtGhR\nevXqlfHjx6dLly5JkqlTp2bmzJmpra3NySefnKFDhyZJnn/++Vx99dVZs2ZN9t1335x88sml+jIm\nAABAJb1vuTv00EPz6U9/OldffXXrsmnTpmWvvfbKmDFjMm3atEybNi3HH3985s+fn4aGhkyePDlL\nly7NxRdfnCuuuCK1tbW5/vrr841vfCODBg3KpZdemscffzz77rvvZn1xUG3Wnfq54lc6taH4dVYJ\neQIAW5P3PSxz9913b90r9xezZ8/OqFGjkiSjRo3K7NmzW5ePGDEi7du3T+/evdOnT5/MnTs3S5cu\nzcqVKzN48ODU1NTkE5/4ROtjAAAA2HRtuhTCsmXL0r179yTJ9ttvn2XLliVJGhsbM2jQoNb71dfX\np7GxMe3atUuPHj1al/fo0SONjY3vuf4ZM2ZkxowZSZJJkyalZ8+ebRnzPb1e6NreUVdXV/ic1UCW\nxZJnseT54SbLYsmzWPIsjiyLJc9ilS3PTb7OXU1NTeHfnRs9enRGjx7dersarj3R1NRUFXNWA1kW\nS57FkmdxynZtoUqTZ7HkWRxZFkuexaqWPPv27fuB7tems2V269YtS5cuTZIsXbo0Xbt2TfLOnrol\nS5a03q+xsTH19fXvWr5kyZLU19e35akBAADYgDaVu2HDhmXWrFlJklmzZmX//fdvXd7Q0JC1a9dm\n4cKFWbBgQXbdddd07949nTt3zrPPPpuWlpY88MADGTZsWHGvAgAAYCv3vodl/uu//muefvrpvPXW\nWznttNNy3HHHZcyYMZkyZUpmzpzZeimEJOnfv38OOuigTJgwIbW1tRk3blxqa9/pj1/72tfy05/+\nNGvWrMnQoUOdKRMAAKBA71vuvv3tb29w+cSJEze4fOzYsRk7duy7lu+yyy6t18kDAACgWG06LBMA\nAIAPF+UOAACgBJQ7AACAElDuAAAASkC5AwAAKAHlDgAAoASUOwAAgBJQ7gAAAEpAuQMAACgB5Q4A\nAKAElDsAAIASUO4AAABKQLkDAAAoAeUOAACgBJQ7AACAElDuAAAASkC5AwAAKAHlDgAAoASUOwAA\ngBJQ7gAAAEpAuQMAACgB5Q4AAKAElDsAAIASUO4AAABKQLkDAAAoAeUOAACgBJQ7AACAElDuAAAA\nSkC5AwAAKAHlDgAAoASUOwAAgBJQ7gAAAEpAuQMAACgB5Q4AAKAElDsAAIASUO4AAABKoK7SAwDw\n4bfu1M8Vv9KpDcWvEwC2YsodAGxhyjIAm4NyBwBUNWUZ4B2+cwcAAFACyh0AAEAJKHcAAAAl4Dt3\nAAC0Kvw7jL6/CFuMPXcAAAAloNwBAACUgHIHAABQAsodAABACSh3AAAAJaDcAQAAlIBLIQAAwGZQ\n+GUlEpeW4G+y5w4AAKAE7LkDAAA+9OwJfX/23AEAAJSAcgcAAFACyh0AAEAJKHcAAAAloNwBAACU\ngHIHAABQAsodAABACSh3AAAAJaDcAQAAlIByBwAAUALKHQAAQAkodwAAACWg3AEAAJSAcgcAAFAC\nyh0AAEAJKHcAAAAlULcpD7777rszc+bM1NTUpH///jnjjDOyZs2aTJkyJYsWLUqvXr0yfvz4dOnS\nJUkyderUzJw5M7W1tTn55JMzdOjQQl4EAADA1q7Ne+4aGxtz7733ZtKkSbn88svT3NychoaGTJs2\nLXvttVeuvPLK7LXXXpk2bVqSZP78+WloaMjkyZNz/vnn54Ybbkhzc3NhLwQAAGBrtkmHZTY3N2fN\nmjVZt25d1qxZk+7du2f27NkZNWpUkmTUqFGZPXt2kmT27NkZMWJE2rdvn969e6dPnz6ZO3fupr8C\nAAAA2n5YZn19fT772c/m9NNPT4cOHbLPPvtkn332ybJly9K9e/ckyfbbb59ly5YleWdP36BBg9Z7\nfGNj4yaODwAAQLIJ5W758uWZPXt2rr766myzzTaZPHlyHnjggfXuU1NTk5qamo1e94wZMzJjxowk\nyaRJk9KzZ8+2jrlBrxe6tnfU1dUVPmc1kGWx5FkseRZHlsWSZ7HkWayi85RlseRZrLLl2eZy9+ST\nT6Z3797p2rVrkuTAAw/Ms88+m27dumXp0qXp3r17li5d2vrz+vr6LFmypPXxjY2Nqa+v3+C6R48e\nndGjR7feXrx4cVvH3GKampqqYs5qIMtiybNY8iyOLIslz2LJsziyLJY8i1Utefbt2/cD3a/N37nr\n2bNnnnvuuaxevTotLS158skn069fvwwbNiyzZs1KksyaNSv7779/kmTYsGFpaGjI2rVrs3DhwixY\nsCC77rprW58eAACAv9LmPXeDBg3K8OHDc84556Rdu3bZeeedM3r06KxatSpTpkzJzJkzWy+FkCT9\n+/fPQQcdlAkTJqS2tjbjxo1Lba3L7AEAABRhk65zd9xxx+W4445bb1n79u0zceLEDd5/7NixGTt2\n7KY8JQAAABtg1xkAAEAJKHcAAAAloNwBAACUgHIHAABQAsodAABACSh3AAAAJaDcAQAAlIByBwAA\nUALKHQAAQAkodwAAACWg3AEAAJSAcgcAAFACyh0AAEAJKHcAAAAloNwBAACUgHIHAABQAsodAABA\nCSh3AAAAJaDcAQAAlIByBwAAUALKHQAAQAkodwAAACWg3AEAAJSAcgcAAFACyh0AAEAJKHcAAAAl\noNwBAACUQF2lBwA2r5FXPFj4Oqd/ZbfC1wkAwKax5w4AAKAElDsAAIASUO4AAABKQLkDAAAoAeUO\nAACgBJQ7AACAElDuAAAASkC5AwAAKAHlDgAAoASUOwAAgBJQ7gAAAEpAuQMAACgB5Q4AAKAElDsA\nAIASUO4AAABKQLkDAAAoAeUOAACgBJQ7AACAElDuAAAASkC5AwAAKAHlDgAAoASUOwAAgBJQ7gAA\nAEpAuQMAACgB5Q4AAKAElDsAAIASUO4AAABKQLkDAAAoAeUOAACgBJQ7AACAElDuAAAASkC5AwAA\nKIG6Sg8AAEB5jbziwcLXOf0ruxW+TigDe+4AAABKQLkDAAAoAeUOAACgBJQ7AACAElDuAAAASkC5\nAwAAKAHlDgAAoAQ26Tp3K1asyLXXXpuXX345NTU1Of3009O3b99MmTIlixYtSq9evTJ+/Ph06dIl\nSTJ16tTMnDkztbW1OfnkkzN06NBCXgQAAMDWbpPK3S9+8YsMHTo03/nOd9LU1JTVq1dn6tSp2Wuv\nvTJmzJhMmzYt06ZNy/HHH5/58+enoaEhkydPztKlS3PxxRfniiuuSG2tnYcAAACbqs3N6u23384f\n//jHHHbYYUmSurq6bLvttpk9e3ZGjRqVJBk1alRmz56dJJk9e3ZGjBiR9u3bp3fv3unTp0/mzp1b\nwEsAAACgzXvuFi5cmK5du+anP/1pXnzxxQwcODAnnXRSli1blu7duydJtt9++yxbtixJ0tjYmEGD\nBrU+vr6+Po2NjZs4PgAAAMkmlLt169Zl3rx5OeWUUzJo0KD84he/yLRp09a7T01NTWpqajZ63TNm\nzMiMGTOSJJMmTUrPnj3bOuYGvV7o2t5RV1dX+JzVQJbF2hx5bg7V8vdj+yyOLIslz2LJs1jV8F5U\nLX83ts1iyfP9tbnc9ejRIz169GjdGzd8+PBMmzYt3bp1y9KlS9O9e/csXbo0Xbt2TfLOnrolS5a0\nPr6xsTH19fUbXPfo0aMzevTo1tuLFy9u65hbTFNTU1XMWQ1k+eG3Nf/92D6LI8tiybNY8vxw25r/\nbmybxaqWPPv27fuB7tfm79xtv/326dGjR1599dUkyZNPPpkdd9wxw4YNy6xZs5Iks2bNyv77758k\nGTZsWBoaGrJ27dosXLgwCxYsyK677trWpwcAAOCvbNLZMk855ZRceeWVaWpqSu/evXPGGWekpaUl\nU6ZMycyZM1svhZAk/fv3z0EHHZQJEyaktrY248aNc6ZMAACAgmxSudt5550zadKkdy2fOHHiBu8/\nduzYjB07dlOeEgAAgA2w6wwAAKAElDsAAIASUO4AAABKQLkDAAAoAeUOAACgBJQ7AACAElDuAAAA\nSkC5AwAAKIFNuog5/9/IKx4sdH3Tv7JboesDAADKzZ47AACAElDuAAAASkC5AwAAKAHlDgAAoASU\nOwAAgBJQ7gAAAEpAuQMAACgB5Q4AAKAElDsAAIASUO4AAABKQLkDAAAoAeUOAACgBJQ7AACAElDu\nAAAASkC5AwAAKAHlDgAAoASUOwAAgBJQ7gAAAEpAuQMAACgB5Q4AAKAElDsAAIASUO4AAABKQLkD\nAAAoAeUOAACgBJQ7AACAElDuAAAASkC5AwAAKAHlDgAAoASUOwAAgBJQ7gAAAEpAuQMAACiBukoP\nAMDWaeQVDxa+zulf2a3wdQJAtbDnDgAAoASUOwAAgBJQ7gAAAEpAuQMAACgB5Q4AAKAElDsAAIAS\nUO4AAABKQLkDAAAoAeUOAACgBJQ7AACAElDuAAAASkC5AwAAKAHlDgAAoATqKj0AAMCHzcgrHix8\nndO/slvh6wT4a/bcAQAAlIByBwAAUALKHQAAQAkodwAAACXghCoAG8FJFgCADyt77gAAAErAnjsA\nAKgSjiDhb7HnDgAAoASUOwAAgBJQ7gAAAEpAuQMAACgB5Q4AAKAElDsAAIASUO4AAABKYJOvc9fc\n3Jxzzz039fX1Offcc7N8+fJMmTIlixYtSq9evTJ+/Ph06dIlSTJ16tTMnDkztbW1OfnkkzN06NBN\nfgEAAAAUsOfut7/9bfr169d6e9q0adlrr71y5ZVXZq+99sq0adOSJPPnz09DQ0MmT56c888/Pzfc\ncEOam5s39ekBAADIJpa7JUuW5LHHHssnP/nJ1mWzZ8/OqFGjkiSjRo3K7NmzW5ePGDEi7du3T+/e\nvdOnT5/MnTt3U54eAACA/2eTyt2NN96Y448/PjU1Na3Lli1blu7duydJtt9++yxbtixJ0tjYmB49\nerTer76+Po2NjZvy9AAAAPw/bf7O3X/+53+mW7duGThwYJ566qkN3qempma94vdBzZgxIzNmzEiS\nTJo0KT179mzrmBv0eqFr2zyKfs2by+bIsq6urmpef9GqYdtMtu7tc3OohjxlWSy/O4tl+yxWNeQp\ny2JtzXmW7Xdnm8vdn/70pzz66KP5P//n/2TNmjVZuXJlrrzyynTr1i1Lly5N9+7ds3Tp0nTt2jXJ\nO3vqlixZ0vr4xsbG1NfXb3Ddo0ePzujRo1tvL168uK1jVq2t8TX/RVNT01b9+quBv59iybM4W3OW\nfnd++Pn7KY4si7U151ktvzv79u37ge7X5sMyv/zlL+faa6/N1VdfnW9/+9vZc889c+aZZ2bYsGGZ\nNWtWkmTWrFnZf//9kyTDhg1LQ0ND1q5dm4ULF2bBggXZdddd2/r0AAAA/JVNvhTCfzdmzJhMmTIl\nM2fObL0UQpL0798/Bx10UCZMmJDa2tqMGzcutbUuswcAAFCEQsrdHnvskT322CNJst1222XixIkb\nvN/YsWMzduzYIp4SAACAv1L4njvYVCOveLDwdU7/ym6FrxMAAD5MHBcJAABQAsodAABACSh3AAAA\nJaDcAQAAlIByBwAAUALKHQAAQAkodwAAACWg3AEAAJSAi5gDAABbpZFXPFj4Oqd/ZbfC1/lB2XMH\nAABQAsodAABACSh3AAAAJaDcAQAAlIByBwAAUALKHQAAQAkodwAAACWg3AEAAJSAcgcAAFACyh0A\nAEAJKHcAAAAloNwBAACUgHIHAABQAsodAABACSh3AAAAJaDcAQAAlIByBwAAUALKHQAAQAkodwAA\n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\ndOhQ6VFKYdWqVXn88cezePHi1NbWpm/fvtl7771TW+vfHjbW4sWL07Vr13To0CEtLS25//77M2/e\nvOy444755Cc/mXbt2lV6xNJ44oknsvfee1d6jKry9NNPZ/vtt0/fvn3zzDPP5Nlnn82OO+6Yj3/8\n45Uerer8z//5P9+17IEHHsiqVauSJKeccsqWHql0brnllnz5y1+u9BhV58Ybb8zcuXOzbt267LPP\nPpkzZ06GDh2ae+65J0899VROOOGESo9Y1RYuXNj6vt6vX79Kj1OVyv5epNy1wZQpU9KpU6cMHTo0\nI0eOzNChQxWRNmpoaMhvfvObDBgwIE899VQGDx6cuXPn5t/+7d9y5plnZqeddqr0iFXl0ksvzSWX\nXJIk+dWvfpXXX389+++/f+bMmZO5c+fmjDPOqPCE5XHNNdfkmmuuqfQYVcMHvmLNnj07Q4YMyT77\n7JO/nPT6oYceKtXpvLckZbk4TzzxRC6//PKsWbMmp512Wq699tp07NgxTU1NOeecc/y/vpEuu+yy\nnH322Une+f/+xhtvzB577JFbbrklxxxzTA499NDKDlhltob3IuWuDfr165eJEyfmD3/4Q+6+++5c\nc8012X///XPwwQdn9913r/R4VeXXv/51fvjDH6Zjx4558803c9VVV+X888/Piy++mJ/97Gf5wQ9+\nUOkRq0pzc3M6duyYJHnyySdz6aWXpra2Np/4xCdy1llnVXi66vMv//IvG1ze0tKS5cuXb+FpqpsP\nfMWaPHlybrvttjz++OM54YQTUl9fnzvvvNMHvTZSlotTU1PT+t9fbidJbW1tmpubKzlaVVq8eHHr\nn6dPn54LLrggvXv3zptvvpmLL77Y//MbaWt4L1Lu2qCmpiZdunTJ6NGjM3r06LzxxhtpaGjIr371\nqzQ2NvrX/I3Q0tLSenhrp06dsmzZsiTJgAEDsnLlykqOVpV69uyZOXPmZM8990yvXr2yZMmS9OrV\nK2+99ValR6tKzzzzTP7xH/8xnTp1Wm95S0tL/vznP1doqurkA1+xOnfunJNOOinPP/98rrrqquy7\n775x2dq2U5aLs++++2bixIlZu3ZtDjvssEyePDmDBw/O008/nSFDhlR6vKrzl9+VSdLU1JTevXsn\nSbp27brez/hgtob3IuWuDf77G+j222+fo446KkcddVQWLVpUoamq07777ptLLrkkQ4YMyeOPP57h\nw4cnSZYvX+6DSht84xvfyNVXX5077rgjnTt3ztlnn52dd945K1asyFe/+tVKj1d1Bg0alA4dOmxw\nj3zfvn0rMFH18oFv8xg4cGAmTpyY++67Lx/72McqPU7VUpaLc/zxx+fZZ59NkgwePDivvfZaHnnk\nkRx22GGt7/F8cC+88EJOPPHEtLS0ZO3atVm6dGm6d++epqam0pSRLWlreC+qafHba6M99dRT2WOP\nPSo9Rmk89thjmT9/fnbeeefWE1Q0Nzdn3bp1ad++fYWnq07z58/PggULsm7duvTo0SO77LKL74VS\ncRv6wNezZ88MHz7c9rmJ3n777bz22mvp3bt3unTpUulxqlpLS0vuu+++PPvssznzzDMrPQ5s0IoV\nK/LKK69k8ODBlR6l6pT9vUi5K8jzzz/v2PyCyLJY8iyWPPkwuPLKK3PSSSela9euefzxx3Pdddel\nb9++WbBgQU444YQcdNBBlR6xqinLbTdz5swcdthhSZIlS5bk6quvzrx589KvX7+cccYZjnqAzazd\nhRdeeGGlh6g2zz//fJYuXbref5dddln22GOP1t3lfDCyLJY8iyXP4sycOTMf/ehHk7zzge/HP/5x\nbrzxxjz66KPZbbfdst1221V4wupy++2353Of+1yS5Cc/+UnOPffcHHXUUTnkkENy3XXX5Ygjjqjw\nhNXlyiuvzJAhQ9KxY8c8/vjjueSSS/LCCy9k6tSpqa+vT//+/Ss9YtW49tprc/jhh7f+ediwYfn2\nt7+d7bbbLrfffntGjRpV4Qmry8knn5zXXnstHTt2TO/evX3PbhNtDXn6zl0bnHfeeRk0aNB6hwy+\n9dZbufnmm5MkF1xwQaVGqzqyLJY8iyXP4tx3332t/5p/0003ZcSIEfne976XRx99ND//+c8zceLE\nCk9YXVpaWvL2229nm222SU1NTXr27JnknZMsrFu3rsLTVZ8XX3wxXbt2TZLceeedueiii9Y7I6E9\noW2zYMGCTJgwIUlywAEH5M4776zwRNWna9eu2XnnnXP77bfnJz/5SYYPH56RI0c6HLONtoY8lbs2\nGD9+fO6999587nOfy7777psk+Yd/+Acf9NpAlsWSZ7HkuXn4wLfpPv/5z+eiiy7Kpz71qXzsYx/L\n5MmTM2zYsDz11FMZOnRopcerOspycZYsWdJ63cA333wzTU1Nqat75+OmLDdep06d8ulPfzqf/vSn\ns3jx4jz00EO54YYbsmLFiowYMSJf/vKXKz1iVdka8lTu2mD48OEZOnRobr311vz+97/PV7/61VLu\n1t0SZFkseRZLnsXxga9YI0aMyMCBAzNjxozWkyc999xzGTlypHLXBspycY4//vjWPw8cODCrVq1K\nly5d8sYbb2S//far4GTV6a9PjdGzZ88cffTROfroo/PKK6+koaGhgpNVp60hTydU2UTPP/98fvnL\nX+all17KDTfcUOlxqtq8efNy88035+WXX87Pf/7zSo9T9eRZrL/k6f/1trn//vvXuz1s2LDWD3y/\n/e1vS/GvpVS31157bb2y3KNHj+y///7KHRV100035cQTT6z0GKWxNeSp3BWgpaUlK1euzDbbbFPp\nUaqeLIslz2LJkw+Lm266KQceeGB22223So8CH9idd96Zz3/+85UeA0rN2TLbaM6cOfnNb36TGTNm\n5A9/+EPmz5/vlMltcNNNN6VTp06t32+oqalxbbtNIM/Nq6amJpdcckkOPfTQSo9Sdf77tsmmueqq\nq/Lcc8/l17/+dZYuXZrtttvO2Vs3kzvvvDO77757pccohauuuiqf+cxnKj1GVVm+fHnuuuuuLFiw\nIB/96EczderUTJ8+PfPmzcsuu+ySDh06VHrEqvLII4+kW7du6dChQ958881cf/31ue222/L0009n\n8ODBpfjHW3vu2uCWW27JG2+8kT333DOzZ89O7969s8MOO+Tf//3fc8wxxzir1kYYN25cevXqlTff\nfDMjRozIyJEjW0+XzsaTZ7H+6Z/+ab3bLS0tWbBgQet1mn784x9XYqyqZNss1tlnn53LLrssr776\nahoaGtLQ0JDm5uaMHDkyI0eOdC2xAp1++um55pprKj1G1XivQ95aWlqyZs2a3HrrrVt4oup26aWX\npn///lm5cmVeeeWV7LTTTjnooIPyxBNP5MUXX8zZZ59d6RGryvjx4zNlypQkyZQpUzJo0KAcdNBB\nefLJJ/O//tf/yj//8z9XeMJN54QqbfCf//mfufzyy5MkI0eOzIUXXpgTTjghw4cPzwUXXKDcbYQe\nPXpk0qRJrR9QrrrqKh9QNoE8i9WrV6907tw5/+N//I906NAhLS0tueCCC3LOOedUerSqY9ss1l9O\n7NO3b998/vOfz+c///m8+OKLeeihh3LppZfmqquuqvCE1eX9Cgkf3DbbbJNLL70022+//bt+dvrp\np1dgourW2NiY8847Ly0tLTnttNPylwPuhgwZkrPOOquyw1Wh5ubm1j+/9tprGT9+fJLk0EMPzT33\n3FOpsQql3LVBbW1tli9fni5dumTp0qWtG0qXLl1iR+jG8QGlWPIs1jnnnJNHHnkkP/vZz/LZz342\nw4YNS7t27dKrV69Kj1Z1bJvF2tB7zYABAzJgwAAnp2kDhaQ4o0aNyuLFizeY5ciRIyswUXVraWnJ\n8uXLs2rVqqxatSoLFy5M796989Zbb6WpqanS41WdPfbYI7fddluOOeaY7LHHHnnkkUdywAEHZM6c\nOaU4JDNR7trkmGOOydlnn50ddtghr776ak499dQk75zee8CAARWerrr4gFIseRbvgAMOyN57753b\nbrstM2fO9GbaRrbNYn3/+9+v9AilopAU54tf/OJ7/uyvL5PABzNmzJjWvUunn356rrvuuiTJ/Pnz\nc+yxx1ZytKp0yimn5Ne//nW+9a1vJUnuueeedOzYMfvtt1/+8R//scLTFcN37tpo+fLlef3119On\nT59su+22lR6naq1atSqdOnWq9BilIc/N64UXXsizzz6bI444otKjVB3bZvFaWloyd+7cNDY2Jknq\n6+uz6667uhYjHwp/fS3Lv3jzzTfTtWvXCk1UvZqbm9PS0pJ27dpl3bp1eeGFF1JfX+8kSpvo7bff\nzrp167LddttVepRCKXdt0NTUlHbt2rW+gc6ZMyfz5s3LjjvumH333bfC01UXWRbvL4cJ19bWpqmp\nKS+99JIzuW4iH1KKt2rVqrz66qv5yEc+4h/I2uC//uu/8vOf/zw77LBD6uvrk7xzofjXXnstX/va\n17LPPvtUeMLq9Oc//zlLlixJbW1tdthhh/Tr16/SI1WdOXPm5Cc/+UnWrl2bj370o/n617+e3r17\nJ3nnUPd/+Zd/qfCE1cm2ufncd999+dSnPlXpMQrjsMw2OO+883LBBRekS5cuueuuu/LII49k3333\nzd13352nn346X/nKVyo9YtX4W1n+8Y9/dLjWRnrkkUdy/fXXp6amJqeeemqmTp2aTp065dVXX83X\nvva1DBs2rNIjVpW/9SHlhz/8oQ8pG+HnP/95vva1ryVJnnnmmVxxxRXp06dPXnvttZx66qn5+Mc/\nXuEJq8uNN96Yf/7nf27dHv9i4cKFufTSS1vPBscH8/TTT+fmm2/Otttum+effz4f+9jHsmLFirRr\n1y7f/OY3XcJjI/zqV7/K+eefn/79++cPf/hDfvCDH+Sb3/xmBg8e7LwEbWDbLNbdd9+93u2WlpZM\nmzYta9euTZJSXKpDuWuD5ubm1r0gDQ0N+f73v58OHTpkzJgxOeecc5S7jfB+WSp3G+fOO+/Mj370\no6xZsyZnnXVWLr300vTt2zeLFi3K5ZdfrtxtJB9SivPcc8+1/vm2227LWWedlYEDB+b111/PlClT\nlLuNtG7duvTo0eNdy+vr630vtA1uvPHGfO9730vXrl2zcOHC3HTTTbn44ovzxBNP5Nprr833vve9\nSo9YNZqamtK/f/8kyfDhw9OvX7/8+Mc/zle+8hWHDLeBbbNYt99+e/bdd9/079+/9X28ubk5K1eu\nrPBkxVHu2qBz58556aWXstNOO2W77bbLmjVr0qFDh6xbt84Hvo0ky+L95YQAPXv2bD29fK9eveTZ\nBj6kbB5vv/12Bg4cmCT5yEc+Yttsg7/7u7/LeeedlxEjRrT+y/3ixYvT0NCQww47rMLTVZ/m5ubW\nw6x79uyZxYsXJ0n23nvv3HjjjRWcrPq0a9cub7zxRut7Uf/+/TNx4sRMmjQpr7/+eoWnqz62zWJN\nnjw5N998c1atWpVjjz02HTt2zKxZs0p1chrlrg1OPfXUXHXVVRkwYEC6deuW8847L0OGDMlLL72U\nY445ptLjVRVZFq+5uTm1tbXrnb67ubnZv+a3gQ8pxXnllVfyT//0T2lpacmiRYtaLydj22ybY445\nJvvvv38effTRPPvss0ne2Wt35plnZscdd6zwdNVn4MCBueaaa7Lnnnvm0Ucfze67754kWb169XrX\nxeL9ffnLX17v92byznUuL7zwwtx3330VnKw62TaL1bNnz0yYMCGzZ8/OD37wg/z93/99pUcqnBOq\ntFFzc3P+67/+KwsWLGg9PGafffZxYoA2kGVx5s6dm5122ikdOnRYb/nChQvzzDPP5BOf+ESFJqtO\nTzzxRLp27Zqdd955veUrVqzIfffdl7Fjx1ZmsCq0aNGi9W537949dXV1efPNN/PHP/4xBx54YIUm\ng3f20v/Hf/xH5s+fnwEDBuSwww5LbW1t1qxZk2XLlrm2JRVj29x8Vq1alTvuuCNz587NRRddVOlx\nCqPcAUCVeeONN3LHHXekpqYmX/jCF3LvvffmkUceSd++fXPyySc7RToVs6Ft8+GHH06/fv1sm7AF\nKHdt4E21OLIsljfVYsmzOLIs1g9/+MN8/OMfz+rVq/Pggw/m4IMPzsEHH5zZs2fnySefzNlnn13p\nEavKG2+8kTvvvDNJbJ+byLZZLNtmsbaGz521lR6gGl199dXZcccd07Nnz1x00UXp0KFDzj333AwZ\nMiTXX399pcerKrIs1oby/Mv3GOW58eRZHFkWa9myZTnyyCMzZsyYrFixImPGjEnPnj1z5JFHvusQ\nWN7f1VdfnX79+tk+C2DbLJZts1hbw+dO5a4N/OIqjiyLJc9iybM4sizWXx90M2rUqPf8GR+M7bM4\nts1i2TaLtTXkqdy1gV9cxZFlseRZLHkWR5bFGjZsWFatWpUk+eIXv9i6/LXXXssOO+xQqbGqlu2z\nOLbNYtk2i7U15KnctYFfXMWRZbHkWSx5FkeWxfrCF76QTp06vWt5nz598p3vfKcCE1U322dxbJvF\nsm0Wa2vI0wlVAKAKvfLKK5k9e3YaGxuTvHOdu2HDhrnOHRVn24TKUe7a6PXXX8/DDz+cJUuWpLa2\nNjvssEMOPvjgbLPNNpUererIsljyLJY8iyPL4kybNi0PPfRQRo4cmfr6+iRJY2Nj67IxY8ZUeMLq\nY/sshm2zeLbNYpU9z3YXXnjhhZUeotr89re/zT333JP6+vo8/fTT6dq1a5qamvLLX/4y/fv3T+/e\nvSs9YtWQZbHkWSx5FkeWxbrmmmty2WWXZffdd8+AAQMyYMCA7LbbbjnssMNy7bXX5sgjj6z0iFXF\n9lkc22axbJvF2irybGGjTZgwoWXdunUtLS0tLatWrWq54IILWlpaWloWLVrUctZZZ1Vwsuojy2LJ\ns1jyLI4si/Wtb32rZeHChe9avnDhwpYzzzyzAhNVN9tncWybxbJtFmtryLOu0uWyWq1bty61tbVZ\nu3Zt6xcze/bsmXXr1lV4suojy2LJs1jyLI4si3PSSSfl+9//fnbYYYf06NEjSbJ48eK89tprGTdu\nXIWnq062z2LYNotn2yxW2fNU7trgk5/8ZM4777zsuuuueeaZZ3L00UcnSd5888106dKlwtNVF1kW\nS57FkmdxZFmsoUOH5oorrsjcuXPXO2nFrrvumtpaJ8LeWLbP4tg2i2XbLNbWkKcTqrTRyy+/nFde\neSX9+/dPv379Kj1OVZNlseRZLHkWR5ab1/Lly0vz4aQSbJ+bj21z09g2i1X2PJW7gq1atWqD13dh\n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\nu/oAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "grouped = df.groupby(['CDS_CODE']).sum().sort_values('GRADS', ascending=False).head(10)[['GRADS','UC_GRADS']]\n", "grouped.plot(kind='bar', figsize=(15, 8))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's do some research on the GRADS column, which is the number of graduate students in California in the 2014-2015 academic year." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#For convenience, let's assign the output of this dataframe to a variable...\n", "grad = df['GRADS']" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "508" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# largest number of graduates\n", "grad.max()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# smallest number of graduates\n", "grad.min()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "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", "
CDS_CODEETHNICGENDERGRADSUC_GRADSYEAR
7022196487319367495F5082211415
4685196445119324415F4302181415
7021196487319367495M4221381415
4686196445119324415M4221351415
4701196445119391645F3852061415
\n", "
" ], "text/plain": [ " CDS_CODE ETHNIC GENDER GRADS UC_GRADS YEAR\n", "7022 19648731936749 5 F 508 221 1415\n", "4685 19644511932441 5 F 430 218 1415\n", "7021 19648731936749 5 M 422 138 1415\n", "4686 19644511932441 5 M 422 135 1415\n", "4701 19644511939164 5 F 385 206 1415" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# display the result of the largest number of graduates, sorted by graduates' value.\n", "df.sort_values(['GRADS'], ascending = False).head()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "426950" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## total graduated students in the academic year of 2014-2015\n", "grad.sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "now let's add UC_GRADS columns to our dataframe and apply function to see multiple columns" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "GRADS 426950\n", "UC_GRADS 185179\n", "dtype: int64" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[['GRADS', 'UC_GRADS']].apply(sum)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OR" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "GRADS 426950\n", "UC_GRADS 185179\n", "dtype: int64" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[['GRADS', 'UC_GRADS']].sum()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "43.372526056915326" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# how many percent of graduate qualify to go to the UC.\n", "(df['UC_GRADS'].sum() * 100 ) / df['GRADS'].sum()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "20.318374339694476" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# mean of grads column\n", "grad.mean()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# median of grads column\n", "grad.median()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The median is lower than the mean. This indicates that some of the schools had a very high number of graduates, pushing the value of the mean up." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "count 21013.000000\n", "mean 20.318374\n", "std 39.613251\n", "min 1.000000\n", "25% 1.000000\n", "50% 5.000000\n", "75% 17.000000\n", "max 508.000000\n", "Name: GRADS, dtype: float64" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# or just use describe() to get general info about the column\n", "grad.describe()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Calculate the number of male graduates and assign them to a new variable called m " ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "210947" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = df[df.GENDER == 'M'] \n", "m = m.GRADS.sum()\n", "m" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Calculate the number of female graduates and assign them to a new variable called f " ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "216003" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = df[df.GENDER == 'F'] \n", "f = f.GRADS.sum()\n", "f" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Range of female and male student numbers" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5056" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f - m " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "According to the dataset 5056 more female students graduated in the academic year of 2014." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "We have previously seen the number of total graduates in the 2014 academic year. Let's confirm here." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "426950" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f + m" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Now, lets focus on ethnics and graduates columns and do some math. " ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "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", "
ETHNICGRADS
0212
151
263
361
457
\n", "
" ], "text/plain": [ " ETHNIC GRADS\n", "0 2 12\n", "1 5 1\n", "2 6 3\n", "3 6 1\n", "4 5 7" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#For convenience, let's assign the output of this dataframe to a new variable, df_ethnic\n", "\n", "df_ethnic = df[['ETHNIC', 'GRADS']]\n", "df_ethnic.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Number of students whose ethnicity code is 2." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "41698" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = df_ethnic \n", "d = d[d['ETHNIC'] == 2]\n", "d = d['GRADS'].sum()\n", "d" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "The value of etchicity codes are in the dataset description. They are stored as integers. Let's create a function which assigns a value to each code. The function is called eth. " ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def eth (value):\n", " if value == 0:\n", " return 'Not Reported'\n", " elif value == 1:\n", " return 'American Indian or Alaska Native, Not Hispanic'\n", " elif value == 2:\n", " return 'Asian, Not Hispanic'\n", " elif value == 3:\n", " return 'Pacific Islander, Not Hispanic'\n", " elif value == 4:\n", " return 'Filipino, Not Hispanic'\n", " elif value == 5:\n", " return 'Hispanic or Latino'\n", " elif value == 6:\n", " return 'African American, not Hispanic'\n", " elif value == 7:\n", " return 'White, not Hispanic'\n", " elif value == 9:\n", " return 'Two or More Races, Not Hispanic'\n", " else:\n", " return value" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'Asian, Not Hispanic'" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# test the funtion\n", "eth(2)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'Hispanic or Latino'" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# test the funtion one more time\n", "eth(5)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/anaconda/anaconda/lib/python3.6/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", " app.launch_new_instance()\n" ] }, { "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", "
ETHNICGRADSETHNIC_NAME
0212Asian, Not Hispanic
151Hispanic or Latino
263African American, not Hispanic
361African American, not Hispanic
457Hispanic or Latino
\n", "
" ], "text/plain": [ " ETHNIC GRADS ETHNIC_NAME\n", "0 2 12 Asian, Not Hispanic\n", "1 5 1 Hispanic or Latino\n", "2 6 3 African American, not Hispanic\n", "3 6 1 African American, not Hispanic\n", "4 5 7 Hispanic or Latino" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#apply the funtion in all dataset and create a new column \n", "\n", "df_ethnic['ETHNIC_NAME'] = df_ethnic['ETHNIC'].apply(eth)\n", "df_ethnic.head()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "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", "
GRADSETHNIC_NAME
012Asian, Not Hispanic
11Hispanic or Latino
23African American, not Hispanic
31African American, not Hispanic
47Hispanic or Latino
\n", "
" ], "text/plain": [ " GRADS ETHNIC_NAME\n", "0 12 Asian, Not Hispanic\n", "1 1 Hispanic or Latino\n", "2 3 African American, not Hispanic\n", "3 1 African American, not Hispanic\n", "4 7 Hispanic or Latino" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create a new variable called df_ethnicName\n", "\n", "df_ethnicName = df_ethnic[['GRADS', 'ETHNIC_NAME']]\n", "df_ethnicName.head()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nN8+lpqbatcTtVh07diQkJISHHnqIkSNH8uyzzzJ9+nSsVitOTk4MGDCABx54gD/++MO2paM9OnXq\nxCeffMKYMWNwcnJi6NChODs74+/vz7fffktISEieN1W46dKlS4SHh9tmo26d0TKbzYwbN47MzExe\nfvllIGt7yrCwMFasWEGzZs3yNNaDDz5Ir169CA0NxWg0Urt2bYYNG5bnmEVERERKMoP11q0cRBxM\nSkoKH374Ia+++mpRh3JHN3eh8/HxKdI4TncNKNLxRURudb9Lhv6qJD1Pkp8cNW8oWbmnpKTYng3O\nD3ldMlec5fbZ5OUZIr2HSByau7t7sS+GRERERDSHcXv3+9loyZxICRAaGlrUIYiIiEgRMhqNtmej\n5X8yMjLu+F5Je+gTFRG75ffylJKiJC2pyG+Omruj5g2OnbtIcebq6kpqaippaWkYDIb77s/FxYW0\ntLR8iKzoWK1WjEYjrq6u99WPCiIRERERkWLOYDDg5uaWb/3plx//o2eIRERERETEYakgEhERERER\nh6WCSEREREREHJYKIhERERERcVgqiERERERExGGpIBIREREREYelgkhERERERByWCiIREREREXFY\nKohERERERMRhqSASERERERGHpYJIREREREQclgoiERERERFxWCqIRERERETEYZmKOgARKTkyB3Uv\nsL6dFkYWWN8iIiIit6MZIhERERERcVgqiERERERExGGpIBIREREREYelgqiIXb16lZCQEEJCQhg0\naBAvvfSS7TgjI6NIYvryyy/p3bs3CQkJtnORkZH07t2bkydPFsh4N/MePXo027Zty/cx8mL9+vX0\n6dOH06dP286NGjWKixcv3vYei8XCypUrb3t9yJAhXLt2zXa8b98+5syZA8DOnTuJjCyc52d++OEH\nNm/eXChjiYiIiJQE2lShiJUtW5a5c+cCEBERgaurK927F9yD67nJzMzEyckp27maNWuybds2evbs\nCcCOHTuoXr16nvq1WCwYjfbV3N27d6dr166cPXuW1157jcDAQLvvLQgVK1bkm2++YeTIkXa1t1qt\nrFy50vZ55UXLli3zfM+9euKJJwptLBEREZGSQAVRMfXNN9/g7u5O586dWbx4MXFxcbzxxhvs3buX\nzZs3M3z4cDZt2sS3334LQPPmzfnnP/+Zo5+9e/eydOlSLBYL9erVY+DAgZhMJoYMGcLf/vY39u7d\n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\nDz/EarViMBjo27cvAGfOnOHhhx++YyzOzs507tyZzz777I65Q1bxNHbsWHx8fPK0qcKtPv30U9t2\n540bN6ZmzZocPXoUHx8f5syZY9tUoXbt2nh7e7N+/XpGjx6Nt7c39erVy9NYI0eO5OOPP+bLL7/E\nZDIxZswYHnjggXuKW0RERKSkMlhze5JaxAHMnDmTcePG5dhyvLi5dRe6ona6a0CB9e20sHDexXQv\nSvs66ztx1NwdNW9Q7o6Yu6PmDcq9NOeuZ4hE7HDr5g0iIiIi4phUEIkUcx07dizqEERERERKLRVE\nImK34rysTUREROReaJc5ERERERFxWCqIRERERETEYakgEhERERERh6WCSEREREREHJYKIhERERER\ncVgqiERERERExGGpIBIREREREYelgkhERERERByWCiIREREREXFYKohERERERMRhqSASERERERGH\npYJIREREREQclgoiERERERFxWCqIRERERETEYZmKOgARKTkyB3XPcc5pYWQRRCIiIiKSPzRDJCIi\nIiIiDksFkYiIiIiIOCwVRCIiIiIi4rBUEJUyffr0ISQkhDFjxvDWW2+RlpaW5z527drFypUrAUhK\nSuK1115j3LhxHDp0iJkzZ3Lt2jW7+omOjmbRokW3vR4TE8OsWbPyHN+9jJVXvXv35rPPPrMdR0ZG\nEhERccd7du7cyZkzZ3K9FhERQWRk9mdthg0bRlJSEgBvvPHGfUZsn0uXLjF//vxCGUtERESkJFBB\nVMqYzWbmzp3L/PnzMZlMrFu3Ls99BAQE0LNnTwD2799PzZo1mTNnDn5+fkycOJEyZcrkd9iFLjMz\n847XnZ2d2bFjh61gsccvv/xy24LobqZPn35P9+VVxYoVGTNmTKGMJSIiIlISaJe5UszX15dTp04B\nMGfOHC5evMiNGzfo0qULwcHBAOzZs4f//ve/WCwWypYty5tvvkl0dDSxsbF07NiRpUuXkp6eTmxs\nLDNmzGD06NHMnDkTT09PNm7cyKpVqzAYDNSsWZMRI0bcNpaff/6Zr776CqPRiLu7O1OmTMl2/dix\nYyxZsoQbN25gNpsZOnQo3t7eREdHs2vXLtLS0jh//jwtW7bk+eefB+Cnn35i5cqVuLu7U6tWLZyd\nnYGsWa2PP/6YixcvAvB///d/+Pr6EhERwfnz50lISKBSpUqMGjXqtvEajUaCg4NZvXo1zz33XLZr\nCQkJhIeHc/XqVTw9PRk6dCgXL15k165dHDx4kK+//poxY8ZQtWpVu79X/fr14/PPP+fy5cu88847\npKSkYLFYGDhwIH5+fvTr14+OHTuyb98+ypcvz6hRo/D09CQqKor169eTkZFBlSpVGDFiBC4uLoSF\nheHm5sbx48e5cuUKzz//PIGBgSQkJDB79mzmz5+PxWJh6dKl7N27F4PBQMeOHXnyySftjllERESk\nNFBBVEplZmayZ88emjZtCsDQoUPx8PAgPT2diRMn0qpVK6xWKx999BFTpkyhcuXKJCcnZ+ujdu3a\n9OnTh9jYWAYMGJDt2unTp1mxYgXTpk3D09Mzx71/9dVXX/H6669TsWLFXJfceXt7M3XqVJycnNi3\nbx9ffPEFY8eOBeDkyZPMmTMHk8nEqFGjeOKJJ3ByciIiIoLZs2fbCqzatWsDsGTJErp164avry+J\niYnMmDGDt99+G4AzZ84wbdo0zGbzXT/Dzp07ExISQo8ePbKdX7x4Me3bt6dDhw5s2LCBxYsXM27c\nOAICAmjevDmBgYG59rd69Wo2b95sO7506VKONlu2bKFJkyY89dRTWCwW25LHtLQ0fHx8ePHFF/nq\nq6/4f//v/zFgwABatWplK26//PJLNmzYYCtqrly5wtSpU4mLi2P27Nk54oqKiuLChQvMmTMHJyen\nu34PRUREREojFUSlTHp6OiEhIQD4+fnx2GOPAbBmzRp++eUXABITEzl37hxJSUn4+flRuXJlADw8\nPOwe58CBAwQGBuLp6WnXvQ0aNCAsLIzWrVvTqlWrHNdTUlIICwsjPj4eyL6kzd/fH3d3dwBq1KhB\nYmIiSUlJNGrUyDZ+69atOXfuHJC1zO/WpWspKSmkpqYCWcsB7SmGANzd3QkKCmLNmjXZ7jl69Kit\nWAsKCmLZsmV29de1a1e6d//fe3yGDRuWo42Pjw/h4eFkZGTQsmVLW5FnMBho06YNAH/729+YN28e\nkFWYfvnll1y7do3U1FSaNGli66tFixYYjUZq1KjBn3/+mWOsffv20alTJ5ycnIDcv4dRUVFERUUB\n3PZ5Ly8vL3vSL9FMJpND5JkbR83dUfMG5e6IuTtq3qDcHTX3v1JBVMrcfIboVjExMezfv5/p06fj\n4uJCaGgoN27cKNS4Bg8ezNGjR9m9ezcTJkzI8cP18uXLadSoESEhISQkJGRbUndzKRxkLWW72/M/\nVquVGTNm5Fr4uLi45Cnurl27Mn78eDp06JCn++5Vw4YNmTJlCrt37yYsLIxu3brRvn37HO0MBgMA\nYWFhhISEULt2baKjo4mJibG1ufVzs1qt9xRPcHCwbQbqdhITE++p75LEy8vLIfLMjaPm7qh5g3J3\nxNwdNW9Q7qU5d29vb7vbalMFB5CSkkKZMmVwcXHh7NmzHD16FID69etz6NAhEhISAPK0ZMrf35/t\n27dz9epVu+6Nj4+nXr169OnTB09PT9vzPbfGWLFiRSBrx7i7qVevHgcPHuTq1atkZGSwfft227XG\njRvzww8/2I5PnjyZax+XLl1i6tSpdxzHw8OD1q1bs2HDBtu5+vXrs23bNiBriZuvry8Abm5uXL9+\n/a6x38mFCxcoX748wcHBdOzYkRMnTgBZBc3NHG8dMzU1lQoVKpCRkZFtOZ49GjduzLp162wFppbM\niYiIiCPSDJEDaNq0KevWrWP06NFUq1aNevXqAeDp6cngwYOZN28eVqsVT09PJk2aZFefDz74IL16\n9SI0NBSj0Ujt2rVzXQJ209KlS21L2vz9/alVqxYHDx60Xe/RowdhYWGsWLGCZs2a3XX8ChUq8Mwz\nz/DGG2/g7u5uW1oG8K9//YtFixYxduxYMjMz8fPzY/DgwTn6uHz5sm252J1069YtW4HVv39/FixY\nQGRkpG1TBYA2bdrw0Ucf8f333/Pqq6/maVOFm2JiYli1ahVOTk64uroyfPhwIGtm69ixY6xYsQJP\nT09Gjx4NZG2z/tprr+Hp6Um9evXyVJB17NiRc+fOMXbsWEwmEx07duSJJ57Ic8wiIiIiJZnBeq9r\naURKuB9++AEvLy8CAgKKOpS7urkLXVE73TXnZ+W0MDKXlqVLaV9WcCeOmruj5g3K3RFzd9S8QbmX\n5tzzsmROM0TisDQbIiIiIiJ6hkikBCgOs0MiIiIipZFmiETEbo6wPE5EREQci2aIRERERETEYakg\nEhERERERh6WCSEREREREHJYKIhERERERcVgqiERERERExGGpIBIREREREYelgkhERERERByWCiIR\nEREREXFYKohERERERMRhqSASERERERGHpYJIREREREQclgoiERERERFxWCqIRERERETEYdlVEC1e\nvDjb8YYNG7Idz5s3L/8iEhERERERKSR2FUQbN27Mdvz5559nO96/f3/+RSQixVbmoO62PyIiIiKl\n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\nqQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#plot the number of total graduates by ethnicity \n", "\n", "df_ethnicName.groupby(df_ethnicName['ETHNIC_NAME']).sum().plot(kind = 'barh', grid= True, figsize = (10,5))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Let's go back to our original dataaset" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "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", "
CDS_CODEETHNICGENDERGRADSUC_GRADSYEAR
011001701098352M1211415
111001701098355M101415
211001701098356F301415
311001701098356M101415
411001701098355F711415
\n", "
" ], "text/plain": [ " CDS_CODE ETHNIC GENDER GRADS UC_GRADS YEAR\n", "0 1100170109835 2 M 12 1 1415\n", "1 1100170109835 5 M 1 0 1415\n", "2 1100170109835 6 F 3 0 1415\n", "3 1100170109835 6 M 1 0 1415\n", "4 1100170109835 5 F 7 1 1415" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, Let's see the relation between GRADS and UC_GRADS columns by scatter plotting. " ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nIiLSsP8HwB5QnWnIzgYAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(x=['GRADS'], y=['UC_GRADS'], kind='scatter', grid=True, figsize = (10, 5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we have seen before from the mean and median, schools have different number of graduates. Graduate numbers between 0 and 150 and UC graduates number between 0 to 50 are high. There are some schools had zero UC grads. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conclusion" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Close to half million students graduated from in a California high school in the 2014-2015 academic year. There are more female gradutes then male graduates. Almost half of the students are eligible to continue their education in a California University. Hispanic or Latino ethnicity is dominant in the schools. There is a big variety in the number of graduates. Most schools had graduates between 0 and 120. " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" } }, "nbformat": 4, "nbformat_minor": 0 }