{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# -*- coding: utf-8 -*-\n", "%matplotlib inline\n", "\n", "import pandas as pd\n", "import numpy as np\n", "import math\n", "import matplotlib as mplstyle\n", "import matplotlib.pyplot as plt\n", "import locale\n", "from locale import atof\n", "from dateutil import parser\n", "from datetime import datetime\n", "\n", "plt.style.use('fivethirtyeight')" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### Import data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "df_vouchersBySchool = pd.read_csv('school_choice_data/imported_data/awards_by_school_16.csv')\n", "df_specialEdEnrollment = pd.read_csv('school_choice_data/gov_data/EnrollmentEnglishLearnerSpecEdSchls_ALL.csv')\n", "df_missingSpecialEdEnrollment = pd.read_csv('school_choice_data/imported_data/updatedEnrollment.csv')\n", "df_vouchersByOgSchoolDistrict = pd.read_csv('school_choice_data/imported_data/voucher-students-by-original-school-district.csv')\n", "df_publicSpecialEdEnrollment = pd.read_csv('school_choice_data/gov_data/PublicEnrollmentEnglishLearnerSpecEd.csv')\n", "df_schoolGrades2015 = pd.read_csv('school_choice_data/imported_data/final-2016-af-school-grades.csv')" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### Functions" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# replace symbols \n", "# use 0 for no school choice students and 9 for schools with less than 10 students\n", "def replaceSymbols(id):\n", " if id == '*':\n", " return 9\n", " elif id == '-':\n", " return 0\n", " else:\n", " return id\n", "\n", "# normalize numbers\n", "# if is not a number, return None. if is a number, turn it into an integer\n", "def normalizeNums(num):\n", " if (math.isnan(num)):\n", " return None\n", " else:\n", " num = int(math.floor(num))\n", " return num\n", " \n", "# multiply by 100 to convert from percent\n", "def convertPercent(num):\n", " return num * 100\n", "\n", "# normalize percent from x% to just a number\n", "def normalizePerc(num):\n", " try:\n", " float(num.strip('%'))\n", " except AttributeError:\n", " return num\n", " return float(num.strip('%'))\n", " \n", "# get average award amount\n", "# divide award amount by award count if they are both numbers\n", "def averageAward(awardCount, awardAmount):\n", " if math.isnan(awardAmount) or math.isnan(awardCount):\n", " return None\n", " return round((awardAmount/awardCount),2)\n", "\n", "# Convert NaN to zeros\n", "# the zeros do not always indicate that no students \n", "# were in the program. schools with less than ten \n", "# students do not have to report \n", "def convertInt(num):\n", " if math.isnan(num):\n", " return 0\n", " else:\n", " return int(num)\n", " \n", "# calculate percent\n", "def calcPerc(num, denom):\n", " if num != 0:\n", " percent = (float(num/denom))*100\n", " return round(percent,2)\n", " else:\n", " return None\n", " \n", "# calculate percent change\n", "def percentChange(oldVal, newVal):\n", " val1 = float(oldVal)\n", " val2 = float(newVal)\n", " change = (val2-val1)/val1\n", " return float(change)\n", "\n", "# fill in missing values\n", "# compares two values, takes the first if is not null. if it is, takes second.\n", "def fillInfo(choiceCell, backupCell):\n", " if pd.isnull(choiceCell):\n", " return backupCell\n", " elif math.isnan(choiceCell):\n", " return backupCell\n", " else:\n", " return choiceCell\n", " \n", "# replace with None\n", "def fillNone(num):\n", " if num == 1:\n", " return None\n", " else:\n", " return num " ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### Voucher enrollment data\n", "\n", "Apply function to replace symbols. Drop data from all but most recent school year. Filter out schools with no voucher enrollment.\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true, "deletable": true, "editable": true, "scrolled": true }, "outputs": [], "source": [ "df_vouchersBySchool2016_filtered = df_vouchersBySchool\n", "df_vouchersBySchool2016_filtered['Voucher enrollment 2016'] = df_vouchersBySchool2016_filtered['2016-2017'].apply(replaceSymbols)\n", "\n", "# Trim out data from 2011-2015.\n", "df_vouchersBySchool2016_trimmed = df_vouchersBySchool.drop(['2011-2012','2012-2013','2013-2014','2014-2015','2015-2016','2016-2017'], axis=1)\n", "\n", "# Filter out schools with no voucher enrollment in 2016\n", "# In the data, 1 == \"-\", and 9 == \"Less than 10 voucher students\"\n", "# We want to filter out the \"-\" ones because they're basically zero.\n", "df_vouchersBySchool2016_trimmed = df_vouchersBySchool2016_trimmed[df_vouchersBySchool2016_trimmed['Voucher enrollment 2016'] > 0]\n" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### Indiana school enrollment (all)\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true, "deletable": true, "editable": true, "scrolled": false }, "outputs": [], "source": [ "# INDIANA SCHOOL ENROLLMENT (ALL)\n", "\n", "# Filter out the public schools.\n", "# Public school IDs are numbers-only. Private school IDs have letters + numbers.\n", "def filterPrivate(id):\n", " if pd.isnull(id):\n", " return True\n", " else:\n", " try:\n", " float(id)\n", " except ValueError:\n", " return False\n", " return True\n", "\n", "df_specialEdEnrollment_filtered = df_specialEdEnrollment\n", "df_specialEdEnrollment_filtered['filter'] = df_specialEdEnrollment_filtered['SCHL_NAME_CODE'].apply(filterPrivate)\n", "df_specialEdEnrollment_filtered = df_specialEdEnrollment_filtered[df_specialEdEnrollment_filtered['filter'] == False]\n", "df_specialEdEnrollment_filtered = df_specialEdEnrollment_filtered.reset_index()\n", "\n", "# Tidy and rename columns\n", "df_specialEdEnrollment_trimmed = df_specialEdEnrollment_filtered.drop(['index','CORP','CORP_NAME','ENR_ELL_N','ENR_ELL_RATIO', 'filter'], axis=1)\n", "df_specialEdEnrollment_trimmed = df_specialEdEnrollment_trimmed.rename(columns = {'SCHL_NAME_CODE':'School No.','SCHL_NAME':'School Name','ENR_SPEC_ED_N':'Special ed enrollment 2016','ENR_SPEC_ED_RATIO':'Special ed ratio 2016','ENROLLMENT_N':'Total enrollment 2016'})\n", "df_specialEdEnrollment_trimmed['Special ed ratio 2016'] = df_specialEdEnrollment_trimmed['Special ed ratio 2016'].apply(normalizePerc)\n", "df_specialEdEnrollment_trimmed\n", "\n", "# Tidy and rename updated enrollment columns\n", "df_missingSpecialEdEnrollment = df_missingSpecialEdEnrollment.rename(columns = {'School ID':'School No.','SpecEd 2016':'Special ed enrollment 2016','SpecEd Perc':'Special ed ratio 2016','Enrollment 2016':'Total enrollment 2016'})\n", "df_missingSpecialEdEnrollment['Special ed ratio 2016'] = df_missingSpecialEdEnrollment['Special ed ratio 2016'].apply(normalizePerc)\n", "df_missingSpecialEdEnrollment\n", "\n", "# Merge w/ other special education data\n", "df_specialEdEnrollment_merged = df_specialEdEnrollment_trimmed.merge(df_missingSpecialEdEnrollment,on='School No.', how='outer')\n", "df_specialEdEnrollment_merged['Special ed enrollment 2016'] = np.vectorize(fillInfo)(df_specialEdEnrollment_merged['Special ed enrollment 2016_x'],df_specialEdEnrollment_merged['Special ed enrollment 2016_y'])\n", "df_specialEdEnrollment_merged['Special ed ratio 2016'] = np.vectorize(fillInfo)(df_specialEdEnrollment_merged['Special ed ratio 2016_x'],df_specialEdEnrollment_merged['Special ed ratio 2016_y'])\n", "df_specialEdEnrollment_merged['Total enrollment 2016'] = np.vectorize(fillInfo)(df_specialEdEnrollment_merged['Total enrollment 2016_x'],df_specialEdEnrollment_merged['Total enrollment 2016_y'])\n", "df_specialEdEnrollment_merged = df_specialEdEnrollment_merged.drop(['Special ed enrollment 2016_x','Special ed enrollment 2016_y','Special ed ratio 2016_x','Special ed ratio 2016_y','Total enrollment 2016_x','Total enrollment 2016_y'], axis=1)\n", "df_specialEdEnrollment_merged\n", "# df_specialEdEnrollment_merged.to_csv('school_choice_data/exported_data/df_specialEdEnrollment_merged.csv')\n", "\n", "# Merge w/ voucher school data\n", "df_vouchersSpecialEd_merged = df_vouchersBySchool2016_trimmed.merge(df_specialEdEnrollment_merged,on='School No.', how='outer')\n", "df_vouchersSpecialEd_merged = df_vouchersSpecialEd_merged.drop(['School Name_y'], axis=1)\n", "df_vouchersSpecialEd_merged = df_vouchersSpecialEd_merged.rename(columns = {'School Name_x':'School Name'})\n", "# df_vouchersSpecialEd_merged\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### School grades" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# Associate schools with their current grade by merging grades df and df_vouchersSpecialEd_merged\n", "\n", "# Tidy and rename columns\n", "df_schoolGrades2015_trimmed = df_schoolGrades2015.drop(['IDOE_CORPORATION_ID','CORPORATION_NAME'], axis=1)\n", "df_schoolGrades2015_trimmed = df_schoolGrades2015_trimmed.rename(columns = {'IDOE_SCHOOL_ID':'School No.','SCHOOL_NAME':'School Name','2015 Grade':'2015_grade'})\n", "df_schoolGrades2015_trimmed\n", "\n", "# Merge w/ voucher school data\n", "df_vouchersSpecialEdGrades_merged = df_vouchersSpecialEd_merged.merge(df_schoolGrades2015_trimmed,on='School No.', how='outer')\n", "df_vouchersSpecialEdGrades_merged = df_vouchersSpecialEdGrades_merged.drop(['School Name_y'], axis=1)\n", "df_vouchersSpecialEdGrades_merged = df_vouchersSpecialEdGrades_merged.rename(columns = {'School Name_x':'School Name'})\n", "df_vouchersSpecialEdGrades_merged\n", "\n", "# Filter out all schools without vouchers in 2016\n", "df_vouchersSpecialEdGrades_merged = df_vouchersSpecialEdGrades_merged[df_vouchersSpecialEdGrades_merged['Voucher enrollment 2016'] > 0]\n", "# df_vouchersSpecialEdGrades_merged" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### School districts" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true, "deletable": true, "editable": true, "scrolled": true }, "outputs": [], "source": [ "# Assign schools to parent school districts\n", "\n", "# Tidy and rename\n", "df_vouchersByOgSchoolDistrict_filtered = df_vouchersByOgSchoolDistrict.rename(columns = {'Corp. No.':'District No.','Corporation Name':'District Name'})\n", "df_vouchersByOgSchoolDistrict_filtered = df_vouchersByOgSchoolDistrict_filtered.drop(['Voucher students from this district (2016-2017)'], axis=1)\n", "# df_vouchersByOgSchoolDistrict_filtered\n", "\n", "# Merge w/ school ID\n", "df_vouchersSpecialEdGradesDistricts_merged = df_vouchersSpecialEdGrades_merged.merge(df_vouchersByOgSchoolDistrict_filtered,on='School No.', how='outer')\n", "df_vouchersSpecialEdGradesDistricts_merged = df_vouchersSpecialEdGradesDistricts_merged.drop(['School Name_y'], axis=1)\n", "df_vouchersSpecialEdGradesDistricts_merged = df_vouchersSpecialEdGradesDistricts_merged.rename(columns = {'School Name_x':'School Name'})\n", "df_vouchersSpecialEdGradesDistricts_merged\n", "\n", "df_vouchersSpecialEdGradesDistricts_merged.to_csv('school_choice_data/exported_data/df_vouchersSpecialEdGradesDistricts_merged.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aggregate by parent school district" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# Drop columns, group by district and reset index. \n", "df_districtVoucherSpecialEdAggregate = df_vouchersSpecialEdGradesDistricts_merged.drop(['Special ed ratio 2016'], axis=1)\n", "df_districtVoucherSpecialEdAggregate = df_districtVoucherSpecialEdAggregate.groupby('District No.').sum()\n", "df_districtVoucherSpecialEdAggregate = df_districtVoucherSpecialEdAggregate.reset_index()\n", "df_districtVoucherSpecialEdAggregate\n", "\n", "# Recalculate special ed ratio\n", "df_districtVoucherSpecialEdAggregate['Special ed ratio 2016'] = np.vectorize(calcPerc)(df_districtVoucherSpecialEdAggregate['Special ed enrollment 2016'],df_districtVoucherSpecialEdAggregate['Total enrollment 2016'])\n", "# df_districtVoucherSpecialEdAggregate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Public school special ed enrollment " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", " | District No. | \n", "District Name | \n", "Public special ed enrollment 2016 | \n", "Public special ed ratio 2016 | \n", "Public total enrollment 2016 | \n", "Special ed enrollment 2016 | \n", "Total enrollment 2016 | \n", "Special ed ratio 2016 | \n", "
---|---|---|---|---|---|---|---|---|
0 | \n", "15 | \n", "Adams Central Community Schools | \n", "132 | \n", "10.48 | \n", "1259 | \n", "25.0 | \n", "297.0 | \n", "8.42 | \n", "
1 | \n", "25 | \n", "North Adams Community Schools | \n", "260 | \n", "14.37 | \n", "1809 | \n", "75.0 | \n", "1069.0 | \n", "7.02 | \n", "
2 | \n", "35 | \n", "South Adams Schools | \n", "195 | \n", "15.02 | \n", "1298 | \n", "114.0 | \n", "1012.0 | \n", "11.26 | \n", "
3 | \n", "125 | \n", "M S D Southwest Allen County Schls | \n", "565 | \n", "7.86 | \n", "7190 | \n", "629.0 | \n", "9483.0 | \n", "6.63 | \n", "
4 | \n", "225 | \n", "Northwest Allen County Schools | \n", "887 | \n", "12.05 | \n", "7362 | \n", "677.0 | \n", "10389.0 | \n", "6.52 | \n", "
5 | \n", "235 | \n", "Fort Wayne Community Schools | \n", "4514 | \n", "15.37 | \n", "29377 | \n", "849.0 | \n", "13046.0 | \n", "6.51 | \n", "
6 | \n", "255 | \n", "East Allen County Schools | \n", "1113 | \n", "11.63 | \n", "9569 | \n", "824.0 | \n", "12617.0 | \n", "6.53 | \n", "
7 | \n", "365 | \n", "Bartholomew Con School Corp | \n", "1431 | \n", "12.38 | \n", "11562 | \n", "224.0 | \n", "3058.0 | \n", "7.33 | \n", "
8 | \n", "370 | \n", "Flat Rock-Hawcreek School Corp | \n", "124 | \n", "14.37 | \n", "863 | \n", "60.0 | \n", "1025.0 | \n", "5.85 | \n", "
9 | \n", "395 | \n", "Benton Community School Corp | \n", "438 | \n", "23.41 | \n", "1871 | \n", "243.0 | \n", "2362.0 | \n", "10.29 | \n", "
10 | \n", "515 | \n", "Blackford County Schools | \n", "285 | \n", "16.69 | \n", "1708 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
11 | \n", "615 | \n", "Western Boone Co Com Sch Dist | \n", "279 | \n", "16.33 | \n", "1709 | \n", "51.0 | \n", "616.0 | \n", "8.28 | \n", "
12 | \n", "630 | \n", "Zionsville Community Schools | \n", "813 | \n", "11.73 | \n", "6931 | \n", "301.0 | \n", "6048.0 | \n", "4.98 | \n", "
13 | \n", "665 | \n", "Lebanon Community School Corp | \n", "639 | \n", "18.61 | \n", "3434 | \n", "265.0 | \n", "3406.0 | \n", "7.78 | \n", "
14 | \n", "670 | \n", "Brown County School Corporation | \n", "493 | \n", "24.64 | \n", "2001 | \n", "254.0 | \n", "3214.0 | \n", "7.90 | \n", "
15 | \n", "750 | \n", "Carroll Consolidated School Corp | \n", "108 | \n", "9.73 | \n", "1110 | \n", "195.0 | \n", "1877.0 | \n", "10.39 | \n", "
16 | \n", "755 | \n", "Delphi Community School Corp | \n", "154 | \n", "10.91 | \n", "1411 | \n", "283.0 | \n", "3035.0 | \n", "9.32 | \n", "
17 | \n", "775 | \n", "Pioneer Regional School Corp | \n", "107 | \n", "11.75 | \n", "911 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
18 | \n", "815 | \n", "Southeastern School Corp | \n", "143 | \n", "10.68 | \n", "1339 | \n", "38.0 | \n", "267.0 | \n", "14.23 | \n", "
19 | \n", "875 | \n", "Logansport Community Sch Corp | \n", "499 | \n", "11.73 | \n", "4254 | \n", "1.0 | \n", "127.0 | \n", "0.79 | \n", "
20 | \n", "940 | \n", "West Clark Community Schools | \n", "670 | \n", "14.07 | \n", "4761 | \n", "208.0 | \n", "3076.0 | \n", "6.76 | \n", "
21 | \n", "1000 | \n", "Clarksville Community School Corp | \n", "236 | \n", "16.83 | \n", "1402 | \n", "187.0 | \n", "2733.0 | \n", "6.84 | \n", "
22 | \n", "1010 | \n", "Greater Clark County Schools | \n", "1718 | \n", "16.29 | \n", "10544 | \n", "208.0 | \n", "2983.0 | \n", "6.97 | \n", "
23 | \n", "1125 | \n", "Clay Community Schools | \n", "865 | \n", "20.46 | \n", "4228 | \n", "4.0 | \n", "462.0 | \n", "0.87 | \n", "
24 | \n", "1150 | \n", "Clinton Central School Corporation | \n", "108 | \n", "11.66 | \n", "926 | \n", "63.0 | \n", "745.0 | \n", "8.46 | \n", "
25 | \n", "1160 | \n", "Clinton Prairie School Corporation | \n", "161 | \n", "13.39 | \n", "1202 | \n", "212.0 | \n", "2333.0 | \n", "9.09 | \n", "
26 | \n", "1170 | \n", "Community Schools of Frankfort | \n", "408 | \n", "12.78 | \n", "3193 | \n", "164.0 | \n", "2531.0 | \n", "6.48 | \n", "
27 | \n", "1180 | \n", "Rossville Con School District | \n", "108 | \n", "10.88 | \n", "993 | \n", "179.0 | \n", "2043.0 | \n", "8.76 | \n", "
28 | \n", "1300 | \n", "Crawford County Community Sch Corp | \n", "317 | \n", "20.39 | \n", "1555 | \n", "19.0 | \n", "743.0 | \n", "2.56 | \n", "
29 | \n", "1315 | \n", "Barr-Reeve Community Schools Inc | \n", "87 | \n", "10.61 | \n", "820 | \n", "16.0 | \n", "172.0 | \n", "9.30 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
361 | \n", "9840 | \n", "Excel Center - University Heights | \n", "44 | \n", "11.28 | \n", "390 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
362 | \n", "9845 | \n", "Xavier School of Excellence | \n", "38 | \n", "17.76 | \n", "214 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
363 | \n", "9855 | \n", "Excel Center - Noblesville | \n", "26 | \n", "13.13 | \n", "198 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
364 | \n", "9865 | \n", "Hoosier Acad Virtual Charter | \n", "435 | \n", "13.02 | \n", "3342 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
365 | \n", "9870 | \n", "Discovery Charter School | \n", "67 | \n", "12.93 | \n", "518 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
366 | \n", "9875 | \n", "Rock Creek Community Academy | \n", "141 | \n", "27.81 | \n", "507 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
367 | \n", "9880 | \n", "Career Academy High School | \n", "68 | \n", "25.56 | \n", "266 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
368 | \n", "9885 | \n", "Gary Middle College | \n", "20 | \n", "8.44 | \n", "237 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
369 | \n", "9890 | \n", "Indiana Virtual School | \n", "222 | \n", "7.53 | \n", "2947 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
370 | \n", "9895 | \n", "IN Math & Science Academy - North | \n", "84 | \n", "15.14 | \n", "555 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
371 | \n", "9900 | \n", "Excel Center - South Bend | \n", "10 | \n", "2.78 | \n", "360 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
372 | \n", "9905 | \n", "Indiana Connections Academy | \n", "631 | \n", "15.65 | \n", "4032 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
373 | \n", "9910 | \n", "Excel Center for Adult Learners | \n", "103 | \n", "9.94 | \n", "1036 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
374 | \n", "9915 | \n", "Marion Academy | \n", "47 | \n", "27.65 | \n", "170 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
375 | \n", "9920 | \n", "Damar Charter Academy | \n", "160 | \n", "97.56 | \n", "164 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
376 | \n", "9925 | \n", "Phalen Leadership Academy - IN Inc | \n", "23 | \n", "7.42 | \n", "310 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
377 | \n", "9930 | \n", "Nexus Academy of Indianapolis | \n", "22 | \n", "16.92 | \n", "130 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
378 | \n", "9935 | \n", "Vision Academy | \n", "74 | \n", "16.86 | \n", "439 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
379 | \n", "9940 | \n", "Tindley Collegiate Academy | \n", "34 | \n", "12.64 | \n", "269 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
380 | \n", "9945 | \n", "Tindley Renaissance Academy | \n", "52 | \n", "9.56 | \n", "544 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
381 | \n", "9950 | \n", "Dugger Union Community School Corp | \n", "42 | \n", "13.73 | \n", "306 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
382 | \n", "9955 | \n", "Mays Community Academy | \n", "39 | \n", "21.67 | \n", "180 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
383 | \n", "9960 | \n", "Success Academy Primary School | \n", "83 | \n", "17.47 | \n", "475 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
384 | \n", "9965 | \n", "Career Academy Middle School | \n", "83 | \n", "20.80 | \n", "399 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
385 | \n", "9970 | \n", "ACE Preparatory Academy | \n", "2 | \n", "5.56 | \n", "36 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
386 | \n", "9975 | \n", "Global Preparatory Academy | \n", "22 | \n", "8.18 | \n", "269 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
387 | \n", "9980 | \n", "Steel City Academy | \n", "23 | \n", "15.13 | \n", "152 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
388 | \n", "9985 | \n", "Seven Oaks Classical School | \n", "20 | \n", "12.42 | \n", "161 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
389 | \n", "9990 | \n", "Heritage Institute of Arts & Tech | \n", "18 | \n", "11.76 | \n", "153 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
390 | \n", "9995 | \n", "Excel Center - Shelbyville | \n", "3 | \n", "3.57 | \n", "84 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
391 rows × 8 columns
\n", "