{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Apollo 13 Transcript Exploratory Analysis\n", "\n", "The goal is to examine the transcript from the Apollo 13 mission to see if any interesting insights can be gleamed. The Apollo 13 was the famous mission to the moon that almost ended in disaster when an oxygen tank on board exploded." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from nltk.corpus import stopwords\n", "from nltk.util import ngrams\n", "import string\n", "from collections import Counter" ] }, { "cell_type": "code", "execution_count": 2, "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", "
timespeakertext
0000:00:02CDRThe clock is running.
1000:00:03CMPOkay. P11, Jim.
2000:00:05CDRYaw program.
3000:00:12CMPClear the tower.
4000:00:14CDRYaw complete. Roll program.
\n", "
" ], "text/plain": [ " time speaker text\n", "0 000:00:02 CDR The clock is running.\n", "1 000:00:03 CMP Okay. P11, Jim.\n", "2 000:00:05 CDR Yaw program.\n", "3 000:00:12 CMP Clear the tower.\n", "4 000:00:14 CDR Yaw complete. Roll program." ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_table('cleanedData.txt')\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, lets take a look at how many messages were sent by each speaker in descending order." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "speaker\n", "CC 4805\n", "CDR 2333\n", "LMP 1942\n", "CMP 1732\n", "F 21\n", "SC 20\n", "R 10\n", "IWO 6\n", "S-2 2\n", "S-l 1\n", "S-1 1\n", "R-l 1\n", "P-l 1\n", "P-1 1\n", "dtype: int64\n" ] } ], "source": [ "speakerCounts = df.groupby('speaker').size().sort_values(ascending = False)\n", "print speakerCounts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On lines 76-93 of the original text file lists the meaning of these acronyms.\n", "\n", "Spacecraft:\n", "* CDR - Commander - James A. (Jim) Lovell, Jr.\n", "* CMP - Command module pilot - John L. Swigert, Jr.\n", "* LMP - Lunar module pilot - Fred W. Haise, Jr.\n", "* SC - Unidentified crewmember\n", "\n", "Mission Control Centers:\n", "* CC - Capsule communicator (CAP COMM)\n", "* F - Flight director\n", "* S - Surgeon\n", "\n", "Remote sites:\n", "* IWO - USS Iwo Jima\n", "* P-l, P-2, etc. Photographic helicopters\n", "* R-l, R-2, etc. Recovery helicopters\n", "\n", "The multiples of S-1/S-L and P-1/P-L are most likely just transcription errors where an L was used instead of a 1.\n", "\n", "The messages from the astronauts and the Cap Comm seem to dwarf everything else, so lets make a bar plot of using only that data." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "speakerCounts = speakerCounts.iloc[0:4]\n", "xPos = range(len(speakerCounts)) # create a range of numbers for each bar in bar plot\n", "\n", "plt.bar(xPos, speakerCounts,\n", " color='#0B3D91', # NASA blue\n", " align='center',\n", " linewidth=0, \n", " width=0.6,\n", " zorder=2)\n", "\n", "names = ['Cap Com', 'Jim Lovell', 'John Swigert', 'Fred Haise']\n", "plt.xticks(xPos, names) # placing name labels\n", "plt.tick_params(axis=\"both\", which=\"both\", bottom=\"off\", top=\"off\", labelbottom=\"on\", left=\"off\", right=\"off\", labelleft=\"on\") # removing tick marks \n", "plt.title('Total Messages per Speaker') # add title\n", "\n", "# removing borders\n", "ax = plt.gca()\n", "ax.spines[\"top\"].set_visible(False) \n", "ax.spines[\"bottom\"].set_visible(False) \n", "ax.spines[\"right\"].set_visible(False) \n", "ax.spines[\"left\"].set_visible(False) \n", "\n", "# adding labels on each bar\n", "rects = ax.patches\n", "labels = speakerCounts\n", "for rect, label in zip(rects, labels):\n", " height = rect.get_height()\n", " ax.text(rect.get_x() + rect.get_width()/2, height-50, label, ha='center', va='top', color='white')\n", " \n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I defined a few more columns to make dealing with time throughout the notebook a little easier. One being the total time elapsed in seconds, the other being what hour of the mission it is." ] }, { "cell_type": "code", "execution_count": 5, "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", "
timespeakertextsecondshour
0000:00:02CDRThe clock is running.20
1000:00:03CMPOkay. P11, Jim.30
2000:00:05CDRYaw program.50
3000:00:12CMPClear the tower.120
4000:00:14CDRYaw complete. Roll program.140
\n", "
" ], "text/plain": [ " time speaker text seconds hour\n", "0 000:00:02 CDR The clock is running. 2 0\n", "1 000:00:03 CMP Okay. P11, Jim. 3 0\n", "2 000:00:05 CDR Yaw program. 5 0\n", "3 000:00:12 CMP Clear the tower. 12 0\n", "4 000:00:14 CDR Yaw complete. Roll program. 14 0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['seconds'] = df.time.str.split(':').apply( lambda x: int(x[0]) * 3600 + int(x[1]) * 60 + int(x[2]) )\n", "df['hour'] = df.time.str.split(':').apply( lambda x: int(x[0]) )\n", "\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next thing I wanted to look at was the length of each message to see if there was any difference after the explosion and to get a general idea of the timeline of messages." ] }, { "cell_type": "code", "execution_count": 6, "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", "
timespeakertextsecondshourlength
0000:00:02CDRThe clock is running.2021
1000:00:03CMPOkay. P11, Jim.3015
2000:00:05CDRYaw program.5012
3000:00:12CMPClear the tower.12016
4000:00:14CDRYaw complete. Roll program.14027
\n", "
" ], "text/plain": [ " time speaker text seconds hour length\n", "0 000:00:02 CDR The clock is running. 2 0 21\n", "1 000:00:03 CMP Okay. P11, Jim. 3 0 15\n", "2 000:00:05 CDR Yaw program. 5 0 12\n", "3 000:00:12 CMP Clear the tower. 12 0 16\n", "4 000:00:14 CDR Yaw complete. Roll program. 14 0 27" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['length'] = df.text.str.len() # adding a column to dataframe to represent length of each message\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before I plot I wanted to find the famous \"Houston, we've had a problem\" message so I could highlight it in the plot. This is the point where the one of the spacecrafts oxygen tanks blew up." ] }, { "cell_type": "code", "execution_count": 7, "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", "
timespeakertextsecondshourlength
2199055:55:35CDRHouston, we've had a problem. We've had a MAIN...2013355563
\n", "
" ], "text/plain": [ " time speaker text \\\n", "2199 055:55:35 CDR Houston, we've had a problem. We've had a MAIN... \n", "\n", " seconds hour length \n", "2199 201335 55 63 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "problem = df[df.text == \"Houston, we've had a problem. We've had a MAIN B BUS UNDERVOLT.\"]\n", "problem # print" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(df.seconds, df.length,\n", " marker = '.', \n", " color = '#0B3D91',\n", " s = 1)\n", "plt.xlabel('Seconds into mission') # add xlabel\n", "plt.ylabel('Length of message') # ylabel\n", "plt.tick_params(axis=\"both\", which=\"both\", bottom=\"on\", top=\"off\", labelbottom=\"on\", left=\"on\", right=\"on\", labelleft=\"on\") # removing top tick marks \n", "\n", "# removing borders\n", "ax = plt.gca()\n", "ax.spines[\"top\"].set_visible(False) \n", "ax.spines[\"bottom\"].set_visible(False) \n", "ax.spines[\"right\"].set_visible(False) \n", "ax.spines[\"left\"].set_visible(False) \n", "\n", "plt.scatter(problem.seconds,problem.length,\n", " marker = '.',\n", " color = 'red', # change color to red to stand out\n", " s = 30) # make size larger to stand out\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Next, I wanted to create a histogram to look at the message frequency. I opted to create bins for each hour of the mission." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "dfByHour = pd.DataFrame(df.groupby('hour').size(), columns = ['totalMessages']) # create new DF for data grouped by hour\n", "newIndex = [x for x in range(df.hour.min(), df.hour.max() + 1)] # create new index so for accurate bar plot\n", "dfByHour = dfByHour.reindex(newIndex, fill_value = 0) # assign new index" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now for plotting (I'll highlight the hour where the explosion occured):" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "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\nr0evvB/WY2LUY+PqxaxdNGtA3nVLLmLD8hvHTT0Gez9GIoqOgs6LiC8DBwH7ZOayYeRfCXw6M2dF\nxP7AlcCz6ns7IuJu4IzMPGuQ03RH5Se4+u7HibJBTqfY1lK1hju8Mk6/jzHSJ3RFT0cZcLwT2H+Y\nAccLgGcDfyiTbgE2AgfU5dkd2Bm4ccAJJElS5To+pyMizqVY/loDHouISeWhhzJzbURsA0ynmNOx\nHNgNmAHcAVwOkJkPR8Rs4PSIWA08ApwN3ODKFUmSukPHgw7gSIphjmsa0qcCFwKbgJcDh1GsbLmf\nItj4bGZuqMt/XJn3YmAr4DJg2lgWXJIkDV/Hg47MHHKIJzPXAm8dxnnWAUeXN0mS1GW6Yk6HJEnq\nfQYdkiSpEh0fXpEkDa1x2eU4XV4p2dMhSZKqYdAhSZIqYdAhSZIqYdAhSZIqYdAhSZIqYdAhSZIq\nYdAhSZIqYdAhSZIqYdAhSZIqYdAhSZIqYdAhSZIqYdAhSZIqYdAhSZIqYdAhSZIq4aXtJY0r9Zd5\n9xLv0vhiT4ckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYck\nSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqEQYckSaqE\nQYckSaqEQYckSaqEQYckSaqEQYckSapEx4OOiPhURNwcEQ9HxIqI+EFEvKRJvpMj4v6IWBMRV0TE\nbg3Ht4qIcyJiVUQ8EhEXR8QO1dVEkiQNpeNBB7APMBN4NfBG4GnA/Ih4Rl+GiPgkcBRwBLA38Bhw\neURsWXeeM4G3AwcD+wI7Ad+rogKSJOnJPbXTBcjMA+sfR8QHgZXAXsCCMvlY4JTM/HGZ5zBgBfAu\nYG5EbAd8CDgkM68t80wFbouIvTPz5irqIkmSBtcNPR2NtgcSeBAgInYFdgSu6suQmQ8DNwGTy6RX\nUQRQ9XluB5bV5ZEkSR3UVUFHRATFMMmCzPxdmbwjRRCyoiH7ivIYwCRgfRmMDJZHkiR1UMeHVxqc\nC7wUeF2nCyJJktqra3o6IuLLwIHAGzLzD3WHlgNB0ZtRb1J5rC/PluXcjsHyDHD00Uez8847U6vV\n+t0mT57MvHnz+uWdP38+tVptwDmmTZvG7Nmz+6UtXLiQWq3GqlWr+qVPnz6dGTNm9EtbtmwZtVqN\n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\nbdDxhujgG/AR4G6KpWE3Aq/qdJnGqJ6bKX7dNd4Oa8h3EkVkuwa4HNit02Uf43a5mrqgYyK0Qfmf\n7a1l/RYBH2qSp2fboPyje3r5R/Ox8j/WzwFP7eU2oBhKbPZ34OvDrTOwFcV+P6sogtWLgB06Xbd2\ntAFFANp4rO/xvhOhDQbJv7RJ0DHqNvCCb5IkqRITbk6HJEnqDIMOSZJUCYMOSZJUCYMOSZJUCYMO\nSZJUCYMOSZJUCYMOSZJUCYMOSZJUCYMOSZJUCYMOSWMmIs6PiO83Sd8vIjY3uWKlpB5m0CGpU8b0\nGgzllUMldRGDDkkdFxEHR8RvI2JtRNwVER9rOL45ImoNaasj4rDy/i5lnvdFxDURsYbiSrqSuoi/\nBCR1Qjx+J2Iv4L+BzwJzgdcCX4mIVZl54QjP+x/Ax4BfAWvbVFZJbWLQIWmsHRQRjzSkbVF3/zjg\nysz8Qvl4SUT8DXA8MNKg44zMvKTFckoaYw6vSBprVwMvB/asux1ed3wP4IaG59wAvDgigpG5pdVC\nShp79nRIGmuPZeZd9QkR8cIRniOpG5IpPa3Za43wvJIqZE+HpE67DXhdQ9rrgTsys2+FywPA8/oO\nRsSLga0bnjOmq2EkjZ49HZI67UvAzRFxIsWE0tcC04Aj6/JcDRwVET+n+Lv1RWB9w3lGOhQjqWL2\ndEjqqMz8JfA+YArwG+Ak4MTM/GZdto8D9wLXAd8CTgPWNJ5qzAsraVTiid5LSZKksWNPhyRJqoRB\nhyRJqoRBhyRJqoRBhyRJqoRBhyRJqoRBhyRJqoRBhyRJqoRBhyRJqoRBhyRJqoRBhyRJqoRBhyRJ\nqoRBhyRJqsT/B0l4H859v6/HAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.bar(dfByHour.index, dfByHour.totalMessages,\n", " color='#0B3D91',\n", " linewidth=0,\n", " width=1.0)\n", "\n", "plt.tick_params(axis=\"both\", which=\"both\", bottom=\"on\", top=\"off\", labelbottom=\"on\", left=\"on\", right=\"off\", labelleft=\"on\") # remove tick marks\n", "\n", "# remocing borders\n", "ax = plt.gca()\n", "ax.spines[\"top\"].set_visible(False) \n", "ax.spines[\"bottom\"].set_visible(False) \n", "ax.spines[\"right\"].set_visible(False) \n", "ax.spines[\"left\"].set_visible(False) \n", "\n", "ax.yaxis.grid() # set grid\n", "\n", "\n", "ax.set_xlim(0,143) # set x axis limits to fill plot\n", "\n", "# set title and labels\n", "plt.title('Messages per hour')\n", "plt.ylabel('Messages sent')\n", "plt.xlabel('Hour')\n", "\n", "plt.bar(problem.hour, dfByHour.loc[problem.hour].totalMessages, \n", " color = 'red',\n", " linewidth = 0,\n", " width = 1.0)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "My main question from these two plots was: what was the reason for the three gaps seen in the data? My first thought was that these were periods in the mission where there was no radio signal due to positioning, rentry, etc. However, the two larger gaps are quite a few hours long so this seems unlikely. By checking the messages around these gaps, it becomes obvious these were just times when the astronauts were sleeping.\n", "\n", "From the first gap:\n", "\n", " 023:11:17 CC Good morning, 13. This is Houston- How are you?\n", " 023:11:22 CDR Read you loud and clear. We had a fairly good night's sleep.\n", "\n", "From the second:\n", "\n", " 046:43:18 CDR Houston, Houston, Apollo 13. Over.\n", " 046:43:22 CC Good morning, 13, You're early.\n", "\n", "And the third:\n", "\n", " 132:28:45 CC Fred, are you sleeping?\n", " 132:28:54 LMP Go ahead.\n", "\n", "So clearly after the explosion, the astronauts got very little sleep which I couldn't blame them for." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Common Words and Bigrams\n", "\n", "Next, I wanted to check out th most common words used and the most common bigrams(pairs of consecutive words)." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('Most common words: ', [('okay', 4419), ('houston', 1281), ('go', 1268), ('jack', 941), ('roger', 863)])\n", "('Most common bigrams: ', [(('houston', 'go', 'ahead'), 272), (('go', 'ahead', 'okay'), 194), (('aquarius', 'houston', 'go'), 162), (('apollo', '13', 'houston'), 122), (('13', 'houston', 'go'), 103)])\n" ] } ], "source": [ "myCorpus = df.text.str.cat(sep = ' ') # combine text column into one string\n", "myCorpus = myCorpus.translate(None, string.punctuation) # remove punctuation\n", "myCorpus = myCorpus.lower() # change to lowercase\n", "myCorpus = myCorpus.split(' ') # split into individual words so we can count them up\n", "\n", "stop = stopwords.words('english') + ['','thats'] # create a list of stopwords to remove from our corpus\n", "stop = [str(word) for word in stop] # convert from unicode string to avoid error message\n", "myCorpus = [word for word in myCorpus if word not in stop] # remove stopwords from corpus\n", "\n", "countWords = Counter() # create counter objects for words and for bigrams\n", "countBigrams = Counter()\n", "\n", "countWords.update(myCorpus) # update counter object with stopword corpus to count all words\n", "\n", "bigramCorpus = ngrams(myCorpus,3) # create bigrams\n", "countBigrams.update(bigramCorpus) # update counter object with bigrams to count bigrams\n", "\n", "print ('Most common words: ' , countWords.most_common(5))\n", "print( 'Most common bigrams: ', countBigrams.most_common(5))" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [conda root]", "language": "python", "name": "conda-root-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 1 }