{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Let's Clean Some Data\n", "\n", "Fivethirtyeight has some great data sets and this is one of them. Some light cleaning should make it more usable!" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": false }, "outputs": [], "source": [ "# import libraries\n", "import pandas as pd\n", "import numpy as np\n", "star_wars = pd.read_csv(\"star_wars.csv\", encoding=\"ISO-8859-1\")" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RespondentIDHave you seen any of the 6 films in the Star Wars franchise?Do you consider yourself to be a fan of the Star Wars film franchise?Which of the following Star Wars films have you seen? Please select all that apply.Unnamed: 4Unnamed: 5Unnamed: 6Unnamed: 7Unnamed: 8Please rank the Star Wars films in order of preference with 1 being your favorite film in the franchise and 6 being your least favorite film....Unnamed: 28Which character shot first?Are you familiar with the Expanded Universe?Do you consider yourself to be a fan of the Expanded Universe?Do you consider yourself to be a fan of the Star Trek franchise?GenderAgeHousehold IncomeEducationLocation (Census Region)
03292879998YesYesStar Wars: Episode I The Phantom MenaceStar Wars: Episode II Attack of the ClonesStar Wars: Episode III Revenge of the SithStar Wars: Episode IV A New HopeStar Wars: Episode V The Empire Strikes BackStar Wars: Episode VI Return of the Jedi3.0...Very favorablyI don't understand this questionYesNoNoMale18-29NaNHigh school degreeSouth Atlantic
13292879538NoNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNYesMale18-29$0 - $24,999Bachelor degreeWest South Central
\n", "

2 rows × 38 columns

\n", "
" ], "text/plain": [ " RespondentID Have you seen any of the 6 films in the Star Wars franchise? \\\n", "0 3292879998 Yes \n", "1 3292879538 No \n", "\n", " Do you consider yourself to be a fan of the Star Wars film franchise? \\\n", "0 Yes \n", "1 NaN \n", "\n", " Which of the following Star Wars films have you seen? Please select all that apply. \\\n", "0 Star Wars: Episode I The Phantom Menace \n", "1 NaN \n", "\n", " Unnamed: 4 \\\n", "0 Star Wars: Episode II Attack of the Clones \n", "1 NaN \n", "\n", " Unnamed: 5 \\\n", "0 Star Wars: Episode III Revenge of the Sith \n", "1 NaN \n", "\n", " Unnamed: 6 \\\n", "0 Star Wars: Episode IV A New Hope \n", "1 NaN \n", "\n", " Unnamed: 7 \\\n", "0 Star Wars: Episode V The Empire Strikes Back \n", "1 NaN \n", "\n", " Unnamed: 8 \\\n", "0 Star Wars: Episode VI Return of the Jedi \n", "1 NaN \n", "\n", " Please rank the Star Wars films in order of preference with 1 being your favorite film in the franchise and 6 being your least favorite film. \\\n", "0 3.0 \n", "1 NaN \n", "\n", " ... Unnamed: 28 Which character shot first? \\\n", "0 ... Very favorably I don't understand this question \n", "1 ... NaN NaN \n", "\n", " Are you familiar with the Expanded Universe? \\\n", "0 Yes \n", "1 NaN \n", "\n", " Do you consider yourself to be a fan of the Expanded Universe? \\\n", "0 No \n", "1 NaN \n", "\n", " Do you consider yourself to be a fan of the Star Trek franchise? Gender \\\n", "0 No Male \n", "1 Yes Male \n", "\n", " Age Household Income Education Location (Census Region) \n", "0 18-29 NaN High school degree South Atlantic \n", "1 18-29 $0 - $24,999 Bachelor degree West South Central \n", "\n", "[2 rows x 38 columns]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Index(['RespondentID',\n", " 'Have you seen any of the 6 films in the Star Wars franchise?',\n", " 'Do you consider yourself to be a fan of the Star Wars film franchise?',\n", " 'Which of the following Star Wars films have you seen? Please select all that apply.',\n", " 'Unnamed: 4', 'Unnamed: 5', 'Unnamed: 6', 'Unnamed: 7', 'Unnamed: 8',\n", " 'Please rank the Star Wars films in order of preference with 1 being your favorite film in the franchise and 6 being your least favorite film.',\n", " 'Unnamed: 10', 'Unnamed: 11', 'Unnamed: 12', 'Unnamed: 13',\n", " 'Unnamed: 14',\n", " 'Please state whether you view the following characters favorably, unfavorably, or are unfamiliar with him/her.',\n", " 'Unnamed: 16', 'Unnamed: 17', 'Unnamed: 18', 'Unnamed: 19',\n", " 'Unnamed: 20', 'Unnamed: 21', 'Unnamed: 22', 'Unnamed: 23',\n", " 'Unnamed: 24', 'Unnamed: 25', 'Unnamed: 26', 'Unnamed: 27',\n", " 'Unnamed: 28', 'Which character shot first?',\n", " 'Are you familiar with the Expanded Universe?',\n", " 'Do you consider yourself to be a fan of the Expanded Universe?',\n", " 'Do you consider yourself to be a fan of the Star Trek franchise?',\n", " 'Gender', 'Age', 'Household Income', 'Education',\n", " 'Location (Census Region)'],\n", " dtype='object')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(1186, 38)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# explore the data frame\n", "display(star_wars.head(2))\n", "display(star_wars.columns)\n", "display(star_wars.shape)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# rename columns\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Yes 936\n", "No 250\n", "Name: Have you seen any of the 6 films in the Star Wars franchise?, dtype: int64\n", "Yes 552\n", "NaN 350\n", "No 284\n", "Name: Do you consider yourself to be a fan of the Star Wars film franchise?, dtype: int64\n" ] } ], "source": [ "# value counts for columns 1:2\n", "print(star_wars[\"Have you seen any of the 6 films in the Star Wars franchise?\"].value_counts(dropna=False))\n", "print(star_wars[\"Do you consider yourself to be a fan of the Star Wars film franchise?\"].value_counts(dropna=False))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True 936\n", "False 250\n", "Name: Have you seen any of the 6 films in the Star Wars franchise?, dtype: int64\n", "True 552\n", "NaN 350\n", "False 284\n", "Name: Do you consider yourself to be a fan of the Star Wars film franchise?, dtype: int64\n" ] } ], "source": [ "# switch values to boolean for columns 1:2\n", "yes_no_bool = {\"Yes\":True, \"No\":False}\n", "star_wars[\"Have you seen any of the 6 films in the Star Wars franchise?\"] = star_wars[\"Have you seen any of the 6 films in the Star Wars franchise?\"].map(yes_no_bool)\n", "star_wars[\"Do you consider yourself to be a fan of the Star Wars film franchise?\"] = star_wars[\"Do you consider yourself to be a fan of the Star Wars film franchise?\"].map(yes_no_bool)\n", "print(star_wars[\"Have you seen any of the 6 films in the Star Wars franchise?\"].value_counts(dropna=False))\n", "print(star_wars[\"Do you consider yourself to be a fan of the Star Wars film franchise?\"].value_counts(dropna=False))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Star Wars: Episode I The Phantom Menace 673\n", "NaN 513\n", "Name: Which of the following Star Wars films have you seen? Please select all that apply., dtype: int64\n" ] } ], "source": [ "# value counts for columns 3\n", "print(star_wars[\"Which of the following Star Wars films have you seen? Please select all that apply.\"].value_counts(dropna=False))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True 673\n", "False 513\n", "Name: Which of the following Star Wars films have you seen? Please select all that apply., dtype: int64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# switch values to boolean for columns 3:9\n", "watch_bool = {\"Star Wars: Episode I The Phantom Menace\" : True,\n", " \"Star Wars: Episode II Attack of the Clones\" : True,\n", " \"Star Wars: Episode III Revenge of the Sith\" : True,\n", " \"Star Wars: Episode IV A New Hope\" : True,\n", " \"Star Wars: Episode V The Empire Strikes Back\" : True,\n", " \"Star Wars: Episode VI Return of the Jedi\" : True,\n", " np.NaN : False}\n", "\n", "for col in star_wars.columns[3:9]:\n", " star_wars[col] = star_wars[col].map(watch_bool)\n", "\n", "# value counts for columns 3\n", "display(star_wars.iloc[:,3].value_counts(dropna=False))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['seen_ep_1', 'seen_ep_2', 'seen_ep_3', 'seen_ep_4', 'seen_ep_5',\n", " 'seen_ep_6'],\n", " dtype='object')" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# rename columns\n", "star_wars = star_wars.rename(columns={\"Which of the following Star Wars films have you seen? Please select all that apply.\" : \"seen_ep_1\",\n", " \"Unnamed: 4\" : \"seen_ep_2\",\n", " \"Unnamed: 5\" : \"seen_ep_3\",\n", " \"Unnamed: 6\" : \"seen_ep_4\",\n", " \"Unnamed: 7\" : \"seen_ep_5\",\n", " \"Unnamed: 8\" : \"seen_ep_6\"})\n", "\n", "display(star_wars.columns[3:9])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dtype('float64')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# convert rankings to float\n", "star_wars[star_wars.columns[9:15]] = star_wars[star_wars.columns[9:15]].astype(float)\n", "\n", "# star_wars.columns[9].dtype # why does this work sometimes?\n", "star_wars.iloc[:,9].dtype" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['rank_ep_1', 'rank_ep_2', 'rank_ep_3', 'rank_ep_4', 'rank_ep_5',\n", " 'rank_ep_6'],\n", " dtype='object')" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# rename more columns\n", "new_columns = {\"Please rank the Star Wars films in order of preference with 1 being your favorite film in the franchise and 6 being your least favorite film.\":\"rank_ep_1\",\n", " \"Unnamed: 10\":\"rank_ep_2\",\n", " \"Unnamed: 11\":\"rank_ep_3\",\n", " \"Unnamed: 12\":\"rank_ep_4\",\n", " \"Unnamed: 13\":\"rank_ep_5\",\n", " \"Unnamed: 14\":\"rank_ep_6\",}\n", "star_wars = star_wars.rename(columns = new_columns)\n", "\n", "display(star_wars.columns[9:15])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Closer Look" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Have you seen any of the 6 films in the Star Wars franchise? 0.789207\n", "Are you a fan of the Star Wars films? 0.660287\n", "seen_ep_1 0.567454\n", "seen_ep_2 0.481450\n", "seen_ep_3 0.463744\n", "seen_ep_4 0.511804\n", "seen_ep_5 0.639123\n", "seen_ep_6 0.622260\n", "rank_ep_1 3.732934\n", "rank_ep_2 4.087321\n", "rank_ep_3 4.341317\n", "rank_ep_4 3.272727\n", "rank_ep_5 2.513158\n", "rank_ep_6 3.047847\n", "dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Have you seen any of the 6 films in the Star Wars franchise? 936\n", "Are you a fan of the Star Wars films? 552\n", "seen_ep_1 673\n", "seen_ep_2 571\n", "seen_ep_3 550\n", "seen_ep_4 607\n", "dtype: object" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# get average value for seen any, which episode, rankings by episode\n", "means = star_wars.iloc[:,1:15].mean()\n", "means = means.rename({\"Do you consider yourself to be a fan of the Star Wars film franchise?\":\"Are you a fan of the Star Wars films?\"})\n", "display(means)\n", "\n", "# totals\n", "sums = star_wars.iloc[:,1:7].sum()\n", "sums = sums.rename({\"Do you consider yourself to be a fan of the Star Wars film franchise?\":\"Are you a fan of the Star Wars films?\"})\n", "display(sums)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True 936\n", "False 250\n", "Name: Have you seen any of the 6 films in the Star Wars franchise?, dtype: int64" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True 552\n", "NaN 350\n", "False 284\n", "Name: Do you consider yourself to be a fan of the Star Wars film franchise?, dtype: int64" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "0.6602870813397129" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# math check :)\n", "display(star_wars[\"Have you seen any of the 6 films in the Star Wars franchise?\"].value_counts(dropna=False))\n", "# display(552/(552+284))\n", "display(star_wars[\"Do you consider yourself to be a fan of the Star Wars film franchise?\"].value_counts(dropna=False))\n", "display(552/(552+284))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# whats up with the fan nan's? 250 are people who haven't seen any, but what about the other 100\n", "# amke a fan nan group" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# reshape means with ep as index and seen and rank as columns then make side by side barh" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# bar chart for fan & episodes seen in % of total respondents\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "means[0:8].plot.barh()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZgAAAD4CAYAAADRuPC7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAXw0lEQVR4nO3df6zd9X3f8efLTmqgCCKVFF1C0gsexSHEGHxJWkhqKVpDKDB+LKarKGMaw7AC7SZYS6VWwpO6hq1qoS3GtQa4LNUioCRieMaLuowBC13u9Q+M4xoa26yQSJFbMA2/Ruz3/jhfd8e39/jec32/91zj50O6Oud8v5/v5/P+foX84vM533NOqgpJkmbavEEXIEl6fzJgJEmtMGAkSa0wYCRJrTBgJEmt+MCgC5hLTjrppBoeHh50GZJ0RBkbG9tTVR8ev92A6TI8PMzo6Oigy5CkI0qSlyfa7hKZJKkVBowkqRUGjCSpFQaMJKkVBowkqRUGjCSpFd6m3GXrq3sZvmPdoMuQjkq7v3TJoEvQDHMGI0lqhQEjSWqFASNJaoUBI0lqhQEjSWrFrAVMkjuT3D5b4zVjLk7yzSTbkmxNcsxsji9JR7Np3aacJECqav8M1zNjknwA+DJwbVVtSfJjwHsDLkuSjhpTnsEkGU6yPckqYCNwf5LRZnawsqvd7iQrk2xsZg2LJujrhiTrkxzbY6yFSZ5MMpbk6QN9JFmbZHWz7cUklx6i5M8Dz1fVFoCq+uuq2jfBWCua8xjd99beqV4OSdIk+l0iOxN4qKrOBW6rqhFgMbAsyeKudnuq6jzgPuCgZbEktwCXAVdU1ds9xlkD3FpVS5vjV3XtGwaWAZcAqw+x7PWTQCXZ0ITdr07UqKrWVNVIVY3MP+7E3mcuSepLv0tkL1fVc83zq5OsaPoYAs4Cnm/2PdY8jgFXdR1/LfAKnXCZcLkqyfHABcAjnZU4ABZ0NXm4WZp7KclOYBGweYKuPgB8BjgfeAv4syRjVfVnUzxXSdJh6Ddg3gRIchqdmcX5VfVakrVA90zi3eZx37gxXgCWAKcCu3qMMQ94vaqW9Nhfk7w+4BXgqara09T8X4HzAANGkmbBdO8iO4FO2OxNcjJw8RSP2wTcCDye5JSJGlTVG8CuJMuhc0NBknO6mixPMi/JQuB0YEePsTYAi5Mc17zhvwz49hTrlCQdpmkFTPPG+SZgG/AA8Gwfxz5DZ/azLslJPZpdA1yfZEszxuVd+3YATwHrgZuq6p0e47wG/C7wLTpLaBurym+ylKRZkqpeK0xzT7MU90RVPdpG/wuGzqih6+5uo2tJk/DblI9czfvbI+O3+0l+SVIrBjqDSXIvcOG4zfdU1YN99HERcNe4zbuq6sp+6xkZGanR0dF+D5Oko1qvGcxAf3Csqm6egT420HlDX5I0h7hEJklqhQEjSWqFASNJaoUBI0lqhQEjSWqFASNJaoUBI0lqhQEjSWqFASNJaoUBI0lqhQEjSWqFASNJaoUBI0lqxUC/TXmu2frqXobv8Ecv9f7kD3pptjmDkSS1woCRJLXCgJEktcKAkSS1woCRJLVi1gImyZ1Jbp/F8YaTvJ1kc/O3erbGliRN8zblJAFSVftnuJ6Z9p2qWjLoIiTpaDTlGUwzI9ieZBWwEbg/yWiSbUlWdrXbnWRlko1JtiZZNEFfNyRZn+TYHmMtTPJkkrEkTx/oI8naJKubbS8mubT/U/57Y61ozmN031t7D7c7SVKj3yWyM4GHqupc4LaqGgEWA8uSLO5qt6eqzgPuAw5aFktyC3AZcEVVvd1jnDXArVW1tDl+Vde+YWAZcAmwOskxh6j3tCSbkjyV5LMTNaiqNVU1UlUj84878RBdSZL60e8S2ctV9Vzz/OokK5o+hoCzgOebfY81j2PAVV3HXwu8Qidc3ptogCTHAxcAj3RW4gBY0NXk4WZp7qUkO4FFwOYJuvoe8LGq+uskS4GvJflEVb0x5bOVJE1bvwHzJkCS0+jMLM6vqteSrAW6ZxLvNo/7xo3xArAEOBXY1WOMecDrh3jvpCZ53dlY9e6BOqpqLMl3gJ8ERnv0K0maQdO9i+wEOmGzN8nJwMVTPG4TcCPweJJTJmrQzDB2JVkOnRsKkpzT1WR5knlJFgKnAzsm6ifJh5PMb56fDpwB7JxinZKkwzStgKmqLXTCYhvwAPBsH8c+Q2f2sy7JST2aXQNcn2RLM8blXft2AE8B64GbquqdHn38DPB808ejTdu/mWqdkqTDk6oJV5jmpGYp7omqerSN/hcMnVFD193dRtfSwPltympLkrHmpq+D+El+SVIrBjqDSXIvcOG4zfdU1YN99HERcNe4zbuq6sp+6xkZGanRUe8BkKR+9JrBDPQHx6rq5hnoYwOwYQbKkSTNIJfIJEmtMGAkSa0wYCRJrTBgJEmtMGAkSa0wYCRJrTBgJEmtMGAkSa0wYCRJrTBgJEmtMGAkSa0wYCRJrTBgJEmtGOi3Kc81W1/dy/Ad6wZdhqRp8AfV5h5nMJKkVhgwkqRWGDCSpFYYMJKkVhgwkqRWzFrAJLkzye2zNV7XuB9L8oNBjC1JR7NpBUw6jpTZz+8B6wddhCQdbaYcEkmGk2xPsgrYCNyfZDTJtiQru9rtTrIyycYkW5MsmqCvG5KsT3Jsj7EWJnkyyViSpw/0kWRtktXNtheTXDpJzVcAO4Fth2izojmP0X1v7Z3StZAkTa7fWciZwENVdS5wW1WNAIuBZUkWd7XbU1XnAfcBBy1NJbkFuAy4oqre7jHOGuDWqlraHL+qa98wsAy4BFid5JiJOkjyo8CvASsn2n9AVa2pqpGqGpl/3ImHaipJ6kO/n+R/uaqea55fnWRF08cQcBbwfLPvseZxDLiq6/hrgVfohMt7Ew2Q5HjgAuCRJAc2L+hq8nBV7QdeSrITWARsnqCrlcDvVdUPuvqRJM2SfgPmTYAkp9GZWZxfVa8lWQt0zyTebR73jRvjBWAJcCqwq8cY84DXq2pJj/01yesDPg18Mcm/Bz4E7E/yTlX9YY/2kqQZNN036k+gEzZ7k5wMXDzF4zYBNwKPJzllogZV9QawK8ly+LsbCs7parI8ybwkC4HTgR09+vlsVQ1X1TBwN/DvDBdJmj3TCpiq2kInLLYBDwDP9nHsM3RmP+uSnNSj2TXA9Um2NGNc3rVvB/AUnTvDbqqqd/o/A0lS21LVa4Vp7mmW4p6oqkfb6H/B0Bk1dN3dbXQtqWV+m/LgJBlrbvo6yJHyWRZJ0hFmoDOYJPcCF47bfE9VPdhHHxcBd43bvKuqruy3npGRkRodHe33MEk6qvWawQz0B8eq6uYZ6GMDsGEGypEkzSCXyCRJrTBgJEmtMGAkSa0wYCRJrTBgJEmtMGAkSa0wYCRJrTBgJEmtMGAkSa0wYCRJrTBgJEmtMGAkSa0wYCRJrRjotynPNVtf3cvwHesGXYYkzaq2fqzNGYwkqRUGjCSpFQaMJKkVBowkqRUGjCSpFbMWMEnuTHL7LI73qSSbm78tSa6crbElSdO8TTlJgFTV/hmuZya9AIxU1Q+TDAFbkvyXqvrhoAuTpKPBlGcwSYaTbE+yCtgI3J9kNMm2JCu72u1OsjLJxiRbkyyaoK8bkqxPcmyPsRYmeTLJWJKnD/SRZG2S1c22F5Nc2qveqnqrK0yOAarHWCua8xjd99beqV4OSdIk+l0iOxN4qKrOBW6rqhFgMbAsyeKudnuq6jzgPuCgZbEktwCXAVdU1ds9xlkD3FpVS5vjV3XtGwaWAZcAq5Mc06vYJJ9Osg3YCtw00eylqtZU1UhVjcw/7sRDnbskqQ/9LpG9XFXPNc+vTrKi6WMIOAt4vtn3WPM4BlzVdfy1wCt0wuW9iQZIcjxwAfBIZyUOgAVdTR5uluZeSrITWARsnqivqvpz4BNJPg78cZL1VfXOVE9WkjR9/QbMmwBJTqMzszi/ql5LspbOMtQB7zaP+8aN8QKwBDgV2NVjjHnA61W1pMf+8UtdEy59HdSganuSN4GzgdHJ2kuSDt907yI7gU7Y7E1yMnDxFI/bBNwIPJ7klIkaVNUbwK4ky6FzQ0GSc7qaLE8yL8lC4HRgx0T9JDktyQea5z9BZ3lv9xTrlCQdpmkFTFVtoRMW24AHgGf7OPYZOrOfdUlO6tHsGuD6JFuaMS7v2rcDeApYT+d9lV5LXp+hc+fYZuCrwC9V1Z6p1ilJOjypmnSFac5oluKeqKpH2+h/wdAZNXTd3W10LUlz1uF+m3KSseamr4P4SX5JUisGOoNJci9w4bjN91TVg330cRFw17jNu6qq70/uj4yM1Oio9wBIUj96zWAG+oNjVXXzDPSxAdgwA+VIkmaQS2SSpFYYMJKkVhgwkqRWGDCSpFYYMJKkVhgwkqRWGDCSpFYYMJKkVhgwkqRWGDCSpFYYMJKkVhgwkqRWGDCSpFYM9NuU55qtr+5l+I51gy5DkiZ1uD8SNhucwUiSWmHASJJaYcBIklphwEiSWmHASJJaMWsBk+TOJLfP4ng/m2Qsydbm8XOzNbYkaZq3KScJkKraP8P1zKQ9wGVV9d0kZwMbgI8MuCZJOmpMeQaTZDjJ9iSrgI3A/UlGk2xLsrKr3e4kK5NsbGYPiybo64Yk65Mc22OshUmebGYeTx/oI8naJKubbS8mubRXvVW1qaq+27zcBhyTZMEEY61ozmN031t7p3o5JEmT6HeJ7Ezgoao6F7itqkaAxcCyJIu72u2pqvOA+4CDlsWS3AJcBlxRVW/3GGcNcGtVLW2OX9W1bxhYBlwCrE5yzBTq/sfApqp6d/yOqlpTVSNVNTL/uBOn0JUkaSr6XSJ7uaqea55fnWRF08cQcBbwfLPvseZxDLiq6/hrgVfohMt7Ew2Q5HjgAuCRzkocAN0zj4ebpbmXkuwEFgGbexWc5BPAXcDnp3KCkqSZ0W/AvAmQ5DQ6M4vzq+q1JGuB7pnEgZnCvnFjvAAsAU4FdvUYYx7welUt6bG/Jnn9d5KcCnwV+KdV9Z1e7SRJM2+6d5GdQCds9iY5Gbh4isdtAm4EHk9yykQNquoNYFeS5dC5oSDJOV1NlieZl2QhcDqwY6J+knwIWAf8elU9O8X6JEkzZFoBU1Vb6ITFNuABYMr/gFfVM3RmP+uSnNSj2TXA9Um2NGNc3rVvB/AUsB64qare6dHHLcA/AH4zyebm78enWqck6fCkqucK05zTLMU9UVWPttH/gqEzaui6u9voWpJm1Fz6NuUkY81NXwfxk/ySpFYMdAaT5F7gwnGb76mqB/vo4yI6d4l121VVV/Zbz8jISI2OjvZ7mCQd1XrNYAb6g2NVdfMM9LGBzqf0JUlziEtkkqRWGDCSpFYYMJKkVhgwkqRWGDCSpFYYMJKkVhgwkqRWGDCSpFYYMJKkVhgwkqRWGDCSpFYYMJKkVhgwkqRWDPTblOeara/uZfiOdYMuQ9IRbC79ENigOYORJLXCgJEktcKAkSS1woCRJLXCgJEktWLWAibJnUlun8XxfizJN5L8IMkfzta4kqSOad2mnCRAqmr/DNczk94BfhM4u/mTJM2iKc9gkgwn2Z5kFbARuD/JaJJtSVZ2tdudZGWSjUm2Jlk0QV83JFmf5NgeYy1M8mSSsSRPH+gjydokq5ttLya5tFe9VfVmVT1DJ2gOdV4rmvMY3ffW3ileDUnSZPpdIjsTeKiqzgVuq6oRYDGwLMnirnZ7quo84D7goGWxJLcAlwFXVNXbPcZZA9xaVUub41d17RsGlgGXAKuTHNPnORykqtZU1UhVjcw/7sTD6UqS1KXfJbKXq+q55vnVSVY0fQwBZwHPN/seax7HgKu6jr8WeIVOuLw30QBJjgcuAB7prMQBsKCrycPN0txLSXYCi4DNfZ6HJKll/QbMmwBJTqMzszi/ql5Lshbonkm82zzuGzfGC8AS4FRgV48x5gGvV9WSHvtrkteSpDlguneRnUAnbPYmORm4eIrHbQJuBB5PcspEDarqDWBXkuXQuaEgyTldTZYnmZdkIXA6sGOa5yBJatG07iKrqi1JNgHbgJ3As30c+0xzu/K6JD9bVXsmaHYNcF+S3wA+CHwF2NLs2wE8BZwM3FRVPd/ET7KbThj+SJIrgM9X1benWqskafpSdeSsMDVLcU9U1aNt9L9g6Iwauu7uNrqWdJQ4Gr9NOclYc9PXQfwkvySpFQOdwSS5F7hw3OZ7qurBPvq4CLhr3OZdVXVlv/WMjIzU6Ohov4dJ0lGt1wxmoD84VlU3z0AfG4ANM1COJGkGuUQmSWqFASNJaoUBI0lqhQEjSWqFASNJaoUBI0lqhQEjSWqFASNJaoUBI0lqhQEjSWqFASNJaoUBI0lqhQEjSWqFASNJasVAv65/rtn66l6G71g36DL6djT+gp6kuc8ZjCSpFQaMJKkVBowkqRUGjCSpFe/bgEnHbyV5Mcn2JL886Jok6Wjyfr6L7J8BHwUWVdX+JD8+4Hok6agy6QwmyY8mWZdkS5IXkvx8kqVJnkoylmRDkqGm7cIkTzbbn06yqNm+NsnvJ/lfSXYm+eIkY/6bJN9K8nySlc224SR/keSPm+2PJjnuEN38S+DfVtV+gKr6fo+xViQZTTK67629k10OSdIUTWWJ7AvAd6vqnKo6G3gS+APgi1W1FHgA+K2m7Rrg1mb77cCqrn6GgM8AlwJf6jVYks8DZwCfApYAS5P8TLP7TGBNVS0G3gB+6RB1LwR+vgmP9UnOmKhRVa2pqpGqGpl/3ImH6E6S1I+pLJFtBX4nyV3AE8BrwNnA15MAzAe+l+R44ALgkWY7wIKufr7WzCa+neTkQ4z3+eZvU/P6eDqB83+Av6qqZ5vtXwZ+GfidHv0sAN6pqpEkV9EJws9O4XwlSTNg0oCpqheTLAV+Dvht4OvAtqr66e52SU4AXq+qJT26ere7+SGGDPDbVfVH4/ofBmp8eYfo5xXgT5vnXwUePERbSdIMm8p7MKcAb1XVl+nMFj4NfDjJTzf7P5jkE1X1BrAryfJme5KcM42aNgD/vJkRkeQjXW/Qf+zAuMAvAM8cop+vAZ9rni8DXpxGLZKkaZrKEtkngf+QZD/wHp03z38I/H6SE5s+7ga2AdcA9yX5DeCDwFeALf0UVFX/LcnHgW82S20/AH4R2AdsB65L8kfAS8B9h+jqS8CfJPnXTR//op86JEmHJ1WHWmWaO5olsieaGw1asWDojBq67u62um+NX3YpaZCSjFXVyPjt79sPWkqSBmtgH7RM8kngP43b/G5VfXqi9lW1m87da+P7+Spw2rjNv1ZVG/qt6ZMfOZFRZwOSNCMGFjBVtZXO51wOt58rD78aSdJMc4lMktQKA0aS1AoDRpLUCgNGktQKA0aS1AoDRpLUiiPmk/yzIcnfAjsGXcccdxKwZ9BFHAG8TpPzGk3NkXCdfqKqPjx+4/v5Fy2nY8dEX3eg/y/JqNdocl6nyXmNpuZIvk4ukUmSWmHASJJaYcAcbM2gCzgCeI2mxus0Oa/R1Byx18k3+SVJrXAGI0lqhQEjSWqFAQMk+UKSHUn+Mskdg65nLkryQJLvJ3lh0LXMVUk+muQbSbYn2ZbkVwZd01yU5Jgk/zvJluY6rRx0TXNVkvlJNiV5YtC1TMdRHzBJ5gP3AhcDZwG/kOSswVY1J60FvjDoIua4HwK3VdXHgZ8Cbva/pQm9C3yuqs6h85tQX0jyU4Mtac76FWD7oIuYrqM+YIBPAX9ZVTur6v8CXwEuH3BNc05V/U/gbwZdx1xWVd+rqo3N87+l8w/DRwZb1dxTHT9oXn6w+fNuo3GSnApcAvzHQdcyXQZM5x+Av+p6/Qr+o6DDlGQYOBf48wGXMic1Sz+bge8DX68qr9Pfdzfwq8D+AdcxbQYMZIJt/t+Upi3J8cCfAv+qqt4YdD1zUVXtq6olwKnAp5KcPeCS5pQklwLfr6qxQddyOAyYzozlo12vTwW+O6BadIRL8kE64fInVfXYoOuZ66rqdeB/4Pt7410I/KMku+ks238uyZcHW1L/DBj4FnBGktOS/AjwT4DHB1yTjkBJAtwPbK+q3x10PXNVkg8n+VDz/FjgHwJ/MdCi5piq+vWqOrWqhun8m/Tfq+oXB1xW3476gKmqHwK3ABvovCn7cFVtG2xVc0+S/wx8EzgzyStJrh90TXPQhcC1dP5vc3Pz93ODLmoOGgK+keR5Ov+D9/WqOiJvw9Wh+VUxkqRWHPUzGElSOwwYSVIrDBhJUisMGElSKwwYSVIrDBhJUisMGElSK/4ftCTM91B+JxEAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# bar chart for rankings\n", "means[7:14].plot.barh()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Impressions\n", "* \n", "\n", "* Episode V is the favorite, but not by much." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" } }, "nbformat": 4, "nbformat_minor": 1 }