{ "metadata": { "name": "", "signature": "sha256:ebbce2533c115a5f239a2ba321958ff65be553be55d64725dd71095c83fc99e8" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 2014 Phillies Games Broadcast on National Television\n", "\n", "I like watching the Phillies. I do not have cable. Some Phillies games are broadcast on national television. This is how I made a list of those games.\n", "\n", "## [Pandas](http://pandas.pydata.org/)\n", "\n", "Pandas is a data analysis tool for the [Python](https://www.python.org/) programming language. It can do a tremendous amount of really powerful data analysis and visualization. It's a gun in this CSV knife fight." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "A downloadable [CSV schedule](http://philadelphia.phillies.mlb.com/schedule/downloadable.jsp?c_id=phi&year=2014) is available from [mlb.com](http://mlb.com). Here is a [direct link](http://mlb.mlb.com/soa/ical/schedule.csv?team_id=143&season=2014&game_type=%27R%27) to the Phillies schedule.\n", "\n", "The CSV schedule will be used to instantiate a Pandas [DataFrame](http://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.DataFrame.html) object." ] }, { "cell_type": "code", "collapsed": false, "input": [ "schedule = pd.DataFrame.from_csv(\"phillies.csv\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What does the schedule metadata look like?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "schedule.info()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "DatetimeIndex: 162 entries, 2014-03-31 00:00:00 to 2014-09-28 00:00:00\n", "Data columns (total 16 columns):\n", "START_TIME 162 non-null object\n", "START_TIME_ET 162 non-null object\n", "SUBJECT 162 non-null object\n", "LOCATION 162 non-null object\n", "DESCRIPTION 162 non-null object\n", "END_DATE 162 non-null object\n", "END_DATE_ET 162 non-null object\n", "END_TIME 162 non-null object\n", "END_TIME_ET 162 non-null object\n", "REMINDER_OFF 162 non-null bool\n", "REMINDER_ON 162 non-null bool\n", "REMINDER_DATE 162 non-null object\n", "REMINDER_TIME 162 non-null object\n", "REMINDER_TIME_ET 162 non-null object\n", "SHOWTIMEAS_FREE 162 non-null object\n", "SHOWTIMEAS_BUSY 162 non-null object\n", "dtypes: bool(2), object(14)" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "162 games and 16 columns of data for each game. \n", "\n", "## What does the schedule data itself look like?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "schedule.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
START_TIMESTART_TIME_ETSUBJECTLOCATIONDESCRIPTIONEND_DATEEND_DATE_ETEND_TIMEEND_TIME_ETREMINDER_OFFREMINDER_ONREMINDER_DATEREMINDER_TIMEREMINDER_TIME_ETSHOWTIMEAS_FREESHOWTIMEAS_BUSY
START_DATE
2014-03-31 02:05 PM 02:05 PM Phillies at Rangers Globe Life Park in Arlington Local TV: CSN ----- Local Radio: 94 WIP -- SBP... 03/31/14 03/31/14 05:05 PM 05:05 PM False True 03/31/14 01:05 PM 01:05 PM FREE BUSY
2014-04-01 08:05 PM 08:05 PM Phillies at Rangers Globe Life Park in Arlington Local TV: TCN ----- Local Radio: 94 WIP -- SBP... 04/01/14 04/01/14 11:05 PM 11:05 PM False True 04/01/14 07:05 PM 07:05 PM FREE BUSY
2014-04-02 08:05 PM 08:05 PM Phillies at Rangers Globe Life Park in Arlington Local TV: ESPN2 -- TCN ----- Local Radio: 94 W... 04/02/14 04/02/14 11:05 PM 11:05 PM False True 04/02/14 07:05 PM 07:05 PM FREE BUSY
2014-04-04 02:20 PM 02:20 PM Phillies at Cubs Wrigley Field Local TV: MLBN -- CSN ----- Local Radio: 94 WI... 04/04/14 04/04/14 05:20 PM 05:20 PM False True 04/04/14 01:20 PM 01:20 PM FREE BUSY
2014-04-05 02:20 PM 02:20 PM Phillies at Cubs Wrigley Field Local TV: TCN ----- Local Radio: 94 WIP -- 121... 04/05/14 04/05/14 05:20 PM 05:20 PM False True 04/05/14 01:20 PM 01:20 PM FREE BUSY
\n", "

5 rows \u00d7 16 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ " START_TIME START_TIME_ET SUBJECT \\\n", "START_DATE \n", "2014-03-31 02:05 PM 02:05 PM Phillies at Rangers \n", "2014-04-01 08:05 PM 08:05 PM Phillies at Rangers \n", "2014-04-02 08:05 PM 08:05 PM Phillies at Rangers \n", "2014-04-04 02:20 PM 02:20 PM Phillies at Cubs \n", "2014-04-05 02:20 PM 02:20 PM Phillies at Cubs \n", "\n", " LOCATION \\\n", "START_DATE \n", "2014-03-31 Globe Life Park in Arlington \n", "2014-04-01 Globe Life Park in Arlington \n", "2014-04-02 Globe Life Park in Arlington \n", "2014-04-04 Wrigley Field \n", "2014-04-05 Wrigley Field \n", "\n", " DESCRIPTION END_DATE \\\n", "START_DATE \n", "2014-03-31 Local TV: CSN ----- Local Radio: 94 WIP -- SBP... 03/31/14 \n", "2014-04-01 Local TV: TCN ----- Local Radio: 94 WIP -- SBP... 04/01/14 \n", "2014-04-02 Local TV: ESPN2 -- TCN ----- Local Radio: 94 W... 04/02/14 \n", "2014-04-04 Local TV: MLBN -- CSN ----- Local Radio: 94 WI... 04/04/14 \n", "2014-04-05 Local TV: TCN ----- Local Radio: 94 WIP -- 121... 04/05/14 \n", "\n", " END_DATE_ET END_TIME END_TIME_ET REMINDER_OFF REMINDER_ON \\\n", "START_DATE \n", "2014-03-31 03/31/14 05:05 PM 05:05 PM False True \n", "2014-04-01 04/01/14 11:05 PM 11:05 PM False True \n", "2014-04-02 04/02/14 11:05 PM 11:05 PM False True \n", "2014-04-04 04/04/14 05:20 PM 05:20 PM False True \n", "2014-04-05 04/05/14 05:20 PM 05:20 PM False True \n", "\n", " REMINDER_DATE REMINDER_TIME REMINDER_TIME_ET SHOWTIMEAS_FREE \\\n", "START_DATE \n", "2014-03-31 03/31/14 01:05 PM 01:05 PM FREE \n", "2014-04-01 04/01/14 07:05 PM 07:05 PM FREE \n", "2014-04-02 04/02/14 07:05 PM 07:05 PM FREE \n", "2014-04-04 04/04/14 01:20 PM 01:20 PM FREE \n", "2014-04-05 04/05/14 01:20 PM 01:20 PM FREE \n", "\n", " SHOWTIMEAS_BUSY \n", "START_DATE \n", "2014-03-31 BUSY \n", "2014-04-01 BUSY \n", "2014-04-02 BUSY \n", "2014-04-04 BUSY \n", "2014-04-05 BUSY \n", "\n", "[5 rows x 16 columns]" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cleaning up the schedule\n", "\n", "The `DESCRIPTION` column contains the broadcast information. Less interesting columns can be removed." ] }, { "cell_type": "code", "collapsed": false, "input": [ "schedule.drop([\"REMINDER_OFF\", \n", " \"REMINDER_ON\",\n", " \"START_TIME_ET\",\n", " \"END_DATE\",\n", " \"END_DATE_ET\",\n", " \"END_TIME\",\n", " \"END_TIME_ET\",\n", " \"REMINDER_TIME\",\n", " \"REMINDER_TIME_ET\",\n", " \"SHOWTIMEAS_FREE\",\n", " \"SHOWTIMEAS_BUSY\",\n", " \"REMINDER_DATE\"], axis=1, inplace=True)\n", "schedule.head()" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
START_TIMESUBJECTLOCATIONDESCRIPTION
START_DATE
2014-03-31 02:05 PM Phillies at Rangers Globe Life Park in Arlington Local TV: CSN ----- Local Radio: 94 WIP -- SBP...
2014-04-01 08:05 PM Phillies at Rangers Globe Life Park in Arlington Local TV: TCN ----- Local Radio: 94 WIP -- SBP...
2014-04-02 08:05 PM Phillies at Rangers Globe Life Park in Arlington Local TV: ESPN2 -- TCN ----- Local Radio: 94 W...
2014-04-04 02:20 PM Phillies at Cubs Wrigley Field Local TV: MLBN -- CSN ----- Local Radio: 94 WI...
2014-04-05 02:20 PM Phillies at Cubs Wrigley Field Local TV: TCN ----- Local Radio: 94 WIP -- 121...
\n", "

5 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ " START_TIME SUBJECT LOCATION \\\n", "START_DATE \n", "2014-03-31 02:05 PM Phillies at Rangers Globe Life Park in Arlington \n", "2014-04-01 08:05 PM Phillies at Rangers Globe Life Park in Arlington \n", "2014-04-02 08:05 PM Phillies at Rangers Globe Life Park in Arlington \n", "2014-04-04 02:20 PM Phillies at Cubs Wrigley Field \n", "2014-04-05 02:20 PM Phillies at Cubs Wrigley Field \n", "\n", " DESCRIPTION \n", "START_DATE \n", "2014-03-31 Local TV: CSN ----- Local Radio: 94 WIP -- SBP... \n", "2014-04-01 Local TV: TCN ----- Local Radio: 94 WIP -- SBP... \n", "2014-04-02 Local TV: ESPN2 -- TCN ----- Local Radio: 94 W... \n", "2014-04-04 Local TV: MLBN -- CSN ----- Local Radio: 94 WI... \n", "2014-04-05 Local TV: TCN ----- Local Radio: 94 WIP -- 121... \n", "\n", "[5 rows x 4 columns]" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What are all of the stations that games are broadcast on this season?\n", "\n", "The `DESCRIPTION` column is nice because it mentions the stations that games are broadcast on. Sometimes a game is broadcast on two channels at once. There is also radio broadcast information that I'm not interested in right now." ] }, { "cell_type": "code", "collapsed": false, "input": [ "schedule.DESCRIPTION.head()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "START_DATE\n", "2014-03-31 Local TV: CSN ----- Local Radio: 94 WIP -- SBP...\n", "2014-04-01 Local TV: TCN ----- Local Radio: 94 WIP -- SBP...\n", "2014-04-02 Local TV: ESPN2 -- TCN ----- Local Radio: 94 W...\n", "2014-04-04 Local TV: MLBN -- CSN ----- Local Radio: 94 WI...\n", "2014-04-05 Local TV: TCN ----- Local Radio: 94 WIP -- 121...\n", "Name: DESCRIPTION, dtype: object" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Parse television station broadcast channels from `DESCRIPTION`\n", "\n", "Thankfully, the `DESCRIPTION` column data is parseable. Getting a list of television broadcast stations for each game is not difficult. Picking a game that is broadcast on multiple channels should cover all cases." ] }, { "cell_type": "code", "collapsed": false, "input": [ "description = schedule.DESCRIPTION[2]\n", "print description" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Local TV: ESPN2 -- TCN ----- Local Radio: 94 WIP -- 1210 WPHT\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "def tv_stations_from_description(description):\n", " \"\"\"Return a list of television stations embedded in the given description.\"\"\"\n", " return [station.strip() for station in description.split(\":\")[1].split(\"-----\")[0].split(\"--\")]\n", "\n", "result = tv_stations_from_description(description)\n", "print result\n", "assert(len(result) == 2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['ESPN2', 'TCN']\n" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Picking a game broadcast on a single channel to test the parsing function." ] }, { "cell_type": "code", "collapsed": false, "input": [ "description = schedule.DESCRIPTION[0]\n", "print description\n", "result = tv_stations_from_description(description)\n", "print result\n", "assert(len(result) == 1)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Local TV: CSN ----- Local Radio: 94 WIP -- SBP 1480 -- 1210 WPHT\n", "['CSN']\n" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Applying this function to the DataFrame yields a [`Series`](http://pandas.pydata.org/pandas-docs/stable/dsintro.html#series) of all television stations on which the Phillies are broadcast this season." ] }, { "cell_type": "code", "collapsed": false, "input": [ "stations_series = schedule.DESCRIPTION.apply(\n", " lambda description: [station.strip() for station in \n", " description.split(\":\")[1].split(\"-----\")[0].split(\"--\")])\n", "stations_series" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "START_DATE\n", "2014-03-31 [CSN]\n", "2014-04-01 [TCN]\n", "2014-04-02 [ESPN2, TCN]\n", "2014-04-04 [MLBN, CSN]\n", "2014-04-05 [TCN]\n", "2014-04-06 [CSN]\n", "2014-04-08 [NBC 10]\n", "2014-04-09 [TCN]\n", "2014-04-10 [TCN, MLBN]\n", "2014-04-11 [TCN]\n", "2014-04-12 [NBC 10]\n", "2014-04-13 [TCN]\n", "2014-04-14 [TCN, ESPN]\n", "2014-04-15 [MLBN, CSN]\n", "2014-04-16 [TCN]\n", "...\n", "2014-09-13 [CSN]\n", "2014-09-14 [CSN]\n", "2014-09-15 [CSN]\n", "2014-09-16 [CSN]\n", "2014-09-17 [CSN]\n", "2014-09-18 [CSN]\n", "2014-09-19 [CSN]\n", "2014-09-20 [CSN]\n", "2014-09-21 [CSN]\n", "2014-09-23 [CSN]\n", "2014-09-24 [CSN]\n", "2014-09-25 [CSN]\n", "2014-09-26 [CSN]\n", "2014-09-27 [CSN]\n", "2014-09-28 [CSN]\n", "Name: DESCRIPTION, Length: 162" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Creating a `set` of stations from that `Series` will yield a concise list of distinct television broadcast stations." ] }, { "cell_type": "code", "collapsed": false, "input": [ "set([station for stations in stations_series.values for station in stations])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "{'CSN', 'ESPN', 'ESPN2', 'FOX', 'MLBN', 'NBC 10', 'TCN'}" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 162 regular season Phillies games are broadcast on 7 television channels. Unfortunately only 2 of those 7 stations are available without a cable television subscription. This means that I can only watch games on NBC and FOX.\n", "\n", "## The Phillies national television broadcast schedule\n", "\n", "Filtering the `DESCRIPTION` column to national television broadcast stations yields only the games which I can watch over the air with my [HD antenna](http://amzn.to/1r5eZmQ)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "schedule[(schedule.DESCRIPTION.str.contains(\"NBC 10\")) | \n", " (schedule.DESCRIPTION.str.contains(\"FOX\"))]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
START_TIMESUBJECTLOCATIONDESCRIPTION
START_DATE
2014-04-08 04:05 PM Brewers at Phillies Citizens Bank Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-04-12 07:05 PM Marlins at Phillies Citizens Bank Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-05-23 07:05 PM Dodgers at Phillies Citizens Bank Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-06-06 07:10 PM Phillies at Reds Great American Ball Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-06-18 12:10 PM Phillies at Braves Turner Field Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-07-05 04:05 PM Phillies at Pirates PNC Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-07-12 07:15 PM Nationals at Phillies Citizens Bank Park Local TV: FOX ----- Local Radio: 94 WIP -- 121...
2014-07-19 07:10 PM Phillies at Braves Turner Field Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-07-26 07:05 PM D-backs at Phillies Citizens Bank Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-08-02 07:05 PM Phillies at Nationals Nationals Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-08-09 07:05 PM Mets at Phillies Citizens Bank Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-08-22 07:05 PM Cardinals at Phillies Citizens Bank Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
2014-09-05 07:05 PM Phillies at Nationals Nationals Park Local TV: NBC 10 ----- Local Radio: 94 WIP -- ...
\n", "

13 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ " START_TIME SUBJECT LOCATION \\\n", "START_DATE \n", "2014-04-08 04:05 PM Brewers at Phillies Citizens Bank Park \n", "2014-04-12 07:05 PM Marlins at Phillies Citizens Bank Park \n", "2014-05-23 07:05 PM Dodgers at Phillies Citizens Bank Park \n", "2014-06-06 07:10 PM Phillies at Reds Great American Ball Park \n", "2014-06-18 12:10 PM Phillies at Braves Turner Field \n", "2014-07-05 04:05 PM Phillies at Pirates PNC Park \n", "2014-07-12 07:15 PM Nationals at Phillies Citizens Bank Park \n", "2014-07-19 07:10 PM Phillies at Braves Turner Field \n", "2014-07-26 07:05 PM D-backs at Phillies Citizens Bank Park \n", "2014-08-02 07:05 PM Phillies at Nationals Nationals Park \n", "2014-08-09 07:05 PM Mets at Phillies Citizens Bank Park \n", "2014-08-22 07:05 PM Cardinals at Phillies Citizens Bank Park \n", "2014-09-05 07:05 PM Phillies at Nationals Nationals Park \n", "\n", " DESCRIPTION \n", "START_DATE \n", "2014-04-08 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-04-12 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-05-23 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-06-06 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-06-18 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-07-05 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-07-12 Local TV: FOX ----- Local Radio: 94 WIP -- 121... \n", "2014-07-19 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-07-26 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-08-02 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-08-09 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-08-22 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "2014-09-05 Local TV: NBC 10 ----- Local Radio: 94 WIP -- ... \n", "\n", "[13 rows x 4 columns]" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This means that I have the possibility to watch 13 out of 162 regular season Phillies games this season which is roughly 8%." ] } ], "metadata": {} } ] }