{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# HW5 -- Artificial Artificial Intelligence"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "neg = pd.read_csv('AMT_neg.csv')\n",
    "pos = pd.read_csv('AMT_pos.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Initial EDA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>HITId</th>\n",
       "      <th>HITTypeId</th>\n",
       "      <th>Title</th>\n",
       "      <th>Description</th>\n",
       "      <th>Keywords</th>\n",
       "      <th>Reward</th>\n",
       "      <th>CreationTime</th>\n",
       "      <th>MaxAssignments</th>\n",
       "      <th>RequesterAnnotation</th>\n",
       "      <th>AssignmentDurationInSeconds</th>\n",
       "      <th>...</th>\n",
       "      <th>RejectionTime</th>\n",
       "      <th>RequesterFeedback</th>\n",
       "      <th>WorkTimeInSeconds</th>\n",
       "      <th>LifetimeApprovalRate</th>\n",
       "      <th>Last30DaysApprovalRate</th>\n",
       "      <th>Last7DaysApprovalRate</th>\n",
       "      <th>Input.text</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Approve</th>\n",
       "      <th>Reject</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>3IQ9O0AYW6ZI3GD740H32KGG2SWITJ</td>\n",
       "      <td>3N0K7CX2I27L2NR2L8D93MF8LIRA5J</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>sentiment, text</td>\n",
       "      <td>$0.02</td>\n",
       "      <td>Fri Nov 01 12:08:17 PDT 2019</td>\n",
       "      <td>3</td>\n",
       "      <td>BatchId:3821423;OriginalHitTemplateId:928390909;</td>\n",
       "      <td>10800</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>44</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>Missed Opportunity\\nI had been very excited to...</td>\n",
       "      <td>Neutral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>3IQ9O0AYW6ZI3GD740H32KGG2SWITJ</td>\n",
       "      <td>3N0K7CX2I27L2NR2L8D93MF8LIRA5J</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>sentiment, text</td>\n",
       "      <td>$0.02</td>\n",
       "      <td>Fri Nov 01 12:08:17 PDT 2019</td>\n",
       "      <td>3</td>\n",
       "      <td>BatchId:3821423;OriginalHitTemplateId:928390909;</td>\n",
       "      <td>10800</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>Missed Opportunity\\nI had been very excited to...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>3IQ9O0AYW6ZI3GD740H32KGG2SWITJ</td>\n",
       "      <td>3N0K7CX2I27L2NR2L8D93MF8LIRA5J</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>sentiment, text</td>\n",
       "      <td>$0.02</td>\n",
       "      <td>Fri Nov 01 12:08:17 PDT 2019</td>\n",
       "      <td>3</td>\n",
       "      <td>BatchId:3821423;OriginalHitTemplateId:928390909;</td>\n",
       "      <td>10800</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>449</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>Missed Opportunity\\nI had been very excited to...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>3 rows × 31 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            HITId                       HITTypeId  \\\n",
       "0  3IQ9O0AYW6ZI3GD740H32KGG2SWITJ  3N0K7CX2I27L2NR2L8D93MF8LIRA5J   \n",
       "1  3IQ9O0AYW6ZI3GD740H32KGG2SWITJ  3N0K7CX2I27L2NR2L8D93MF8LIRA5J   \n",
       "2  3IQ9O0AYW6ZI3GD740H32KGG2SWITJ  3N0K7CX2I27L2NR2L8D93MF8LIRA5J   \n",
       "\n",
       "                Title         Description         Keywords Reward  \\\n",
       "0  Sentiment analysis  Sentiment analysis  sentiment, text  $0.02   \n",
       "1  Sentiment analysis  Sentiment analysis  sentiment, text  $0.02   \n",
       "2  Sentiment analysis  Sentiment analysis  sentiment, text  $0.02   \n",
       "\n",
       "                   CreationTime  MaxAssignments  \\\n",
       "0  Fri Nov 01 12:08:17 PDT 2019               3   \n",
       "1  Fri Nov 01 12:08:17 PDT 2019               3   \n",
       "2  Fri Nov 01 12:08:17 PDT 2019               3   \n",
       "\n",
       "                                RequesterAnnotation  \\\n",
       "0  BatchId:3821423;OriginalHitTemplateId:928390909;   \n",
       "1  BatchId:3821423;OriginalHitTemplateId:928390909;   \n",
       "2  BatchId:3821423;OriginalHitTemplateId:928390909;   \n",
       "\n",
       "   AssignmentDurationInSeconds  ...  RejectionTime RequesterFeedback  \\\n",
       "0                        10800  ...            NaN               NaN   \n",
       "1                        10800  ...            NaN               NaN   \n",
       "2                        10800  ...            NaN               NaN   \n",
       "\n",
       "   WorkTimeInSeconds  LifetimeApprovalRate Last30DaysApprovalRate  \\\n",
       "0                 44              0% (0/0)               0% (0/0)   \n",
       "1                  7              0% (0/0)               0% (0/0)   \n",
       "2                449              0% (0/0)               0% (0/0)   \n",
       "\n",
       "  Last7DaysApprovalRate                                         Input.text  \\\n",
       "0              0% (0/0)  Missed Opportunity\\nI had been very excited to...   \n",
       "1              0% (0/0)  Missed Opportunity\\nI had been very excited to...   \n",
       "2              0% (0/0)  Missed Opportunity\\nI had been very excited to...   \n",
       "\n",
       "  Answer.sentiment.label Approve Reject  \n",
       "0                Neutral     NaN    NaN  \n",
       "1               Negative     NaN    NaN  \n",
       "2               Positive     NaN    NaN  \n",
       "\n",
       "[3 rows x 31 columns]"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "neg[:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>HITId</th>\n",
       "      <th>HITTypeId</th>\n",
       "      <th>Title</th>\n",
       "      <th>Description</th>\n",
       "      <th>Keywords</th>\n",
       "      <th>Reward</th>\n",
       "      <th>CreationTime</th>\n",
       "      <th>MaxAssignments</th>\n",
       "      <th>RequesterAnnotation</th>\n",
       "      <th>AssignmentDurationInSeconds</th>\n",
       "      <th>...</th>\n",
       "      <th>RejectionTime</th>\n",
       "      <th>RequesterFeedback</th>\n",
       "      <th>WorkTimeInSeconds</th>\n",
       "      <th>LifetimeApprovalRate</th>\n",
       "      <th>Last30DaysApprovalRate</th>\n",
       "      <th>Last7DaysApprovalRate</th>\n",
       "      <th>Input.text</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Approve</th>\n",
       "      <th>Reject</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>3VMV5CHJZ8F47P7CECH0H830NF4GTP</td>\n",
       "      <td>3N0K7CX2I27L2NR2L8D93MF8LIRA5J</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>sentiment, text</td>\n",
       "      <td>$0.02</td>\n",
       "      <td>Fri Nov 01 12:11:19 PDT 2019</td>\n",
       "      <td>3</td>\n",
       "      <td>BatchId:3821427;OriginalHitTemplateId:928390909;</td>\n",
       "      <td>10800</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>355</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>funny like a clown\\nGreetings again from the d...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>3VMV5CHJZ8F47P7CECH0H830NF4GTP</td>\n",
       "      <td>3N0K7CX2I27L2NR2L8D93MF8LIRA5J</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>sentiment, text</td>\n",
       "      <td>$0.02</td>\n",
       "      <td>Fri Nov 01 12:11:19 PDT 2019</td>\n",
       "      <td>3</td>\n",
       "      <td>BatchId:3821427;OriginalHitTemplateId:928390909;</td>\n",
       "      <td>10800</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>487</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>funny like a clown\\nGreetings again from the d...</td>\n",
       "      <td>Neutral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>3VMV5CHJZ8F47P7CECH0H830NF4GTP</td>\n",
       "      <td>3N0K7CX2I27L2NR2L8D93MF8LIRA5J</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>Sentiment analysis</td>\n",
       "      <td>sentiment, text</td>\n",
       "      <td>$0.02</td>\n",
       "      <td>Fri Nov 01 12:11:19 PDT 2019</td>\n",
       "      <td>3</td>\n",
       "      <td>BatchId:3821427;OriginalHitTemplateId:928390909;</td>\n",
       "      <td>10800</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1052</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>funny like a clown\\nGreetings again from the d...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>3 rows × 31 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            HITId                       HITTypeId  \\\n",
       "0  3VMV5CHJZ8F47P7CECH0H830NF4GTP  3N0K7CX2I27L2NR2L8D93MF8LIRA5J   \n",
       "1  3VMV5CHJZ8F47P7CECH0H830NF4GTP  3N0K7CX2I27L2NR2L8D93MF8LIRA5J   \n",
       "2  3VMV5CHJZ8F47P7CECH0H830NF4GTP  3N0K7CX2I27L2NR2L8D93MF8LIRA5J   \n",
       "\n",
       "                Title         Description         Keywords Reward  \\\n",
       "0  Sentiment analysis  Sentiment analysis  sentiment, text  $0.02   \n",
       "1  Sentiment analysis  Sentiment analysis  sentiment, text  $0.02   \n",
       "2  Sentiment analysis  Sentiment analysis  sentiment, text  $0.02   \n",
       "\n",
       "                   CreationTime  MaxAssignments  \\\n",
       "0  Fri Nov 01 12:11:19 PDT 2019               3   \n",
       "1  Fri Nov 01 12:11:19 PDT 2019               3   \n",
       "2  Fri Nov 01 12:11:19 PDT 2019               3   \n",
       "\n",
       "                                RequesterAnnotation  \\\n",
       "0  BatchId:3821427;OriginalHitTemplateId:928390909;   \n",
       "1  BatchId:3821427;OriginalHitTemplateId:928390909;   \n",
       "2  BatchId:3821427;OriginalHitTemplateId:928390909;   \n",
       "\n",
       "   AssignmentDurationInSeconds  ...  RejectionTime RequesterFeedback  \\\n",
       "0                        10800  ...            NaN               NaN   \n",
       "1                        10800  ...            NaN               NaN   \n",
       "2                        10800  ...            NaN               NaN   \n",
       "\n",
       "   WorkTimeInSeconds  LifetimeApprovalRate Last30DaysApprovalRate  \\\n",
       "0                355              0% (0/0)               0% (0/0)   \n",
       "1                487              0% (0/0)               0% (0/0)   \n",
       "2               1052              0% (0/0)               0% (0/0)   \n",
       "\n",
       "  Last7DaysApprovalRate                                         Input.text  \\\n",
       "0              0% (0/0)  funny like a clown\\nGreetings again from the d...   \n",
       "1              0% (0/0)  funny like a clown\\nGreetings again from the d...   \n",
       "2              0% (0/0)  funny like a clown\\nGreetings again from the d...   \n",
       "\n",
       "  Answer.sentiment.label Approve Reject  \n",
       "0               Positive     NaN    NaN  \n",
       "1                Neutral     NaN    NaN  \n",
       "2               Positive     NaN    NaN  \n",
       "\n",
       "[3 rows x 31 columns]"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pos[:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['HITId',\n",
       " 'HITTypeId',\n",
       " 'Title',\n",
       " 'Description',\n",
       " 'Keywords',\n",
       " 'Reward',\n",
       " 'CreationTime',\n",
       " 'MaxAssignments',\n",
       " 'RequesterAnnotation',\n",
       " 'AssignmentDurationInSeconds',\n",
       " 'AutoApprovalDelayInSeconds',\n",
       " 'Expiration',\n",
       " 'NumberOfSimilarHITs',\n",
       " 'LifetimeInSeconds',\n",
       " 'AssignmentId',\n",
       " 'WorkerId',\n",
       " 'AssignmentStatus',\n",
       " 'AcceptTime',\n",
       " 'SubmitTime',\n",
       " 'AutoApprovalTime',\n",
       " 'ApprovalTime',\n",
       " 'RejectionTime',\n",
       " 'RequesterFeedback',\n",
       " 'WorkTimeInSeconds',\n",
       " 'LifetimeApprovalRate',\n",
       " 'Last30DaysApprovalRate',\n",
       " 'Last7DaysApprovalRate',\n",
       " 'Input.text',\n",
       " 'Answer.sentiment.label',\n",
       " 'Approve',\n",
       " 'Reject']"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "neg.columns.tolist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### How many unique turkers worked on each dataframe?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "53 Turkers worked on NEG batch\n",
      "38 Turkers worked on POS batch\n"
     ]
    }
   ],
   "source": [
    "def get_unique(df, column):\n",
    "    unique = np.unique(df[column], return_counts=True)\n",
    "    df = pd.DataFrame(zip(unique[0], unique[1]))\n",
    "    return len(unique[0]), unique, df\n",
    "\n",
    "num_neg, unique_neg, u_neg_df = get_unique(neg, 'WorkerId')    \n",
    "num_pos, unique_pos, u_pos_df = get_unique(pos, 'WorkerId')\n",
    "\n",
    "print(num_neg, 'Turkers worked on NEG batch')\n",
    "print(num_pos, 'Turkers worked on POS batch')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### How many HITS did each unique turker do?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x11aa920b8>"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "u_neg_df.plot(kind='bar',x=0,y=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x11c0be898>"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "u_pos_df.plot(kind='bar',x=0,y=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### What's the `max` and `min` HIT for unique turkers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "For neg, the min was: 1 and the max was: 37\n",
      "For pos, the min was: 1 and the max was: 40\n"
     ]
    }
   ],
   "source": [
    "print('For {}, the min was: {} and the max was: {}'.format('neg', unique_neg[1].min(), unique_neg[1].max())) \n",
    "print('For {}, the min was: {} and the max was: {}'.format('pos', unique_pos[1].min(), unique_pos[1].max())) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Did a specitic Sentiment take longer for turkers to assess? "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1, 'Negative')"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "sns.catplot(x=\"Answer.sentiment.label\", \n",
    "            y=\"WorkTimeInSeconds\", \n",
    "            kind=\"bar\", \n",
    "            order=['Negative', 'Neutral', 'Positive'], \n",
    "            data=neg);\n",
    "plt.title('Negative')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1, 'Positive')"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.catplot(x=\"Answer.sentiment.label\", \n",
    "            y=\"WorkTimeInSeconds\", \n",
    "            kind=\"bar\", \n",
    "            order=['Negative', 'Neutral', 'Positive'], \n",
    "            data=pos)\n",
    "plt.title('Positive')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### How many turkers had less than 10 second response time?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "response_time = neg[neg['WorkTimeInSeconds'] < 10]\n",
    "response_time_check = neg[neg['WorkTimeInSeconds'] > 10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "48"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(response_time)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "312"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(response_time_check)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Checking for potential bots"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Did anyone have a consistent average low response time?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>WorkTimeInSeconds</th>\n",
       "      <th>HITId</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WorkerId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>A13CLN8L5HFT46</td>\n",
       "      <td>7.230769</td>\n",
       "      <td>13.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A18WFPSLFV4FKY</td>\n",
       "      <td>47.000000</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1IQV3QUWRA8G1</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1N1ULK71RHVMM</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1S2MN0E9BHPVA</td>\n",
       "      <td>173.444444</td>\n",
       "      <td>27.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                WorkTimeInSeconds  HITId\n",
       "WorkerId                                \n",
       "A13CLN8L5HFT46           7.230769   13.0\n",
       "A18WFPSLFV4FKY          47.000000    2.0\n",
       "A1IQV3QUWRA8G1          22.000000    1.0\n",
       "A1N1ULK71RHVMM          10.000000    3.0\n",
       "A1S2MN0E9BHPVA         173.444444   27.0"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "count = pos.groupby(['WorkerId'])['HITId'].count()\n",
    "work_time = pos.groupby(['WorkerId'])['WorkTimeInSeconds'].mean()\n",
    "new_df = pd.DataFrame([work_time, count]).T\n",
    "new_df[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Did anyone have a consistent average high response time?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>WorkTimeInSeconds</th>\n",
       "      <th>HITId</th>\n",
       "      <th>WorkTimeInMin</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WorkerId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>A13CLN8L5HFT46</td>\n",
       "      <td>7.230769</td>\n",
       "      <td>13.0</td>\n",
       "      <td>0.120513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A18WFPSLFV4FKY</td>\n",
       "      <td>47.000000</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.783333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1IQV3QUWRA8G1</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.366667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1N1ULK71RHVMM</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.166667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1S2MN0E9BHPVA</td>\n",
       "      <td>173.444444</td>\n",
       "      <td>27.0</td>\n",
       "      <td>2.890741</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                WorkTimeInSeconds  HITId  WorkTimeInMin\n",
       "WorkerId                                               \n",
       "A13CLN8L5HFT46           7.230769   13.0       0.120513\n",
       "A18WFPSLFV4FKY          47.000000    2.0       0.783333\n",
       "A1IQV3QUWRA8G1          22.000000    1.0       0.366667\n",
       "A1N1ULK71RHVMM          10.000000    3.0       0.166667\n",
       "A1S2MN0E9BHPVA         173.444444   27.0       2.890741"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_df['WorkTimeInMin'] = new_df['WorkTimeInSeconds']/60\n",
    "new_df[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "WorkerId        Answer.sentiment.label\n",
       "A13CLN8L5HFT46  Neutral                    2\n",
       "                Positive                  11\n",
       "A18WFPSLFV4FKY  Positive                   2\n",
       "A1IQV3QUWRA8G1  Positive                   1\n",
       "A1N1ULK71RHVMM  Negative                   1\n",
       "                                          ..\n",
       "AMC42JMQA8A5U   Positive                   1\n",
       "AO2WNSGOXAX52   Neutral                    3\n",
       "                Positive                   1\n",
       "AOMFEAWQHU3D8   Neutral                    1\n",
       "                Positive                   6\n",
       "Name: Answer.sentiment.label, Length: 74, dtype: int64"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "count = pos.groupby(['WorkerId', 'Answer.sentiment.label'])['Answer.sentiment.label'].count()\n",
    "# count = pos.groupby(['WorkerId'])['Answer.sentiment.label'].count()\n",
    "count"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Did anyone answer ONLY pos/neg/neutral?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Neutral</th>\n",
       "      <th>Positive</th>\n",
       "      <th>Negative</th>\n",
       "      <th>Total</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WorkerId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>A13CLN8L5HFT46</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A18WFPSLFV4FKY</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1IQV3QUWRA8G1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1N1ULK71RHVMM</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1S2MN0E9BHPVA</td>\n",
       "      <td>2</td>\n",
       "      <td>21</td>\n",
       "      <td>4</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Neutral  Positive  Negative  Total\n",
       "WorkerId                                          \n",
       "A13CLN8L5HFT46        2        11         0     13\n",
       "A18WFPSLFV4FKY        0         2         0      2\n",
       "A1IQV3QUWRA8G1        0         1         0      1\n",
       "A1N1ULK71RHVMM        0         2         1      3\n",
       "A1S2MN0E9BHPVA        2        21         4     27"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pnn = pd.DataFrame()\n",
    "pnn['Neutral'] = pos.groupby('WorkerId')['Answer.sentiment.label'].apply(lambda x: (x=='Neutral').sum())\n",
    "pnn['Positive'] = pos.groupby('WorkerId')['Answer.sentiment.label'].apply(lambda x: (x=='Positive').sum())\n",
    "pnn['Negative'] = pos.groupby('WorkerId')['Answer.sentiment.label'].apply(lambda x: (x=='Negative').sum())\n",
    "pnn['Total'] = pos.groupby('WorkerId')['Answer.sentiment.label'].apply(lambda x: x.count())\n",
    "pnn[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### This is getting a little confusing, let's just look at our top performers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [],
   "source": [
    "top = pnn.sort_values(by=['Total'], ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Neutral</th>\n",
       "      <th>Positive</th>\n",
       "      <th>Negative</th>\n",
       "      <th>Total</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WorkerId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1Y66T7FKJ8PJA</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A33ENZVC1XB4BA</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1S2MN0E9BHPVA</td>\n",
       "      <td>2</td>\n",
       "      <td>21</td>\n",
       "      <td>4</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A37L5E8MHHQGZM</td>\n",
       "      <td>6</td>\n",
       "      <td>13</td>\n",
       "      <td>3</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>AE03LUY7RH400</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A2G44A4ZPWRPXU</td>\n",
       "      <td>4</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1YK1IKACUJMV4</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A3AW887GI0NLKF</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A3HAEQW13YPT6A</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Neutral  Positive  Negative  Total\n",
       "WorkerId                                          \n",
       "A681XM15AN28F        13        20         7     40\n",
       "A1Y66T7FKJ8PJA        5        23         7     35\n",
       "A33ENZVC1XB4BA        0        34         0     34\n",
       "A1S2MN0E9BHPVA        2        21         4     27\n",
       "A37L5E8MHHQGZM        6        13         3     22\n",
       "AE03LUY7RH400         4        10         7     21\n",
       "A2G44A4ZPWRPXU        4        12         2     18\n",
       "A1YK1IKACUJMV4        0        15         0     15\n",
       "A3AW887GI0NLKF        3        10         2     15\n",
       "A3HAEQW13YPT6A        0        14         0     14"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "top[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Interesting!! Looking from here, we have three workers who ONLY chose positive. \n",
    "\n",
    "Let's look at their response time to see if we can determine if they are a bot!!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "top['Avg_WorkTimeInSeconds'] = pos.groupby('WorkerId')['WorkTimeInSeconds'].apply(lambda x: x.mean())\n",
    "top['Avg_WorkTimeInMin'] = pos.groupby('WorkerId')['WorkTimeInSeconds'].apply(lambda x: x.mean()/60)\n",
    "top['Min_WorkTimeInMin'] = pos.groupby('WorkerId')['WorkTimeInSeconds'].apply(lambda x: x.min()/60)\n",
    "top['Max_WorkTimeInMin'] = pos.groupby('WorkerId')['WorkTimeInSeconds'].apply(lambda x: x.max()/60)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Neutral</th>\n",
       "      <th>Positive</th>\n",
       "      <th>Negative</th>\n",
       "      <th>Total</th>\n",
       "      <th>Avg_WorkTimeInSeconds</th>\n",
       "      <th>Avg_WorkTimeInMin</th>\n",
       "      <th>Min_WorkTimeInMin</th>\n",
       "      <th>Max_WorkTimeInMin</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WorkerId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>40</td>\n",
       "      <td>13.575000</td>\n",
       "      <td>0.226250</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>0.833333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1Y66T7FKJ8PJA</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "      <td>35</td>\n",
       "      <td>695.857143</td>\n",
       "      <td>11.597619</td>\n",
       "      <td>0.216667</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A33ENZVC1XB4BA</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>366.647059</td>\n",
       "      <td>6.110784</td>\n",
       "      <td>0.616667</td>\n",
       "      <td>9.916667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1S2MN0E9BHPVA</td>\n",
       "      <td>2</td>\n",
       "      <td>21</td>\n",
       "      <td>4</td>\n",
       "      <td>27</td>\n",
       "      <td>173.444444</td>\n",
       "      <td>2.890741</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>4.983333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A37L5E8MHHQGZM</td>\n",
       "      <td>6</td>\n",
       "      <td>13</td>\n",
       "      <td>3</td>\n",
       "      <td>22</td>\n",
       "      <td>346.272727</td>\n",
       "      <td>5.771212</td>\n",
       "      <td>2.150000</td>\n",
       "      <td>8.283333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>AE03LUY7RH400</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>21</td>\n",
       "      <td>102.238095</td>\n",
       "      <td>1.703968</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>3.433333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A2G44A4ZPWRPXU</td>\n",
       "      <td>4</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>18</td>\n",
       "      <td>221.277778</td>\n",
       "      <td>3.687963</td>\n",
       "      <td>0.383333</td>\n",
       "      <td>7.383333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1YK1IKACUJMV4</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>593.600000</td>\n",
       "      <td>9.893333</td>\n",
       "      <td>1.716667</td>\n",
       "      <td>11.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A3AW887GI0NLKF</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "      <td>269.400000</td>\n",
       "      <td>4.490000</td>\n",
       "      <td>1.616667</td>\n",
       "      <td>7.216667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A3HAEQW13YPT6A</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>442.928571</td>\n",
       "      <td>7.382143</td>\n",
       "      <td>0.866667</td>\n",
       "      <td>11.100000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Neutral  Positive  Negative  Total  Avg_WorkTimeInSeconds  \\\n",
       "WorkerId                                                                    \n",
       "A681XM15AN28F        13        20         7     40              13.575000   \n",
       "A1Y66T7FKJ8PJA        5        23         7     35             695.857143   \n",
       "A33ENZVC1XB4BA        0        34         0     34             366.647059   \n",
       "A1S2MN0E9BHPVA        2        21         4     27             173.444444   \n",
       "A37L5E8MHHQGZM        6        13         3     22             346.272727   \n",
       "AE03LUY7RH400         4        10         7     21             102.238095   \n",
       "A2G44A4ZPWRPXU        4        12         2     18             221.277778   \n",
       "A1YK1IKACUJMV4        0        15         0     15             593.600000   \n",
       "A3AW887GI0NLKF        3        10         2     15             269.400000   \n",
       "A3HAEQW13YPT6A        0        14         0     14             442.928571   \n",
       "\n",
       "                Avg_WorkTimeInMin  Min_WorkTimeInMin  Max_WorkTimeInMin  \n",
       "WorkerId                                                                 \n",
       "A681XM15AN28F            0.226250           0.100000           0.833333  \n",
       "A1Y66T7FKJ8PJA          11.597619           0.216667          22.000000  \n",
       "A33ENZVC1XB4BA           6.110784           0.616667           9.916667  \n",
       "A1S2MN0E9BHPVA           2.890741           0.400000           4.983333  \n",
       "A37L5E8MHHQGZM           5.771212           2.150000           8.283333  \n",
       "AE03LUY7RH400            1.703968           0.100000           3.433333  \n",
       "A2G44A4ZPWRPXU           3.687963           0.383333           7.383333  \n",
       "A1YK1IKACUJMV4           9.893333           1.716667          11.000000  \n",
       "A3AW887GI0NLKF           4.490000           1.616667           7.216667  \n",
       "A3HAEQW13YPT6A           7.382143           0.866667          11.100000  "
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "top[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Even more interesting! These two don't appear to be bots, based on our current metric which is time variability.\n",
    "\n",
    "HOWEVER, worker `A681XM15AN28F` appears to only work for an average of 13 seconds per review which doesn't seem like enough time to read and judge a review..."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## PART 2: Second submission to AMT\n",
    "\n",
    "TOO MANY REVIEWERS!\n",
    "\n",
    "Here is when we realized that doing a kappa score with over 30 individual reviewers would be tricky, so we rusubmitted to AMT and required the turkers to be 'Master' in the hopes that this additional barrier-to-entry would help reduce the amount of turkers working on the project"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "293"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v2 = pd.read_csv('HW5_amt_v2.csv')\n",
    "v2[:5]\n",
    "len(v2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This time, I didn't separate the df into pos and neg before submitting to AMT, so we have to reimport the labels."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels = pd.read_csv('all_JK_extremes_labeled.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "98"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(labels)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Oops! That's right, we replicated each review * 3 so three separate people could look at each review"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels2 = labels.append([labels] * 2, ignore_index=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "294"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(labels2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>PoN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>76</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>174</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>272</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>116</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>227</td>\n",
       "      <td>lose of both time and money\\nThis was one of ...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>31</td>\n",
       "      <td>lose of both time and money\\nThis was one of ...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>207</td>\n",
       "      <td>poor plot\\nPoor plot. i find no reason for jo...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>poor plot\\nPoor plot. i find no reason for jo...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>109</td>\n",
       "      <td>poor plot\\nPoor plot. i find no reason for jo...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>294 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                     0 PoN\n",
       "76    #LetRottenTomatoesRotSquad\\nI am a simple guy...   P\n",
       "174   #LetRottenTomatoesRotSquad\\nI am a simple guy...   P\n",
       "272   #LetRottenTomatoesRotSquad\\nI am a simple guy...   P\n",
       "116   A 'Triumph of the Will' for Nihilists\\n'Joker...   N\n",
       "18    A 'Triumph of the Will' for Nihilists\\n'Joker...   N\n",
       "..                                                 ...  ..\n",
       "227   lose of both time and money\\nThis was one of ...   N\n",
       "31    lose of both time and money\\nThis was one of ...   N\n",
       "207   poor plot\\nPoor plot. i find no reason for jo...   N\n",
       "11    poor plot\\nPoor plot. i find no reason for jo...   N\n",
       "109   poor plot\\nPoor plot. i find no reason for jo...   N\n",
       "\n",
       "[294 rows x 2 columns]"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "labels2.sort_values(by='0')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Shoot! I realized I had to delete some emojis for the csv to be accepted by AMT, so the reviews themselves won't actually be matching... solution: Create two 'for-matching' columns made up of the first 5 words of each review"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [],
   "source": [
    "v2['for_matching'] = v2.apply(lambda x: x['Input.text'].split()[:5], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels2['for_matching'] = labels2.apply(lambda x: x['0'].split()[:5], axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Annnnnd why did I do that when I could just sort the df and apply the PoN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>PoN</th>\n",
       "      <th>for_matching</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>76</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "      <td>[#LetRottenTomatoesRotSquad, I, am, a, simple]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>174</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "      <td>[#LetRottenTomatoesRotSquad, I, am, a, simple]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>272</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "      <td>[#LetRottenTomatoesRotSquad, I, am, a, simple]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>116</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "      <td>[A, 'Triumph, of, the, Will']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "      <td>[A, 'Triumph, of, the, Will']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>214</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "      <td>[A, 'Triumph, of, the, Will']</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                     0 PoN  \\\n",
       "76    #LetRottenTomatoesRotSquad\\nI am a simple guy...   P   \n",
       "174   #LetRottenTomatoesRotSquad\\nI am a simple guy...   P   \n",
       "272   #LetRottenTomatoesRotSquad\\nI am a simple guy...   P   \n",
       "116   A 'Triumph of the Will' for Nihilists\\n'Joker...   N   \n",
       "18    A 'Triumph of the Will' for Nihilists\\n'Joker...   N   \n",
       "214   A 'Triumph of the Will' for Nihilists\\n'Joker...   N   \n",
       "\n",
       "                                       for_matching  \n",
       "76   [#LetRottenTomatoesRotSquad, I, am, a, simple]  \n",
       "174  [#LetRottenTomatoesRotSquad, I, am, a, simple]  \n",
       "272  [#LetRottenTomatoesRotSquad, I, am, a, simple]  \n",
       "116                   [A, 'Triumph, of, the, Will']  \n",
       "18                    [A, 'Triumph, of, the, Will']  \n",
       "214                   [A, 'Triumph, of, the, Will']  "
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted_labels = labels2.sort_values(by='0')\n",
    "sorted_labels[:6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Input.text</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Approve</th>\n",
       "      <th>Reject</th>\n",
       "      <th>for_matching</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>229</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[#LetRottenTomatoesRotSquad, I, am, a, simple]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>228</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[#LetRottenTomatoesRotSquad, I, am, a, simple]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>227</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[#LetRottenTomatoesRotSquad, I, am, a, simple]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>53</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>Neutral</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[A, 'Triumph, of, the, Will']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>55</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[A, 'Triumph, of, the, Will']</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>54</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[A, 'Triumph, of, the, Will']</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                            Input.text Answer.sentiment.label  \\\n",
       "229   #LetRottenTomatoesRotSquad\\nI am a simple guy...               Positive   \n",
       "228   #LetRottenTomatoesRotSquad\\nI am a simple guy...               Positive   \n",
       "227   #LetRottenTomatoesRotSquad\\nI am a simple guy...               Positive   \n",
       "53    A 'Triumph of the Will' for Nihilists\\n'Joker...                Neutral   \n",
       "55    A 'Triumph of the Will' for Nihilists\\n'Joker...               Negative   \n",
       "54    A 'Triumph of the Will' for Nihilists\\n'Joker...               Negative   \n",
       "\n",
       "     Approve  Reject                                    for_matching  \n",
       "229      NaN     NaN  [#LetRottenTomatoesRotSquad, I, am, a, simple]  \n",
       "228      NaN     NaN  [#LetRottenTomatoesRotSquad, I, am, a, simple]  \n",
       "227      NaN     NaN  [#LetRottenTomatoesRotSquad, I, am, a, simple]  \n",
       "53       NaN     NaN                   [A, 'Triumph, of, the, Will']  \n",
       "55       NaN     NaN                   [A, 'Triumph, of, the, Will']  \n",
       "54       NaN     NaN                   [A, 'Triumph, of, the, Will']  "
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted_v2 = v2.sort_values(by='Input.text')\n",
    "sorted_v2[sorted_v2.columns[-5:]][:6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_df = sorted_v2.copy()\n",
    "# all_df['PoN'] = sorted_labels['PoN'].tolist()\n",
    "# THIS DIDN'T WORK BECAUSE I DIDN'T WAIT UNTIL ALL WERE DONE FROM AMT. RESEARCHER ERROR BUT OMG I HATE MYSELF"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "293"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(all_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "97.66666666666667"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "293/3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Confirming that YEP. 293 isn't divisible by 3, meaning I didn't wait until the last turker finished. omg."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Reuploading now -- WITH BETTER CODE AND BETTER VARIABLE NAMES!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "294\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Last7DaysApprovalRate</th>\n",
       "      <th>Input.text</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Approve</th>\n",
       "      <th>Reject</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>0% (0/0)</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Last7DaysApprovalRate                                         Input.text  \\\n",
       "0              0% (0/0)   Everyone praised an overrated movie.\\nOverrat...   \n",
       "1              0% (0/0)   Everyone praised an overrated movie.\\nOverrat...   \n",
       "2              0% (0/0)   Everyone praised an overrated movie.\\nOverrat...   \n",
       "3              0% (0/0)   What idiotic FIlm\\nI can say that Phoenix is ...   \n",
       "4              0% (0/0)   What idiotic FIlm\\nI can say that Phoenix is ...   \n",
       "\n",
       "  Answer.sentiment.label  Approve  Reject  \n",
       "0               Negative      NaN     NaN  \n",
       "1               Negative      NaN     NaN  \n",
       "2               Negative      NaN     NaN  \n",
       "3               Negative      NaN     NaN  \n",
       "4               Negative      NaN     NaN  "
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "turker = pd.read_csv('HW5_amt_294.csv')\n",
    "print(len(turker))\n",
    "turker[turker.columns[-5:]][:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "294\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>PoN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>Terrible\\nThe only thing good about this movi...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>Watch Taxi Driver instead\\nThis is a poor att...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>I learned one thing.\\nIt borrows a lot of ele...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                   0 PoN\n",
       "0   Everyone praised an overrated movie.\\nOverrat...   N\n",
       "1   What idiotic FIlm\\nI can say that Phoenix is ...   N\n",
       "2   Terrible\\nThe only thing good about this movi...   N\n",
       "3   Watch Taxi Driver instead\\nThis is a poor att...   N\n",
       "4   I learned one thing.\\nIt borrows a lot of ele...   N"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Getting labels...\n",
    "labels = pd.read_csv('all_JK_extremes_labeled.csv')\n",
    "# X3\n",
    "labels = labels.append([labels] * 2, ignore_index=True)\n",
    "print(len(labels))\n",
    "labels[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### NOW, TO SORT!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "sorted_labels = labels.sort_values(by=['0'])\n",
    "sorted_turker = turker.sort_values(by=['Input.text'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>PoN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>76</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>174</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>272</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>116</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                     0 PoN\n",
       "76    #LetRottenTomatoesRotSquad\\nI am a simple guy...   P\n",
       "174   #LetRottenTomatoesRotSquad\\nI am a simple guy...   P\n",
       "272   #LetRottenTomatoesRotSquad\\nI am a simple guy...   P\n",
       "116   A 'Triumph of the Will' for Nihilists\\n'Joker...   N\n",
       "18    A 'Triumph of the Will' for Nihilists\\n'Joker...   N"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted_labels[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "228     #LetRottenTomatoesRotSquad\\nI am a simple guy...\n",
       "229     #LetRottenTomatoesRotSquad\\nI am a simple guy...\n",
       "230     #LetRottenTomatoesRotSquad\\nI am a simple guy...\n",
       "56      A 'Triumph of the Will' for Nihilists\\n'Joker...\n",
       "55      A 'Triumph of the Will' for Nihilists\\n'Joker...\n",
       "Name: Input.text, dtype: object"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted_turker['Input.text'][:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "OMG HOORAY HOORAY HOORAY!!\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "NOTE: FUN FACT!! I can type here and then hit the `esc` key to turn this cell into markdown!!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Input.text</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Approve</th>\n",
       "      <th>Reject</th>\n",
       "      <th>PoN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>228</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>229</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>230</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>Positive</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>56</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>55</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>Negative</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                            Input.text Answer.sentiment.label  \\\n",
       "228   #LetRottenTomatoesRotSquad\\nI am a simple guy...               Positive   \n",
       "229   #LetRottenTomatoesRotSquad\\nI am a simple guy...               Positive   \n",
       "230   #LetRottenTomatoesRotSquad\\nI am a simple guy...               Positive   \n",
       "56    A 'Triumph of the Will' for Nihilists\\n'Joker...               Negative   \n",
       "55    A 'Triumph of the Will' for Nihilists\\n'Joker...               Negative   \n",
       "\n",
       "     Approve  Reject PoN  \n",
       "228      NaN     NaN   P  \n",
       "229      NaN     NaN   P  \n",
       "230      NaN     NaN   P  \n",
       "56       NaN     NaN   N  \n",
       "55       NaN     NaN   N  "
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# YUCK THIS IS SO AGGRIVATING!! This line below doens't work because it still uses indexes.\n",
    "# So the P and N didn't match up \n",
    "# sorted_turker['PoN'] = sorted_labels['PoN']\n",
    "sorted_turker['PoN'] = sorted_labels['PoN'].tolist()\n",
    "sorted_turker[sorted_turker.columns[-5:]][:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## PART 3: ANALYZE"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, let's clean ALL the things"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_df = sorted_turker[['Input.text', 'WorkerId', 'Answer.sentiment.label', 'PoN']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Input.text</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>PoN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>228</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Positive</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>229</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Positive</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>230</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>AURYD2FH3FUOQ</td>\n",
       "      <td>Positive</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>56</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>A1T79J0XQXDDGC</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>55</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                            Input.text        WorkerId  \\\n",
       "228   #LetRottenTomatoesRotSquad\\nI am a simple guy...   A681XM15AN28F   \n",
       "229   #LetRottenTomatoesRotSquad\\nI am a simple guy...  A2XFO0X6RCS98M   \n",
       "230   #LetRottenTomatoesRotSquad\\nI am a simple guy...   AURYD2FH3FUOQ   \n",
       "56    A 'Triumph of the Will' for Nihilists\\n'Joker...  A1T79J0XQXDDGC   \n",
       "55    A 'Triumph of the Will' for Nihilists\\n'Joker...  A2XFO0X6RCS98M   \n",
       "\n",
       "    Answer.sentiment.label PoN  \n",
       "228               Positive   P  \n",
       "229               Positive   P  \n",
       "230               Positive   P  \n",
       "56                Negative   N  \n",
       "55                Negative   N  "
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_df[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_df_all = all_df.copy()\n",
    "all_df_all['APoN'] = all_df_all.apply(lambda x: x['Answer.sentiment.label'][0], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Input.text</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>PoN</th>\n",
       "      <th>APoN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>228</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Positive</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>229</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Positive</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>230</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>AURYD2FH3FUOQ</td>\n",
       "      <td>Positive</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>56</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>A1T79J0XQXDDGC</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>55</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>265</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Positive</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>266</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "      <td>A38DC3BG1ZCVZ2</td>\n",
       "      <td>Positive</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>93</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>94</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>95</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "      <td>ASB8T0H7L99RF</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>294 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                            Input.text        WorkerId  \\\n",
       "228   #LetRottenTomatoesRotSquad\\nI am a simple guy...   A681XM15AN28F   \n",
       "229   #LetRottenTomatoesRotSquad\\nI am a simple guy...  A2XFO0X6RCS98M   \n",
       "230   #LetRottenTomatoesRotSquad\\nI am a simple guy...   AURYD2FH3FUOQ   \n",
       "56    A 'Triumph of the Will' for Nihilists\\n'Joker...  A1T79J0XQXDDGC   \n",
       "55    A 'Triumph of the Will' for Nihilists\\n'Joker...  A2XFO0X6RCS98M   \n",
       "..                                                 ...             ...   \n",
       "265  Venice 76 review\\nI have just watched the Joke...   ARLGZWN6W91WD   \n",
       "266  Venice 76 review\\nI have just watched the Joke...  A38DC3BG1ZCVZ2   \n",
       "93   lose of both time and money\\nThis was one of t...  A2XFO0X6RCS98M   \n",
       "94   lose of both time and money\\nThis was one of t...  A3EZ0H07TSDAPW   \n",
       "95   lose of both time and money\\nThis was one of t...   ASB8T0H7L99RF   \n",
       "\n",
       "    Answer.sentiment.label PoN APoN  \n",
       "228               Positive   P    P  \n",
       "229               Positive   P    P  \n",
       "230               Positive   P    P  \n",
       "56                Negative   N    N  \n",
       "55                Negative   N    N  \n",
       "..                     ...  ..  ...  \n",
       "265               Positive   N    P  \n",
       "266               Positive   N    P  \n",
       "93                Negative   N    N  \n",
       "94                Negative   N    N  \n",
       "95                Negative   N    N  \n",
       "\n",
       "[294 rows x 5 columns]"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_df_all"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_df_all['agree'] = all_df_all.apply(lambda x: x['PoN'] == x['APoN'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Input.text</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>PoN</th>\n",
       "      <th>APoN</th>\n",
       "      <th>agree</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>38</td>\n",
       "      <td>This is extremely bad...\\nThis whole film make...</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>216</td>\n",
       "      <td>Took my 65 year old mother to see it.\\nI saw t...</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Positive</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>217</td>\n",
       "      <td>Took my 65 year old mother to see it.\\nI saw t...</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Positive</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>218</td>\n",
       "      <td>Took my 65 year old mother to see it.\\nI saw t...</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Positive</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>264</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Positive</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>265</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Positive</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>266</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "      <td>A38DC3BG1ZCVZ2</td>\n",
       "      <td>Positive</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>93</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>94</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>95</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "      <td>ASB8T0H7L99RF</td>\n",
       "      <td>Negative</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                            Input.text        WorkerId  \\\n",
       "38   This is extremely bad...\\nThis whole film make...  A3EZ0H07TSDAPW   \n",
       "216  Took my 65 year old mother to see it.\\nI saw t...  A3EZ0H07TSDAPW   \n",
       "217  Took my 65 year old mother to see it.\\nI saw t...  A2XFO0X6RCS98M   \n",
       "218  Took my 65 year old mother to see it.\\nI saw t...   AKSJ3C5O3V9RB   \n",
       "264  Venice 76 review\\nI have just watched the Joke...  A3EZ0H07TSDAPW   \n",
       "265  Venice 76 review\\nI have just watched the Joke...   ARLGZWN6W91WD   \n",
       "266  Venice 76 review\\nI have just watched the Joke...  A38DC3BG1ZCVZ2   \n",
       "93   lose of both time and money\\nThis was one of t...  A2XFO0X6RCS98M   \n",
       "94   lose of both time and money\\nThis was one of t...  A3EZ0H07TSDAPW   \n",
       "95   lose of both time and money\\nThis was one of t...   ASB8T0H7L99RF   \n",
       "\n",
       "    Answer.sentiment.label PoN APoN  agree  \n",
       "38                Negative   N    N   True  \n",
       "216               Positive   N    P  False  \n",
       "217               Positive   N    P  False  \n",
       "218               Positive   N    P  False  \n",
       "264               Positive   N    P  False  \n",
       "265               Positive   N    P  False  \n",
       "266               Positive   N    P  False  \n",
       "93                Negative   N    N   True  \n",
       "94                Negative   N    N   True  \n",
       "95                Negative   N    N   True  "
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_df_all[-10:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Lets see how many agree!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Input.text</th>\n",
       "      <th>PoN</th>\n",
       "      <th>agree</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>A Breath of Fresh Cinema\\nBursting with emoti...</td>\n",
       "      <td>P</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>A MASTERPIECE\\nJoaquin Phoenix's performance ...</td>\n",
       "      <td>N</td>\n",
       "      <td>0.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>A brilliant movie\\nThis movie is slow but nev...</td>\n",
       "      <td>P</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                          Input.text PoN     agree\n",
       "0   #LetRottenTomatoesRotSquad\\nI am a simple guy...   P  1.000000\n",
       "1   A 'Triumph of the Will' for Nihilists\\n'Joker...   N  1.000000\n",
       "2   A Breath of Fresh Cinema\\nBursting with emoti...   P  1.000000\n",
       "3   A MASTERPIECE\\nJoaquin Phoenix's performance ...   N  0.333333\n",
       "4   A brilliant movie\\nThis movie is slow but nev...   P  1.000000"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "agree_df = pd.DataFrame(all_df_all.groupby(['Input.text','PoN'])['agree'].mean())\n",
    "agree_df = agree_df.reset_index()\n",
    "agree_df[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "OK so this actually gave us something we want...\n",
    "BUT PLEASE TELL ME THE BETTER WAY!!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Input.text</th>\n",
       "      <th>PoN</th>\n",
       "      <th>agree</th>\n",
       "      <th>agree_factor</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "      <td>P</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>agree</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "      <td>N</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>agree</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>A Breath of Fresh Cinema\\nBursting with emoti...</td>\n",
       "      <td>P</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>agree</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>A MASTERPIECE\\nJoaquin Phoenix's performance ...</td>\n",
       "      <td>N</td>\n",
       "      <td>0.333333</td>\n",
       "      <td>disparity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>A brilliant movie\\nThis movie is slow but nev...</td>\n",
       "      <td>P</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>agree</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>93</td>\n",
       "      <td>The mirror of society\\nActing 10/10\\nActors 10...</td>\n",
       "      <td>N</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>agree_wrong</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>94</td>\n",
       "      <td>This is extremely bad...\\nThis whole film make...</td>\n",
       "      <td>N</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>agree</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>95</td>\n",
       "      <td>Took my 65 year old mother to see it.\\nI saw t...</td>\n",
       "      <td>N</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>agree_wrong</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>96</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "      <td>N</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>agree_wrong</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>97</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "      <td>N</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>agree</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>98 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           Input.text PoN     agree  \\\n",
       "0    #LetRottenTomatoesRotSquad\\nI am a simple guy...   P  1.000000   \n",
       "1    A 'Triumph of the Will' for Nihilists\\n'Joker...   N  1.000000   \n",
       "2    A Breath of Fresh Cinema\\nBursting with emoti...   P  1.000000   \n",
       "3    A MASTERPIECE\\nJoaquin Phoenix's performance ...   N  0.333333   \n",
       "4    A brilliant movie\\nThis movie is slow but nev...   P  1.000000   \n",
       "..                                                ...  ..       ...   \n",
       "93  The mirror of society\\nActing 10/10\\nActors 10...   N  0.000000   \n",
       "94  This is extremely bad...\\nThis whole film make...   N  1.000000   \n",
       "95  Took my 65 year old mother to see it.\\nI saw t...   N  0.000000   \n",
       "96  Venice 76 review\\nI have just watched the Joke...   N  0.000000   \n",
       "97  lose of both time and money\\nThis was one of t...   N  1.000000   \n",
       "\n",
       "   agree_factor  \n",
       "0         agree  \n",
       "1         agree  \n",
       "2         agree  \n",
       "3     disparity  \n",
       "4         agree  \n",
       "..          ...  \n",
       "93  agree_wrong  \n",
       "94        agree  \n",
       "95  agree_wrong  \n",
       "96  agree_wrong  \n",
       "97        agree  \n",
       "\n",
       "[98 rows x 4 columns]"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def return_agreement(num):\n",
    "    if num == 0:\n",
    "        return 'agree_wrong'\n",
    "    if num == 1:\n",
    "        return 'agree'\n",
    "    if (num/1) !=0:\n",
    "        return 'disparity'\n",
    "\n",
    "agree_df['agree_factor'] = agree_df.apply(lambda x: return_agreement(x['agree']), axis=1)\n",
    "agree_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>agree_factor</th>\n",
       "      <th>Input.text</th>\n",
       "      <th>PoN</th>\n",
       "      <th>agree</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>agree</td>\n",
       "      <td>33</td>\n",
       "      <td>33</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>agree_wrong</td>\n",
       "      <td>31</td>\n",
       "      <td>31</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>disparity</td>\n",
       "      <td>34</td>\n",
       "      <td>34</td>\n",
       "      <td>34</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  agree_factor  Input.text  PoN  agree\n",
       "0        agree          33   33     33\n",
       "1  agree_wrong          31   31     31\n",
       "2    disparity          34   34     34"
      ]
     },
     "execution_count": 122,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1 = agree_df.groupby(['agree_factor']).count()\n",
    "df1.reset_index(inplace=True)\n",
    "df1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'How many turkers agreed on sentiment?')"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAEICAYAAABGaK+TAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAXgUlEQVR4nO3debhddX3v8fcHAoKCDBIjkwSFB8FaoOaiFkQEHFAr3KtSqa1R8aa2jtcR7b0OSFtte0W9dSiCEhVFhFJwqIoIKj4VDMogBIUiSJCQA4IMShX83j/W78DmZJ+cneScnCx4v57nPGet328N3733Op/89m8PSVUhSeqfDWa7AEnSmjHAJamnDHBJ6ikDXJJ6ygCXpJ4ywCWppwxwrXNJTkxyzGzXsT5Jck2Sg2e7jumS5N+TLJztOh7oDPApDPvDSvKyJOfNVk2zKUkl2WW269D6I8m7k3x2sK2qDqmqxbNQy/0GB0m2TPLpJL9I8ssk/y9J1nVdM8UA1zqVZMNpPNac6TpWH86rNbI18CNgj/bzPOBFs1rRNDLAp0GS3ZOcm+TWJJcleX5r37m1bdDWP5FkxcB+n0nyhkmOeU2StyS5JMmdSU5IMq89Nb09yTeTbDWw/ReTLE/yqyTfSfL4gb4Tk3wkyVfavucneWzr+0iS/zvh3Gcm+V9DavpOW7w4yR1J/nTYs5HBUXo798eSfDXJncDTJ2y7eZJzknw4nYck+ackP09yY5KPJ9m0bXtAkmVJ3pZkOfCpJNsk+XK7n3+Z5Lvj9/eQ+j+U5LoktyW5MMlTB/o2TbI4yS1JliZ5a5JlEx6PtyW5BLgzyZwk2yU5LclYkp8led3A9hskOSrJfya5OckpSbYe6P+LJNe2vr8ZVu/Atlu0UeRY2+d/D1xTL0tyXrvPbml1HLKKY70tyfXtOvhJkoOmqjfJ/PaYLmyPy03jNSd5NvAO4E/bNXFxaz83ySsHavxekmPb43R1kj9u7dclWZGB6ZYRr4E3tf1uSPLy1rcIeAnw1lbLl6rq6qo6tqpurarlwE+Beau6v3ulqvxZxQ9wDXDwhLaXAee15Y2Aq+gu4o2BA4Hbgd1a/8+BJ7blnwBXA7sP9O29ivN+n+5i2x5YAfwQ2BvYBPgW8K6B7V8BbA48BPggcNFA34nAzcA+wBzgJODk1rcP8Atgg7a+DfBrYN4kdRWwy7D7Ytg27dy/AvalGzBs0tqOAR4BXAAcM7DvscCZdCOnzYEvAX/f+g4A7gbe327npsDfAx9vj8NGwFOBTFL7n7dzzgHeBCwHNml97wO+DWwF7ABcAiyb8HhcBOzYzrsBcCHwzva4P6Y9ts9q27++PX47tFr/Bfh869sDuAPYv/V9oN2ugyep+9PAGe3+mE8XQkcO3P+/A/4nsCHwV+3xXOk+AHYDrgO2a+vzgceOUO/89ph+ot32PYH/4r7r+N3AZyec61zglQM13g28vNV4DN21/5F2rmfS/c1sthrXwNHt8X4O3fW61cD1dswk9+MLgV8CO852rkxbPs12Aev7T/vDvQO4deDn19wX4E+lC4INBvb5PPDutvwZ4I3Ao+gC/B+AVwE7t2NtsIrzvmRg/TTgYwPrrwX+bZJ9t2x/cFu09ROB4wf6nwNcMbC+FHhGW34N8NVV3B9rEuCfntB/IvBJ4MfAWwbaA9xJC5XW9hTgZ235AOC3tNBtbUfThdsuk9W8ittyC7BnW743fNv6K1k5wF8xsP4k4OcTjvd24FMD9+lBA33b0gXtHLrQP3mg72Htdq0U4HSB91tgj4G2vwTOHbj/rxroe2i7/x815Fi70A0EDgY2mtC3qnrnt2PuMNB/AfDitvxupg7wKwf6ntCON2+g7WZgrxGvgd8Acwb6VwBPHri2VgpwYL/2eO+3Jjmwvv44hTKaw6pqy/Ef4K8H+rYDrquq3w+0XUs3aoZuVHcA3WjrO3QX9tPaz3cn7DfRjQPLvxmyvhl088pJ3tee/t5GFzbQjabHLR9Y/vX4vs1iutEp7fdnVlHTmrhuSNtz6UZzHx9om0sXQBe2p9q3Al9r7ePGququgfV/pHsG9I321PyoyYpI8uY2PfKrduwtuO8+2m5CncNqHmzbCdhuvM52vHdw39PznYDTB/qWAve0/vudq6rupAuwYbahG2leO9A2eH3BwGNbVb9ui4OP73jfVcAb6AJ3RZKTk2w3Qr0rnYeVr6GpTLx2qaph1/Mo18DNVXX3atby18CxVfWAevOBAb72fgHsOGHe9dHA9W3523Sj9APa8nl00wlPa+vT4c+AQ+lGVlvQjZigG82M4rPAoUn2BHYH/m01zn0n3R9cd8LkUUO2GfaVl5+g+8P8apKHtbab6P6QHz/wD+YWVTX4x3m/Y1XV7VX1pqp6DPB84I3j87qD2nz3W4HD6Z5ub0k3tTN+H91AN30wbscpbsd1dKPCLQd+Nq+q5wz0HzKhf5Oqur6d697jJ3ko3dTOMDfRjYR3GmgbvL5WS1V9rqr2a8cruumoqeqd8rBrUsskRrkG1qSWben+Vh9QDPC1dz7dCOCtSTZKcgDwJ8DJAFV1Jd0F+efAt6vqNrrRyAuYvgDfnG5O8ma6MP271dm5qpYBP6AbeZ9WVb9ZxeY30s33jrsYeHySvZJsQje6G9Vr6KaVvpRk0/Zs5BPAsUkeCZBk+yTPmuwASZ6XZJckoQvke4Bhz2o2p5s7HQPmJHkn8PCB/lOAtyfZKsn2rbZVuQC4vb0ouGl7FvQHSf5b6/848LdJdmp1zk1yaOs7FXhekv2SbEw3DTT0b7Gq7mm1/W26F3x3opuS++yw7VclyW5JDkzyEOAuuuty/L5aVb1TuRGYn0lePF4da3INDKnlMUPaX0D32s8DigG+lqrqt3SBfQjd6OGjwEur6oqBzb5N97TvuoH10L0oOR0+Tfe0+nrgcroXo1bXYrq5yammT94NLG5Pbw+vqp/SBdA3gSvpnmGMpLrJyUXAMuCM9g/A2+imRL7fpoO+Sffi22R2bdvcAfwH8NGqOmfIdl+nG/H/lO6+uov7T4kc3er4WTveqXT/KE5W+z10b0nbq+1zE3A83TMggA/RvRD3jSS30z0mT2r7Xga8Gvgc3Wj8lnbuybyW7pnO1XT37+foXkNYXQ+he7H2JrrpkEfSzduvst4RfLH9vjnJdFzTq3sNDDoB2KNdn4PPJE+ie/b1gJI2wa8HuST7043qdiovCpL8Fd2LdE+b7VqkyTgCF0k2onsb2fEP1vBOsm2Sfdv7oXeje5vh6bNdl7QqBviDXJLd6d7OuC3d+8cfrDame+/z7XTvsT+DbjpMWm85hSJJPeUIXJJ6ap1+Kc8222xT8+fPX5enlKTeu/DCC2+qqrkT29dpgM+fP58lS5asy1NKUu8luXZYu1MoktRTBrgk9ZQBLkk9ZYBLUk8Z4JLUUwa4JPWUAS5JPWWAS1JPGeCS1FPr9JOY0+GJb/n0bJeg9cyF//jS2S5BmhWOwCWppwxwSeopA1ySesoAl6SeMsAlqacMcEnqKQNcknrKAJeknhopwJNsmeTUJFckWZrkKUm2TnJWkivb761mulhJ0n1GHYF/CPhaVT0O2BNYChwFnF1VuwJnt3VJ0joyZYAn2QLYHzgBoKp+W1W3AocCi9tmi4HDZqpISdLKRhmB7wyMAZ9K8qMkxyd5GDCvqm5o2ywH5s1UkZKklY0S4HOAPwI+VlV7A3cyYbqkqgqoYTsnWZRkSZIlY2Nja1uvJKkZJcCXAcuq6vy2fipdoN+YZFuA9nvFsJ2r6riqWlBVC+bOnTsdNUuSGCHAq2o5cF2S3VrTQcDlwJnAwta2EDhjRiqUJA016veBvxY4KcnGwNXAy+nC/5QkRwLXAofPTImSpGFGCvCqughYMKTroOktR5I0Kj+JKUk9ZYBLUk8Z4JLUUwa4JPWUAS5JPWWAS1JPGeCS1FMGuCT1lAEuST1lgEtSTxngktRTBrgk9ZQBLkk9ZYBLUk8Z4JLUUwa4JPWUAS5JPWWAS1JPGeCS1FMGuCT1lAEuST1lgEtSTxngktRTBrgk9dScUTZKcg1wO3APcHdVLUiyNfAFYD5wDXB4Vd0yM2VKkiZanRH406tqr6pa0NaPAs6uql2Bs9u6JGkdWZsplEOBxW15MXDY2pcjSRrVqAFewDeSXJhkUWubV1U3tOXlwLxhOyZZlGRJkiVjY2NrWa4kadxIc+DAflV1fZJHAmcluWKws6oqSQ3bsaqOA44DWLBgwdBtJEmrb6QReFVd336vAE4H9gFuTLItQPu9YqaKlCStbMoAT/KwJJuPLwPPBH4MnAksbJstBM6YqSIlSSsbZQplHnB6kvHtP1dVX0vyA+CUJEcC1wKHz1yZkqSJpgzwqroa2HNI+83AQTNRlCRpan4SU5J6ygCXpJ4ywCWppwxwSeopA1ySesoAl6SeMsAlqacMcEnqKQNcknrKAJeknjLAJamnDHBJ6ikDXJJ6ygCXpJ4ywCWppwxwSeopA1ySesoAl6SeMsAlqacMcEnqKQNcknrKAJeknjLAJamnRg7wJBsm+VGSL7f1nZOcn+SqJF9IsvHMlSlJmmh1RuCvB5YOrL8fOLaqdgFuAY6czsIkSas2UoAn2QF4LnB8Ww9wIHBq22QxcNhMFChJGm7UEfgHgbcCv2/rjwBuraq72/oyYPthOyZZlGRJkiVjY2NrVawk6T5TBniS5wErqurCNTlBVR1XVQuqasHcuXPX5BCSpCHmjLDNvsDzkzwH2AR4OPAhYMskc9oofAfg+pkrU5I00ZQj8Kp6e1XtUFXzgRcD36qqlwDnAC9smy0EzpixKiVJK1mb94G/DXhjkqvo5sRPmJ6SJEmjGGUK5V5VdS5wblu+Gthn+kuSJI3CT2JKUk8Z4JLUUwa4JPWUAS5JPWWAS1JPGeCS1FMGuCT1lAEuST1lgEtSTxngktRTBrgk9ZQBLkk9ZYBLUk8Z4JLUU6v1dbKSJvfzo58w2yVoPfTod146Y8d2BC5JPWWAS1JPGeCS1FMGuCT1lAEuST1lgEtSTxngktRTBrgk9ZQBLkk9NWWAJ9kkyQVJLk5yWZL3tPadk5yf5KokX0iy8cyXK0kaN8oI/L+AA6tqT2Av4NlJngy8Hzi2qnYBbgGOnLkyJUkTTRng1bmjrW7Ufgo4EDi1tS8GDpuRCiVJQ400B55kwyQXASuAs4D/BG6tqrvbJsuA7SfZd1GSJUmWjI2NTUfNkiRGDPCquqeq9gJ2APYBHjfqCarquKpaUFUL5s6du4ZlSpImWq13oVTVrcA5wFOALZOMfx3tDsD101ybJGkVRnkXytwkW7blTYFnAEvpgvyFbbOFwBkzVaQkaWWj/IcO2wKLk2xIF/inVNWXk1wOnJzkGOBHwAkzWKckaYIpA7yqLgH2HtJ+Nd18uCRpFvhJTEnqKQNcknrKAJeknjLAJamnDHBJ6ikDXJJ6ygCXpJ4ywCWppwxwSeopA1ySesoAl6SeMsAlqacMcEnqKQNcknrKAJeknjLAJamnDHBJ6ikDXJJ6ygCXpJ4ywCWppwxwSeopA1ySesoAl6SemjLAk+yY5Jwklye5LMnrW/vWSc5KcmX7vdXMlytJGjfKCPxu4E1VtQfwZODVSfYAjgLOrqpdgbPbuiRpHZkywKvqhqr6YVu+HVgKbA8cCixumy0GDpupIiVJK1utOfAk84G9gfOBeVV1Q+taDsybZJ9FSZYkWTI2NrYWpUqSBo0c4Ek2A04D3lBVtw32VVUBNWy/qjquqhZU1YK5c+euVbGSpPuMFOBJNqIL75Oq6l9b841Jtm392wIrZqZESdIwo7wLJcAJwNKq+sBA15nAwra8EDhj+suTJE1mzgjb7Av8BXBpkota2zuA9wGnJDkSuBY4fGZKlCQNM2WAV9V5QCbpPmh6y5EkjcpPYkpSTxngktRTBrgk9ZQBLkk9ZYBLUk8Z4JLUUwa4JPWUAS5JPWWAS1JPGeCS1FMGuCT1lAEuST1lgEtSTxngktRTBrgk9ZQBLkk9ZYBLUk8Z4JLUUwa4JPWUAS5JPWWAS1JPGeCS1FMGuCT11JQBnuSTSVYk+fFA29ZJzkpyZfu91cyWKUmaaJQR+InAsye0HQWcXVW7Ame3dUnSOjRlgFfVd4BfTmg+FFjclhcDh01zXZKkKazpHPi8qrqhLS8H5k22YZJFSZYkWTI2NraGp5MkTbTWL2JWVQG1iv7jqmpBVS2YO3fu2p5OktSsaYDfmGRbgPZ7xfSVJEkaxZoG+JnAwra8EDhjesqRJI1qlLcRfh74D2C3JMuSHAm8D3hGkiuBg9u6JGkdmjPVBlV1xCRdB01zLZKk1eAnMSWppwxwSeopA1ySesoAl6SeMsAlqacMcEnqKQNcknrKAJeknjLAJamnDHBJ6ikDXJJ6ygCXpJ4ywCWppwxwSeopA1ySesoAl6SeMsAlqacMcEnqKQNcknrKAJeknjLAJamnDHBJ6ikDXJJ6ygCXpJ5aqwBP8uwkP0lyVZKjpqsoSdLU1jjAk2wIfAQ4BNgDOCLJHtNVmCRp1dZmBL4PcFVVXV1VvwVOBg6dnrIkSVOZsxb7bg9cN7C+DHjSxI2SLAIWtdU7kvxkLc6p+9sGuGm2i5ht+aeFs12CVua1Oe5dmY6j7DSscW0CfCRVdRxw3Eyf58EoyZKqWjDbdUgTeW2uG2szhXI9sOPA+g6tTZK0DqxNgP8A2DXJzkk2Bl4MnDk9ZUmSprLGUyhVdXeS1wBfBzYEPllVl01bZRqFU1NaX3ltrgOpqtmuQZK0BvwkpiT1lAEuST1lgM+iJIclqSSPm4VzX5Nkm3V9Xs2+JPckuSjJZUkuTvKmJBu0vgVJPjzbNa5KknOT+BZFDPDZdgRwXvs9svY1BtKa+k1V7VVVjweeQfd1GO8CqKolVfW6mTpxkhn/7MmDiQE+S5JsBuwHHEn3FkySbJDko0muSHJWkq8meWHruybJ+5P8EHhRkscm+VqSC5N8d3wUn2RuktOS/KD97NvaH5HkG23UdTwwLR8PU79V1Qq6T0q/Jp0DknwZIMnT2kj9oiQ/SrJ5ks2SnJ3kh0kuTXLv12ck+T/ty+3OS/L5JG9u7ecm+WCSJcDrV3GNPizJJ5Nc0M53aGvfNMnJSZYmOR3YdF3fT+sr/zWcPYcCX6uqnya5OckTgZ2B+XRfDvZIYCnwyYF9bq6qPwJIcjbwqqq6MsmTgI8CBwIfAo6tqvOSPJrubZ67042wzquqo5M8l+4fDomquro9q3vkhK43A6+uqu+1Acddrf2/V9VtbQru+0nOBBYALwD2BDYCfghcOHCsjcc/mZnkcwy/Rv8G+FZVvSLJlsAFSb4J/CXw66raPckftmMLA3w2HUEXttB9EdgRdI/HF6vq98DyJOdM2OcLcO/o/Y+BLyb3DqQf0n4fDOwx0P7wtv3+wP8AqKqvJLll2m+RHmi+B3wgyUnAv1bVsiQbAX+XZH/g93TfiTQP2Bc4o6ruAu5K8qUJx/rCwPJk1+gzgeePj9yBTYBH0127HwaoqkuSXDLdN7SvDPBZkGRrutHyE5IU3QehCjh9il3vbL83AG6tqr2GbLMB8OT2hzR4zrUrWg9YSR4D3AOsoBsJA1BV70vyFeA5wPeSPAt4MjAXeGJV/S7JNXRBO5U7B5Ynu0YDvKCqfjKhffVv1IOEc+Cz44XAZ6pqp6qaX1U7Aj8Dfgm8oM2FzwMOGLZzVd0G/CzJi6C78JPs2bq/Abx2fNsk4yH/HeDPWtshwFbTf7PUN0nmAh8H/rkmfKovyWOr6tKqej/dV2c8DtgCWNHC++nc9y153wP+JMkmbTT9vFWcdrJr9OvAa1uQk2Tv1j547f4B8IdrfIMfYAzw2XEEK4+2TwMeRfe1vJcDn6Wb6/vVJMd4CXBkkouBy7jvu9hfByxIckmSy4FXtfb3APsnuYxuKuXn03Rb1D+bthcmLwO+SReo7xmy3RuS/LhNWfwO+HfgJLrr61LgpcAVAFX1A7rvQrqkbXcpk1+7k12j76WbP7+k1fbe1v4xYLMkS4Gjuf/c+oOaH6VfzyTZrKruSPII4AJg36paPtt1SVMZuHYfSjdqXlRVvuA4g5wDX/98ub0CvzHwXsNbPXJcuv9WcRNgseE98xyBS1JPOQcuST1lgEtSTxngktRTBrgk9ZQBLkk99f8Bt8c0WKEzrwIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=['Agreed', 'Disagreed'],\n",
    "           y= [64,34],\n",
    "           data = df1);\n",
    "plt.title('How many turkers agreed on sentiment?')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'How many turkers agreed on sentiment, but were wrong?')"
      ]
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=\"agree_factor\", y=\"agree\", data=df1);\n",
    "plt.title('How many turkers agreed on sentiment, but were wrong?')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = agree_df.groupby(['agree_factor', 'PoN']).count()\n",
    "df2.reset_index(inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'What was the pos/neg split for the turkers?')"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=\"agree_factor\",\n",
    "           y=\"agree\",\n",
    "           hue=\"PoN\",\n",
    "           data=df2);\n",
    "plt.title(\"What was the pos/neg split for the turkers?\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## What was the kappa score for the turkers?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.33333333333333337"
      ]
     },
     "execution_count": 132,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Example code\n",
    "from sklearn.metrics import cohen_kappa_score\n",
    "y1 = [0,1,2,3,4,0,1,2,3,4,0,1,2,3,4]\n",
    "y2 = [0,1,2,2,4,1,2,3,0,0,0,2,2,4,4]\n",
    "cohen_kappa_score(y1,y2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### This was absolutely miserable and had me questioning both my intellect and the meaning of life"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "FIRST PASS: Oh boy! This will be super fun. First, I'm going to brainstorm \"out loud\" how I'm going to do this when AMT doesn't require that the same N turkers complete the task, making inter-rater reliability extremely hard to track when one turker has done 46/98 reviews and another has done 2/98"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's look at our top turkers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 393,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Neutral</th>\n",
       "      <th>Positive</th>\n",
       "      <th>Negative</th>\n",
       "      <th>Total</th>\n",
       "      <th>Avg_WorkTimeInSeconds</th>\n",
       "      <th>Avg_WorkTimeInMin</th>\n",
       "      <th>Min_WorkTimeInMin</th>\n",
       "      <th>Max_WorkTimeInMin</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WorkerId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>7</td>\n",
       "      <td>40</td>\n",
       "      <td>13.575000</td>\n",
       "      <td>0.226250</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>0.833333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1Y66T7FKJ8PJA</td>\n",
       "      <td>5</td>\n",
       "      <td>23</td>\n",
       "      <td>7</td>\n",
       "      <td>35</td>\n",
       "      <td>695.857143</td>\n",
       "      <td>11.597619</td>\n",
       "      <td>0.216667</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A33ENZVC1XB4BA</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>366.647059</td>\n",
       "      <td>6.110784</td>\n",
       "      <td>0.616667</td>\n",
       "      <td>9.916667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1S2MN0E9BHPVA</td>\n",
       "      <td>2</td>\n",
       "      <td>21</td>\n",
       "      <td>4</td>\n",
       "      <td>27</td>\n",
       "      <td>173.444444</td>\n",
       "      <td>2.890741</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>4.983333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A37L5E8MHHQGZM</td>\n",
       "      <td>6</td>\n",
       "      <td>13</td>\n",
       "      <td>3</td>\n",
       "      <td>22</td>\n",
       "      <td>346.272727</td>\n",
       "      <td>5.771212</td>\n",
       "      <td>2.150000</td>\n",
       "      <td>8.283333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>AE03LUY7RH400</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>21</td>\n",
       "      <td>102.238095</td>\n",
       "      <td>1.703968</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>3.433333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A2G44A4ZPWRPXU</td>\n",
       "      <td>4</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>18</td>\n",
       "      <td>221.277778</td>\n",
       "      <td>3.687963</td>\n",
       "      <td>0.383333</td>\n",
       "      <td>7.383333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A1YK1IKACUJMV4</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>593.600000</td>\n",
       "      <td>9.893333</td>\n",
       "      <td>1.716667</td>\n",
       "      <td>11.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A3AW887GI0NLKF</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "      <td>269.400000</td>\n",
       "      <td>4.490000</td>\n",
       "      <td>1.616667</td>\n",
       "      <td>7.216667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>A3HAEQW13YPT6A</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>442.928571</td>\n",
       "      <td>7.382143</td>\n",
       "      <td>0.866667</td>\n",
       "      <td>11.100000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Neutral  Positive  Negative  Total  Avg_WorkTimeInSeconds  \\\n",
       "WorkerId                                                                    \n",
       "A681XM15AN28F        13        20         7     40              13.575000   \n",
       "A1Y66T7FKJ8PJA        5        23         7     35             695.857143   \n",
       "A33ENZVC1XB4BA        0        34         0     34             366.647059   \n",
       "A1S2MN0E9BHPVA        2        21         4     27             173.444444   \n",
       "A37L5E8MHHQGZM        6        13         3     22             346.272727   \n",
       "AE03LUY7RH400         4        10         7     21             102.238095   \n",
       "A2G44A4ZPWRPXU        4        12         2     18             221.277778   \n",
       "A1YK1IKACUJMV4        0        15         0     15             593.600000   \n",
       "A3AW887GI0NLKF        3        10         2     15             269.400000   \n",
       "A3HAEQW13YPT6A        0        14         0     14             442.928571   \n",
       "\n",
       "                Avg_WorkTimeInMin  Min_WorkTimeInMin  Max_WorkTimeInMin  \n",
       "WorkerId                                                                 \n",
       "A681XM15AN28F            0.226250           0.100000           0.833333  \n",
       "A1Y66T7FKJ8PJA          11.597619           0.216667          22.000000  \n",
       "A33ENZVC1XB4BA           6.110784           0.616667           9.916667  \n",
       "A1S2MN0E9BHPVA           2.890741           0.400000           4.983333  \n",
       "A37L5E8MHHQGZM           5.771212           2.150000           8.283333  \n",
       "AE03LUY7RH400            1.703968           0.100000           3.433333  \n",
       "A2G44A4ZPWRPXU           3.687963           0.383333           7.383333  \n",
       "A1YK1IKACUJMV4           9.893333           1.716667          11.000000  \n",
       "A3AW887GI0NLKF           4.490000           1.616667           7.216667  \n",
       "A3HAEQW13YPT6A           7.382143           0.866667          11.100000  "
      ]
     },
     "execution_count": 393,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "top[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Oh wait, this was from the original dataset... Let's look at the new dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 394,
   "metadata": {},
   "outputs": [],
   "source": [
    "newdf = pd.DataFrame(turker.groupby(['HITId', 'WorkerId']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 396,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>(302OLP89DZ7MBHSY6QU0WCST11GACJ, A1T79J0XQXDDGC)</td>\n",
       "      <td>HITId            ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>(302OLP89DZ7MBHSY6QU0WCST11GACJ, A2XFO0X6RCS98M)</td>\n",
       "      <td>HITId            ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>(302OLP89DZ7MBHSY6QU0WCST11GACJ, A681XM15AN28F)</td>\n",
       "      <td>HITId            ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>(3087LXLJ6MGXDGEQ5QN8FC1JPSW0FT, A1L8RL58MYU4NC)</td>\n",
       "      <td>HITId           ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>(3087LXLJ6MGXDGEQ5QN8FC1JPSW0FT, A1T79J0XQXDDGC)</td>\n",
       "      <td>HITId           ...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                  0  \\\n",
       "0  (302OLP89DZ7MBHSY6QU0WCST11GACJ, A1T79J0XQXDDGC)   \n",
       "1  (302OLP89DZ7MBHSY6QU0WCST11GACJ, A2XFO0X6RCS98M)   \n",
       "2   (302OLP89DZ7MBHSY6QU0WCST11GACJ, A681XM15AN28F)   \n",
       "3  (3087LXLJ6MGXDGEQ5QN8FC1JPSW0FT, A1L8RL58MYU4NC)   \n",
       "4  (3087LXLJ6MGXDGEQ5QN8FC1JPSW0FT, A1T79J0XQXDDGC)   \n",
       "\n",
       "                                                   1  \n",
       "0                               HITId            ...  \n",
       "1                               HITId            ...  \n",
       "2                               HITId            ...  \n",
       "3                                HITId           ...  \n",
       "4                                HITId           ...  "
      ]
     },
     "execution_count": 396,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "newdf[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Annnnd that is definitely not what we wanted...\n",
    "\n",
    "Clearly, it's time to clean things up.\n",
    "\n",
    "What are our columns again?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 398,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['HITId', 'HITTypeId', 'Title', 'Description', 'Keywords', 'Reward',\n",
       "       'CreationTime', 'MaxAssignments', 'RequesterAnnotation',\n",
       "       'AssignmentDurationInSeconds', 'AutoApprovalDelayInSeconds',\n",
       "       'Expiration', 'NumberOfSimilarHITs', 'LifetimeInSeconds',\n",
       "       'AssignmentId', 'WorkerId', 'AssignmentStatus', 'AcceptTime',\n",
       "       'SubmitTime', 'AutoApprovalTime', 'ApprovalTime', 'RejectionTime',\n",
       "       'RequesterFeedback', 'WorkTimeInSeconds', 'LifetimeApprovalRate',\n",
       "       'Last30DaysApprovalRate', 'Last7DaysApprovalRate', 'Input.text',\n",
       "       'Answer.sentiment.label', 'Approve', 'Reject'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 398,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "turker.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Great. Let's make a fresh and clean (so fresh and so clean clean) df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 400,
   "metadata": {},
   "outputs": [],
   "source": [
    "turker_clean = turker[['HITId', 'WorkerId', 'Answer.sentiment.label', 'Input.text']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 402,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>HITId</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Input.text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>AH5A86OLRZWCS</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>A2HGRSPR50ENHL</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Negative</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>289</td>\n",
       "      <td>3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Oscar for Phoenix\\nI will stop watching movie...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>290</td>\n",
       "      <td>3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH</td>\n",
       "      <td>A38DC3BG1ZCVZ2</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Oscar for Phoenix\\nI will stop watching movie...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>291</td>\n",
       "      <td>3FO95NVK5C0UHF3B5N6M67LLN8PSR2</td>\n",
       "      <td>A194R45ACMQEOR</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Joker &gt; Endgame\\nNeed I say more? Everything ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>292</td>\n",
       "      <td>3FO95NVK5C0UHF3B5N6M67LLN8PSR2</td>\n",
       "      <td>A1L8RL58MYU4NC</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Joker &gt; Endgame\\nNeed I say more? Everything ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>293</td>\n",
       "      <td>3FO95NVK5C0UHF3B5N6M67LLN8PSR2</td>\n",
       "      <td>A1T79J0XQXDDGC</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Joker &gt; Endgame\\nNeed I say more? Everything ...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>294 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                              HITId        WorkerId Answer.sentiment.label  \\\n",
       "0    338GLSUI43BXEPY2ES6SPI72KKESF7   AH5A86OLRZWCS               Negative   \n",
       "1    338GLSUI43BXEPY2ES6SPI72KKESF7  A2HGRSPR50ENHL               Negative   \n",
       "2    338GLSUI43BXEPY2ES6SPI72KKESF7   AKSJ3C5O3V9RB               Negative   \n",
       "3    37MQ8Z1JQEWA9HYZP3JANL1ES162YC   ARLGZWN6W91WD               Negative   \n",
       "4    37MQ8Z1JQEWA9HYZP3JANL1ES162YC   AKSJ3C5O3V9RB               Negative   \n",
       "..                              ...             ...                    ...   \n",
       "289  3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH  A3EZ0H07TSDAPW               Negative   \n",
       "290  3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH  A38DC3BG1ZCVZ2               Positive   \n",
       "291  3FO95NVK5C0UHF3B5N6M67LLN8PSR2  A194R45ACMQEOR               Positive   \n",
       "292  3FO95NVK5C0UHF3B5N6M67LLN8PSR2  A1L8RL58MYU4NC               Positive   \n",
       "293  3FO95NVK5C0UHF3B5N6M67LLN8PSR2  A1T79J0XQXDDGC               Positive   \n",
       "\n",
       "                                            Input.text  \n",
       "0     Everyone praised an overrated movie.\\nOverrat...  \n",
       "1     Everyone praised an overrated movie.\\nOverrat...  \n",
       "2     Everyone praised an overrated movie.\\nOverrat...  \n",
       "3     What idiotic FIlm\\nI can say that Phoenix is ...  \n",
       "4     What idiotic FIlm\\nI can say that Phoenix is ...  \n",
       "..                                                 ...  \n",
       "289   Oscar for Phoenix\\nI will stop watching movie...  \n",
       "290   Oscar for Phoenix\\nI will stop watching movie...  \n",
       "291   Joker > Endgame\\nNeed I say more? Everything ...  \n",
       "292   Joker > Endgame\\nNeed I say more? Everything ...  \n",
       "293   Joker > Endgame\\nNeed I say more? Everything ...  \n",
       "\n",
       "[294 rows x 4 columns]"
      ]
     },
     "execution_count": 402,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "turker_clean"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And let's see how many turkers turked"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 403,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ARLGZWN6W91WD     46\n",
       "A681XM15AN28F     37\n",
       "A1T79J0XQXDDGC    34\n",
       "A2XFO0X6RCS98M    33\n",
       "A3EZ0H07TSDAPW    33\n",
       "A1L8RL58MYU4NC    28\n",
       "A38DC3BG1ZCVZ2    22\n",
       "AKSJ3C5O3V9RB     21\n",
       "ASB8T0H7L99RF     10\n",
       "AE03LUY7RH400      6\n",
       "A37JENVKZQ56U6     5\n",
       "A194R45ACMQEOR     5\n",
       "AH5A86OLRZWCS      4\n",
       "A2HG1N3BVQO6I      4\n",
       "AURYD2FH3FUOQ      2\n",
       "AMC42JMQA8A5U      2\n",
       "ATHS9GUME1XCA      1\n",
       "A2HGRSPR50ENHL     1\n",
       "Name: WorkerId, dtype: int64"
      ]
     },
     "execution_count": 403,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "turker_clean.WorkerId.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "OK let's make this easy on ourselves and just use the top 5 turkers for our first test\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 405,
   "metadata": {},
   "outputs": [],
   "source": [
    "turker1 = turker_clean[turker_clean['WorkerId'] == 'ARLGZWN6W91WD']\n",
    "turker2 = turker_clean[turker_clean['WorkerId'] == 'A681XM15AN28F']\n",
    "turker3 = turker_clean[turker_clean['WorkerId'] == 'A1T79J0XQXDDGC']\n",
    "turker4 = turker_clean[turker_clean['WorkerId'] == 'A2XFO0X6RCS98M']\n",
    "turker5 = turker_clean[turker_clean['WorkerId'] == 'A3EZ0H07TSDAPW']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 406,
   "metadata": {},
   "outputs": [],
   "source": [
    "turker1.reset_index(drop=True, inplace=True)\n",
    "turker2.reset_index(drop=True, inplace=True)\n",
    "turker3.reset_index(drop=True, inplace=True)\n",
    "turker4.reset_index(drop=True, inplace=True)\n",
    "turker5.reset_index(drop=True, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 407,
   "metadata": {},
   "outputs": [],
   "source": [
    "merged_df = pd.concat([turker1, turker2, turker3, turker4, turker5], axis=0, sort=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 408,
   "metadata": {},
   "outputs": [],
   "source": [
    "merged_df.reset_index(drop=True, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 409,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>HITId</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Input.text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>79</td>\n",
       "      <td>3AQN9REUTFGXCRWFMS3RJ4SIPSUYDG</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Positive</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>142</td>\n",
       "      <td>3AQN9REUTFGXCRWFMS3RJ4SIPSUYDG</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Positive</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>122</td>\n",
       "      <td>3IVKZBIBJ09HSLP89IUSS3JF0ZRSH5</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Negative</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>55</td>\n",
       "      <td>3IVKZBIBJ09HSLP89IUSS3JF0ZRSH5</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Neutral</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>87</td>\n",
       "      <td>3IVKZBIBJ09HSLP89IUSS3JF0ZRSH5</td>\n",
       "      <td>A1T79J0XQXDDGC</td>\n",
       "      <td>Negative</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>175</td>\n",
       "      <td>3J9UN9O9J3SDII0MOGETUATBIZD0JW</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Took my 65 year old mother to see it.\\nI saw t...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>43</td>\n",
       "      <td>31ODACBENUFU5EOBS8HM1HBGRMNSQ1</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>180</td>\n",
       "      <td>31ODACBENUFU5EOBS8HM1HBGRMNSQ1</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>162</td>\n",
       "      <td>3M93N4X8HKNDJRKYXIXD4GZUDRVSJA</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Negative</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>127</td>\n",
       "      <td>3M93N4X8HKNDJRKYXIXD4GZUDRVSJA</td>\n",
       "      <td>A2XFO0X6RCS98M</td>\n",
       "      <td>Negative</td>\n",
       "      <td>lose of both time and money\\nThis was one of t...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>183 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                              HITId        WorkerId Answer.sentiment.label  \\\n",
       "79   3AQN9REUTFGXCRWFMS3RJ4SIPSUYDG   A681XM15AN28F               Positive   \n",
       "142  3AQN9REUTFGXCRWFMS3RJ4SIPSUYDG  A2XFO0X6RCS98M               Positive   \n",
       "122  3IVKZBIBJ09HSLP89IUSS3JF0ZRSH5  A2XFO0X6RCS98M               Negative   \n",
       "55   3IVKZBIBJ09HSLP89IUSS3JF0ZRSH5   A681XM15AN28F                Neutral   \n",
       "87   3IVKZBIBJ09HSLP89IUSS3JF0ZRSH5  A1T79J0XQXDDGC               Negative   \n",
       "..                              ...             ...                    ...   \n",
       "175  3J9UN9O9J3SDII0MOGETUATBIZD0JW  A3EZ0H07TSDAPW               Positive   \n",
       "43   31ODACBENUFU5EOBS8HM1HBGRMNSQ1   ARLGZWN6W91WD               Positive   \n",
       "180  31ODACBENUFU5EOBS8HM1HBGRMNSQ1  A3EZ0H07TSDAPW               Positive   \n",
       "162  3M93N4X8HKNDJRKYXIXD4GZUDRVSJA  A3EZ0H07TSDAPW               Negative   \n",
       "127  3M93N4X8HKNDJRKYXIXD4GZUDRVSJA  A2XFO0X6RCS98M               Negative   \n",
       "\n",
       "                                            Input.text  \n",
       "79    #LetRottenTomatoesRotSquad\\nI am a simple guy...  \n",
       "142   #LetRottenTomatoesRotSquad\\nI am a simple guy...  \n",
       "122   A 'Triumph of the Will' for Nihilists\\n'Joker...  \n",
       "55    A 'Triumph of the Will' for Nihilists\\n'Joker...  \n",
       "87    A 'Triumph of the Will' for Nihilists\\n'Joker...  \n",
       "..                                                 ...  \n",
       "175  Took my 65 year old mother to see it.\\nI saw t...  \n",
       "43   Venice 76 review\\nI have just watched the Joke...  \n",
       "180  Venice 76 review\\nI have just watched the Joke...  \n",
       "162  lose of both time and money\\nThis was one of t...  \n",
       "127  lose of both time and money\\nThis was one of t...  \n",
       "\n",
       "[183 rows x 4 columns]"
      ]
     },
     "execution_count": 409,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "merged_df.sort_values(by='Input.text')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [],
   "source": [
    "merged_df2 = pd.concat([turker1, turker2], axis=0, sort=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 195,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>HITId</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Input.text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>33</td>\n",
       "      <td>3AQN9REUTFGXCRWFMS3RJ4SIPSUYDG</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Positive</td>\n",
       "      <td>#LetRottenTomatoesRotSquad\\nI am a simple guy...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>3IVKZBIBJ09HSLP89IUSS3JF0ZRSH5</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Neutral</td>\n",
       "      <td>A 'Triumph of the Will' for Nihilists\\n'Joker...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>36</td>\n",
       "      <td>39O0SQZVJN78YHJJHK8BBGPP0UD7RV</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Positive</td>\n",
       "      <td>A Breath of Fresh Cinema\\nBursting with emoti...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>30</td>\n",
       "      <td>334ZEL5JX6FRK2BVDVPICCGGCL5SOT</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Positive</td>\n",
       "      <td>A brilliant movie\\nThis movie is slow but nev...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>31</td>\n",
       "      <td>3DWGDA5POF4MG2LY1OWCB3NFIEPV1E</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Positive</td>\n",
       "      <td>A clean masterpiece!\\nWhat I loved the most a...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>3D17ECOUOEV24TJFHEQ6S8VWRUX31Q</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Overhyped and not everyone joker performance i...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>3G3AJKPCXLSKCVDMTH2YG0YCCF1Y43</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Neutral</td>\n",
       "      <td>Ridiculous well acted Trash\\nSaw the movie Jok...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>3JAOYN9IHL2YEWXU4I4PG1ATPEB33I</td>\n",
       "      <td>A681XM15AN28F</td>\n",
       "      <td>Neutral</td>\n",
       "      <td>The king has no clothes\\nRead the reviews- the...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>38</td>\n",
       "      <td>3J5XXLQDHMBIQ5ZDOSAVZW2CGY3V36</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Positive</td>\n",
       "      <td>The mirror of society\\nActing 10/10\\nActors 10...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>43</td>\n",
       "      <td>31ODACBENUFU5EOBS8HM1HBGRMNSQ1</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Venice 76 review\\nI have just watched the Joke...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>83 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                             HITId       WorkerId Answer.sentiment.label  \\\n",
       "33  3AQN9REUTFGXCRWFMS3RJ4SIPSUYDG  A681XM15AN28F               Positive   \n",
       "9   3IVKZBIBJ09HSLP89IUSS3JF0ZRSH5  A681XM15AN28F                Neutral   \n",
       "36  39O0SQZVJN78YHJJHK8BBGPP0UD7RV  ARLGZWN6W91WD               Positive   \n",
       "30  334ZEL5JX6FRK2BVDVPICCGGCL5SOT  A681XM15AN28F               Positive   \n",
       "31  3DWGDA5POF4MG2LY1OWCB3NFIEPV1E  ARLGZWN6W91WD               Positive   \n",
       "..                             ...            ...                    ...   \n",
       "7   3D17ECOUOEV24TJFHEQ6S8VWRUX31Q  ARLGZWN6W91WD               Negative   \n",
       "6   3G3AJKPCXLSKCVDMTH2YG0YCCF1Y43  A681XM15AN28F                Neutral   \n",
       "17  3JAOYN9IHL2YEWXU4I4PG1ATPEB33I  A681XM15AN28F                Neutral   \n",
       "38  3J5XXLQDHMBIQ5ZDOSAVZW2CGY3V36  ARLGZWN6W91WD               Positive   \n",
       "43  31ODACBENUFU5EOBS8HM1HBGRMNSQ1  ARLGZWN6W91WD               Positive   \n",
       "\n",
       "                                           Input.text  \n",
       "33   #LetRottenTomatoesRotSquad\\nI am a simple guy...  \n",
       "9    A 'Triumph of the Will' for Nihilists\\n'Joker...  \n",
       "36   A Breath of Fresh Cinema\\nBursting with emoti...  \n",
       "30   A brilliant movie\\nThis movie is slow but nev...  \n",
       "31   A clean masterpiece!\\nWhat I loved the most a...  \n",
       "..                                                ...  \n",
       "7   Overhyped and not everyone joker performance i...  \n",
       "6   Ridiculous well acted Trash\\nSaw the movie Jok...  \n",
       "17  The king has no clothes\\nRead the reviews- the...  \n",
       "38  The mirror of society\\nActing 10/10\\nActors 10...  \n",
       "43  Venice 76 review\\nI have just watched the Joke...  \n",
       "\n",
       "[83 rows x 4 columns]"
      ]
     },
     "execution_count": 195,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "merged_df2.sort_values(by='Input.text')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## And HERE is where everything went to hell in a handbasket. I'm leaving these failed attempts as monuments to my sweat and near-tears"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 191,
   "metadata": {},
   "outputs": [],
   "source": [
    "# merged_df2['Input.text'].value_counts()\n",
    "# df = pd.DataFrame(merged_df2.groupby('HITId'))\n",
    "# df.set_index([turker1, turker2]).unstack(level=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 203,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>HITId</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>3I7SHAD35MWH116RCCCUPHVFU7E7M7</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>3XUSYT70IT10FW0UEKSIRCYYDFG0DI</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>3SD15I2WD2UXBFKCNK2NN4MDZ5D63R</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>3P7QK0GJ3TLAE784LPLT1SAGYVA2Z3</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>178</td>\n",
       "      <td>39KV3A5D187KZWJWW98G1QULMWW7SJ</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Neutral</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>179</td>\n",
       "      <td>35F6NGNVM8JLEWWBL9D6BVQ7OFA7T8</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Positive</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>180</td>\n",
       "      <td>31ODACBENUFU5EOBS8HM1HBGRMNSQ1</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Positive</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>181</td>\n",
       "      <td>3PN6H8C9R4QWG9YC6MPBGIABM1SDAM</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Neutral</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>182</td>\n",
       "      <td>3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Negative</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>183 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                              HITId        WorkerId Answer.sentiment.label\n",
       "0    37MQ8Z1JQEWA9HYZP3JANL1ES162YC   ARLGZWN6W91WD               Negative\n",
       "1    3I7SHAD35MWH116RCCCUPHVFU7E7M7   ARLGZWN6W91WD               Negative\n",
       "2    3XUSYT70IT10FW0UEKSIRCYYDFG0DI   ARLGZWN6W91WD               Negative\n",
       "3    3SD15I2WD2UXBFKCNK2NN4MDZ5D63R   ARLGZWN6W91WD               Negative\n",
       "4    3P7QK0GJ3TLAE784LPLT1SAGYVA2Z3   ARLGZWN6W91WD               Negative\n",
       "..                              ...             ...                    ...\n",
       "178  39KV3A5D187KZWJWW98G1QULMWW7SJ  A3EZ0H07TSDAPW                Neutral\n",
       "179  35F6NGNVM8JLEWWBL9D6BVQ7OFA7T8  A3EZ0H07TSDAPW               Positive\n",
       "180  31ODACBENUFU5EOBS8HM1HBGRMNSQ1  A3EZ0H07TSDAPW               Positive\n",
       "181  3PN6H8C9R4QWG9YC6MPBGIABM1SDAM  A3EZ0H07TSDAPW                Neutral\n",
       "182  3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH  A3EZ0H07TSDAPW               Negative\n",
       "\n",
       "[183 rows x 3 columns]"
      ]
     },
     "execution_count": 203,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# grouped = turker_clean.groupby(['HITId','WorkerId'])\n",
    "# grouped.set_index(['HITId', 'WorkerId']).mean().unstack(level=0)\n",
    "df = merged_df.drop('Input.text', axis=1)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 411,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                 REVIEW1   REVIEW2   REVIEW3   REVIEW4   REVIEW5   REVIEW6  \\\n",
      "Turker                                                                       \n",
      "A1T79J0XQXDDGC  Positive  Negative  Positive  Positive  Negative  Negative   \n",
      "A2XFO0X6RCS98M  Negative  Negative  Negative  Negative  Positive  Negative   \n",
      "A3EZ0H07TSDAPW  Positive   Neutral  Positive  Negative  Negative  Positive   \n",
      "A681XM15AN28F   Negative  Positive  Positive  Positive  Positive  Negative   \n",
      "ARLGZWN6W91WD   Negative  Negative  Negative  Negative  Negative  Negative   \n",
      "\n",
      "                 REVIEW7   REVIEW8   REVIEW9  REVIEW10  ...  REVIEW38  \\\n",
      "Turker                                                  ...             \n",
      "A1T79J0XQXDDGC  Negative  Positive  Negative  Negative  ...       NaN   \n",
      "A2XFO0X6RCS98M  Negative  Negative  Negative  Negative  ...       NaN   \n",
      "A3EZ0H07TSDAPW  Negative  Positive  Positive  Negative  ...       NaN   \n",
      "A681XM15AN28F    Neutral   Neutral   Neutral   Neutral  ...       NaN   \n",
      "ARLGZWN6W91WD   Negative  Negative  Negative  Negative  ...  Positive   \n",
      "\n",
      "                REVIEW39  REVIEW40  REVIEW41  REVIEW42  REVIEW43  REVIEW44  \\\n",
      "Turker                                                                       \n",
      "A1T79J0XQXDDGC       NaN       NaN       NaN       NaN       NaN       NaN   \n",
      "A2XFO0X6RCS98M       NaN       NaN       NaN       NaN       NaN       NaN   \n",
      "A3EZ0H07TSDAPW       NaN       NaN       NaN       NaN       NaN       NaN   \n",
      "A681XM15AN28F        NaN       NaN       NaN       NaN       NaN       NaN   \n",
      "ARLGZWN6W91WD   Positive  Positive  Positive  Negative  Positive  Positive   \n",
      "\n",
      "                REVIEW45  REVIEW46  \\\n",
      "Turker                               \n",
      "A1T79J0XQXDDGC       NaN       NaN   \n",
      "A2XFO0X6RCS98M       NaN       NaN   \n",
      "A3EZ0H07TSDAPW       NaN       NaN   \n",
      "A681XM15AN28F        NaN       NaN   \n",
      "ARLGZWN6W91WD   Positive  Positive   \n",
      "\n",
      "                                                        SENTIMENT  \n",
      "Turker                                                             \n",
      "A1T79J0XQXDDGC  302OLP89DZ7MBHSY6QU0WCST11GACJ32LAQ1JNT9PNC787...  \n",
      "A2XFO0X6RCS98M  3I7SHAD35MWH116RCCCUPHVFU7E7M73XUSYT70IT10FW0U...  \n",
      "A3EZ0H07TSDAPW  38O9DZ0A62N8QXOTJKOI4UHLTRD62G3I7SHAD35MWH116R...  \n",
      "A681XM15AN28F   3SD15I2WD2UXBFKCNK2NN4MDZ5D63R302OLP89DZ7MBHSY...  \n",
      "ARLGZWN6W91WD   37MQ8Z1JQEWA9HYZP3JANL1ES162YC3I7SHAD35MWH116R...  \n",
      "\n",
      "[5 rows x 47 columns]\n"
     ]
    }
   ],
   "source": [
    "df = pd.DataFrame({'Turker': merged_df['WorkerId'].tolist(),\n",
    "                   'REVIEW': merged_df['Answer.sentiment.label'].tolist(),\n",
    "                   'SENTIMENT': merged_df['HITId'].tolist() })\n",
    "\n",
    "grouped = df.groupby('Turker')\n",
    "values = grouped['SENTIMENT'].agg('sum')\n",
    "id_df = grouped['REVIEW'].apply(lambda x: pd.Series(x.values)).unstack()\n",
    "id_df = id_df.rename(columns={i: 'REVIEW{}'.format(i + 1) for i in range(id_df.shape[1])})\n",
    "result = pd.concat([id_df, values], axis=1)\n",
    "result_df = pd.DataFrame(result)\n",
    "print(result_df[:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 412,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Turker     A1T79J0XQXDDGC A2XFO0X6RCS98M A3EZ0H07TSDAPW A681XM15AN28F  \\\n",
      "SENTIMENT1       Positive       Negative       Positive      Negative   \n",
      "SENTIMENT2       Negative       Negative        Neutral      Positive   \n",
      "SENTIMENT3       Positive       Negative       Positive      Positive   \n",
      "SENTIMENT4       Positive       Negative       Negative      Positive   \n",
      "SENTIMENT5       Negative       Positive       Negative      Positive   \n",
      "\n",
      "Turker     ARLGZWN6W91WD  \n",
      "SENTIMENT1      Negative  \n",
      "SENTIMENT2      Negative  \n",
      "SENTIMENT3      Negative  \n",
      "SENTIMENT4      Negative  \n",
      "SENTIMENT5      Negative  \n"
     ]
    }
   ],
   "source": [
    "df = pd.DataFrame({'Turker': merged_df['WorkerId'].tolist(),\n",
    "                   'SENTIMENT': merged_df['Answer.sentiment.label'].tolist(),\n",
    "                   'REVIEW': merged_df['HITId'].tolist() })\n",
    "\n",
    "grouped = df.groupby('Turker')\n",
    "values = grouped['REVIEW'].agg('sum')\n",
    "id_df = grouped['SENTIMENT'].apply(lambda x: pd.Series(x.values)).unstack()\n",
    "id_df = id_df.rename(columns={i: 'SENTIMENT{}'.format(i + 1) for i in range(id_df.shape[1])})\n",
    "result = pd.concat([id_df, values], axis=1)\n",
    "result_df = pd.DataFrame(result)\n",
    "print(result_df.T[:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 413,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "47"
      ]
     },
     "execution_count": 413,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t1 = result_df.T['A3EZ0H07TSDAPW'].tolist()\n",
    "len(t1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 414,
   "metadata": {},
   "outputs": [],
   "source": [
    "t2 = result_df.T['A2XFO0X6RCS98M'].tolist()\n",
    "len(t2)\n",
    "t3 = result_df.T['A681XM15AN28F'].tolist()\n",
    "len(t3)\n",
    "t4 = result_df.T['ARLGZWN6W91WD'].tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 416,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Positive', 'Neutral', 'Positive', 'Negative', 'Negative']"
      ]
     },
     "execution_count": 416,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t1[:-1][:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 417,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Negative', 'Negative', 'Negative', 'Negative', 'Positive']"
      ]
     },
     "execution_count": 417,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t2[:-1][:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 418,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Negative', 'Positive', 'Positive', 'Positive', 'Positive']"
      ]
     },
     "execution_count": 418,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t3[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "OK after all that work, we can finally calculate the kappa score between our first and second \"most prolific\" turkers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 419,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.43974358974358974"
      ]
     },
     "execution_count": 419,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import cohen_kappa_score\n",
    "y1 = t1[:-1]\n",
    "y2 = t2[:-1]\n",
    "cohen_kappa_score(y1,y2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "annnnnd just to make sure, let's calculate the same score between third and fourth \"most prolific\" turkers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 421,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.07585335018963324"
      ]
     },
     "execution_count": 421,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y3 = t3[:-1]\n",
    "y4 = t4[:-1]\n",
    "cohen_kappa_score(y3,y4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pretty sure a negative number isn't what we want... oh well. Can't worry about that because that's when the existential dread sinks in... like, why am I doing this right now? Why do I care so much? Why am I trying to calculate inter-rater reliability THIS way when this won't even be a measure I will use if/when I use turkers in the future? In the future, I will use the sample size itself to determine \"reliability\" -- e.g. If all N turkers agree on X, then it goes into the \"good\" pile, if not, then it goes back into the AMT pile until we have N turkers agreeing...Because the way AMT is set up right now, we won't be able to reliable calculate kappa when the number of HITS per turker is so varried. In order to get something truely accurate, I'd have to remove all the data that was only completed by M or fewer turkers and hope that the prolific turkers worked on the same ones and then compare those (which is exactly what I did below but seriously WHY WHY WHY.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Another failed test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 272,
   "metadata": {},
   "outputs": [],
   "source": [
    "turker_clean_test = turker_clean.copy()\n",
    "turker_clean_test.reset_index(inplace=True)\n",
    "\n",
    "id_dict = {}\n",
    "id_num = 1\n",
    "def return_new_id(old_id,):\n",
    "    if old_id in id_dict.keys():\n",
    "        return id_dict[old_id]\n",
    "    else:\n",
    "        id_num = id_num + 1\n",
    "        id_dict.update({ old_id: id_num })\n",
    "        return num\n",
    "\n",
    "# turker_clean_test['ReviewID'] = turker_clean_test.apply(lambda x: return_new_id(x['HITId']), axis=1)\n",
    "# turker_clean_test\n",
    "turker_clean_test\n",
    "\n",
    "new_ids = pd.factorize(turker_clean_test['HITId'].tolist())\n",
    "new_ids[0]\n",
    "turker_clean_test['ReviewID'] = new_ids[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 273,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>HITId</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Input.text</th>\n",
       "      <th>ReviewID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>AH5A86OLRZWCS</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>A2HGRSPR50ENHL</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Negative</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>289</td>\n",
       "      <td>289</td>\n",
       "      <td>3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH</td>\n",
       "      <td>A3EZ0H07TSDAPW</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Oscar for Phoenix\\nI will stop watching movie...</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>290</td>\n",
       "      <td>290</td>\n",
       "      <td>3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH</td>\n",
       "      <td>A38DC3BG1ZCVZ2</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Oscar for Phoenix\\nI will stop watching movie...</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>291</td>\n",
       "      <td>291</td>\n",
       "      <td>3FO95NVK5C0UHF3B5N6M67LLN8PSR2</td>\n",
       "      <td>A194R45ACMQEOR</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Joker &gt; Endgame\\nNeed I say more? Everything ...</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>292</td>\n",
       "      <td>292</td>\n",
       "      <td>3FO95NVK5C0UHF3B5N6M67LLN8PSR2</td>\n",
       "      <td>A1L8RL58MYU4NC</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Joker &gt; Endgame\\nNeed I say more? Everything ...</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>293</td>\n",
       "      <td>293</td>\n",
       "      <td>3FO95NVK5C0UHF3B5N6M67LLN8PSR2</td>\n",
       "      <td>A1T79J0XQXDDGC</td>\n",
       "      <td>Positive</td>\n",
       "      <td>Joker &gt; Endgame\\nNeed I say more? Everything ...</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>294 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     index                           HITId        WorkerId  \\\n",
       "0        0  338GLSUI43BXEPY2ES6SPI72KKESF7   AH5A86OLRZWCS   \n",
       "1        1  338GLSUI43BXEPY2ES6SPI72KKESF7  A2HGRSPR50ENHL   \n",
       "2        2  338GLSUI43BXEPY2ES6SPI72KKESF7   AKSJ3C5O3V9RB   \n",
       "3        3  37MQ8Z1JQEWA9HYZP3JANL1ES162YC   ARLGZWN6W91WD   \n",
       "4        4  37MQ8Z1JQEWA9HYZP3JANL1ES162YC   AKSJ3C5O3V9RB   \n",
       "..     ...                             ...             ...   \n",
       "289    289  3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH  A3EZ0H07TSDAPW   \n",
       "290    290  3PUV2Q8SV441ZJ34C0P7BTUH4JDDBH  A38DC3BG1ZCVZ2   \n",
       "291    291  3FO95NVK5C0UHF3B5N6M67LLN8PSR2  A194R45ACMQEOR   \n",
       "292    292  3FO95NVK5C0UHF3B5N6M67LLN8PSR2  A1L8RL58MYU4NC   \n",
       "293    293  3FO95NVK5C0UHF3B5N6M67LLN8PSR2  A1T79J0XQXDDGC   \n",
       "\n",
       "    Answer.sentiment.label                                         Input.text  \\\n",
       "0                 Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "1                 Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "2                 Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "3                 Negative   What idiotic FIlm\\nI can say that Phoenix is ...   \n",
       "4                 Negative   What idiotic FIlm\\nI can say that Phoenix is ...   \n",
       "..                     ...                                                ...   \n",
       "289               Negative   Oscar for Phoenix\\nI will stop watching movie...   \n",
       "290               Positive   Oscar for Phoenix\\nI will stop watching movie...   \n",
       "291               Positive   Joker > Endgame\\nNeed I say more? Everything ...   \n",
       "292               Positive   Joker > Endgame\\nNeed I say more? Everything ...   \n",
       "293               Positive   Joker > Endgame\\nNeed I say more? Everything ...   \n",
       "\n",
       "     ReviewID  \n",
       "0           0  \n",
       "1           0  \n",
       "2           0  \n",
       "3           1  \n",
       "4           1  \n",
       "..        ...  \n",
       "289        96  \n",
       "290        96  \n",
       "291        97  \n",
       "292        97  \n",
       "293        97  \n",
       "\n",
       "[294 rows x 6 columns]"
      ]
     },
     "execution_count": 273,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "turker_clean_test"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Attempt 4:\n",
    "##### Maybe if I convert these huge opressive strings into smaller numbers, this won't feel as awful?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 274,
   "metadata": {},
   "outputs": [],
   "source": [
    "new_turker_ids = pd.factorize(turker_clean_test['WorkerId'].tolist())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 276,
   "metadata": {},
   "outputs": [],
   "source": [
    "t_ids = ['T_' + str(id) for id in new_turker_ids[0]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 422,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['T_0', 'T_1', 'T_2', 'T_3', 'T_2']"
      ]
     },
     "execution_count": 422,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t_ids[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 423,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>HITId</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Input.text</th>\n",
       "      <th>ReviewID</th>\n",
       "      <th>T_ID</th>\n",
       "      <th>sentiment</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>AH5A86OLRZWCS</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>A2HGRSPR50ENHL</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "      <td>T_1</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "      <td>T_2</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>1</td>\n",
       "      <td>T_3</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Negative</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>1</td>\n",
       "      <td>T_2</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   index                           HITId        WorkerId  \\\n",
       "0      0  338GLSUI43BXEPY2ES6SPI72KKESF7   AH5A86OLRZWCS   \n",
       "1      1  338GLSUI43BXEPY2ES6SPI72KKESF7  A2HGRSPR50ENHL   \n",
       "2      2  338GLSUI43BXEPY2ES6SPI72KKESF7   AKSJ3C5O3V9RB   \n",
       "3      3  37MQ8Z1JQEWA9HYZP3JANL1ES162YC   ARLGZWN6W91WD   \n",
       "4      4  37MQ8Z1JQEWA9HYZP3JANL1ES162YC   AKSJ3C5O3V9RB   \n",
       "\n",
       "  Answer.sentiment.label                                         Input.text  \\\n",
       "0               Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "1               Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "2               Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "3               Negative   What idiotic FIlm\\nI can say that Phoenix is ...   \n",
       "4               Negative   What idiotic FIlm\\nI can say that Phoenix is ...   \n",
       "\n",
       "   ReviewID T_ID sentiment  \n",
       "0         0  T_0         N  \n",
       "1         0  T_1         N  \n",
       "2         0  T_2         N  \n",
       "3         1  T_3         N  \n",
       "4         1  T_2         N  "
      ]
     },
     "execution_count": 423,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "turker_clean_test['T_ID'] = t_ids\n",
    "turker_clean_test[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 281,
   "metadata": {},
   "outputs": [],
   "source": [
    "turker_clean_test['sentiment'] = turker_clean_test.apply(lambda x: x['Answer.sentiment.label'][0], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 424,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>HITId</th>\n",
       "      <th>WorkerId</th>\n",
       "      <th>Answer.sentiment.label</th>\n",
       "      <th>Input.text</th>\n",
       "      <th>ReviewID</th>\n",
       "      <th>T_ID</th>\n",
       "      <th>sentiment</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>AH5A86OLRZWCS</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>A2HGRSPR50ENHL</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "      <td>T_1</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>338GLSUI43BXEPY2ES6SPI72KKESF7</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Negative</td>\n",
       "      <td>Everyone praised an overrated movie.\\nOverrat...</td>\n",
       "      <td>0</td>\n",
       "      <td>T_2</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>ARLGZWN6W91WD</td>\n",
       "      <td>Negative</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>1</td>\n",
       "      <td>T_3</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>37MQ8Z1JQEWA9HYZP3JANL1ES162YC</td>\n",
       "      <td>AKSJ3C5O3V9RB</td>\n",
       "      <td>Negative</td>\n",
       "      <td>What idiotic FIlm\\nI can say that Phoenix is ...</td>\n",
       "      <td>1</td>\n",
       "      <td>T_2</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   index                           HITId        WorkerId  \\\n",
       "0      0  338GLSUI43BXEPY2ES6SPI72KKESF7   AH5A86OLRZWCS   \n",
       "1      1  338GLSUI43BXEPY2ES6SPI72KKESF7  A2HGRSPR50ENHL   \n",
       "2      2  338GLSUI43BXEPY2ES6SPI72KKESF7   AKSJ3C5O3V9RB   \n",
       "3      3  37MQ8Z1JQEWA9HYZP3JANL1ES162YC   ARLGZWN6W91WD   \n",
       "4      4  37MQ8Z1JQEWA9HYZP3JANL1ES162YC   AKSJ3C5O3V9RB   \n",
       "\n",
       "  Answer.sentiment.label                                         Input.text  \\\n",
       "0               Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "1               Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "2               Negative   Everyone praised an overrated movie.\\nOverrat...   \n",
       "3               Negative   What idiotic FIlm\\nI can say that Phoenix is ...   \n",
       "4               Negative   What idiotic FIlm\\nI can say that Phoenix is ...   \n",
       "\n",
       "   ReviewID T_ID sentiment  \n",
       "0         0  T_0         N  \n",
       "1         0  T_1         N  \n",
       "2         0  T_2         N  \n",
       "3         1  T_3         N  \n",
       "4         1  T_2         N  "
      ]
     },
     "execution_count": 424,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "turker_clean_test[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Annnnd here we are... small and clean. This DID actually help my brain a bit... Noted for next time."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 431,
   "metadata": {},
   "outputs": [],
   "source": [
    "even_cleaner_df = turker_clean_test[['ReviewID', 'T_ID', 'sentiment']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 432,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ReviewID</th>\n",
       "      <th>T_ID</th>\n",
       "      <th>sentiment</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>T_1</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>T_2</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>T_3</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>T_2</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   ReviewID T_ID sentiment\n",
       "0         0  T_0         N\n",
       "1         0  T_1         N\n",
       "2         0  T_2         N\n",
       "3         1  T_3         N\n",
       "4         1  T_2         N"
      ]
     },
     "execution_count": 432,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "even_cleaner_df[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Attempt 5:\n",
    "#### Let's make our very own DIY sparse matrix!!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 433,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Turker   T_0  T_1 T_10 T_11 T_12 T_13 T_14 T_15 T_16 T_17 T_2 T_3 T_4 T_5 T_6  \\\n",
      "REVIEW1    N    N    P    N    N    N    N    N    N    P   N   N   N   P   N   \n",
      "REVIEW2    N  NaN    N    N    N    N    P    N    P  NaN   N   N   N   N   N   \n",
      "REVIEW3    N  NaN    P    P    N    N  NaN  NaN    P  NaN   N   N   N   P   P   \n",
      "REVIEW4    N  NaN    P    P    N    P  NaN  NaN    P  NaN   N   N   N   N   P   \n",
      "REVIEW5  NaN  NaN    N    N    P    P  NaN  NaN  NaN  NaN   N   N   N   N   P   \n",
      "\n",
      "Turker  T_7 T_8 T_9  \n",
      "REVIEW1   N   N   N  \n",
      "REVIEW2   N   N   P  \n",
      "REVIEW3   N   N   P  \n",
      "REVIEW4   N   N   P  \n",
      "REVIEW5   N   P   P  \n"
     ]
    }
   ],
   "source": [
    "df = pd.DataFrame({'Turker': even_cleaner_df['T_ID'].tolist(),\n",
    "                   'SENTIMENT': even_cleaner_df['sentiment'].tolist(),\n",
    "                   'REVIEW': even_cleaner_df['ReviewID'].tolist() })\n",
    "\n",
    "grouped = df.groupby('Turker')\n",
    "values = grouped['REVIEW'].agg('sum')\n",
    "id_df = grouped['SENTIMENT'].apply(lambda x: pd.Series(x.values)).unstack()\n",
    "id_df = id_df.rename(columns={i: 'REVIEW{}'.format(i + 1) for i in range(id_df.shape[1])})\n",
    "result = pd.concat([id_df, values], axis=1)\n",
    "result_df = pd.DataFrame(result)\n",
    "print(result_df.T[:5])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And turn it into a data frame cuz why not?!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 434,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame(result_df.T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 435,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Turker</th>\n",
       "      <th>T_0</th>\n",
       "      <th>T_1</th>\n",
       "      <th>T_10</th>\n",
       "      <th>T_11</th>\n",
       "      <th>T_12</th>\n",
       "      <th>T_13</th>\n",
       "      <th>T_14</th>\n",
       "      <th>T_15</th>\n",
       "      <th>T_16</th>\n",
       "      <th>T_17</th>\n",
       "      <th>T_2</th>\n",
       "      <th>T_3</th>\n",
       "      <th>T_4</th>\n",
       "      <th>T_5</th>\n",
       "      <th>T_6</th>\n",
       "      <th>T_7</th>\n",
       "      <th>T_8</th>\n",
       "      <th>T_9</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>REVIEW1</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW2</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW3</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW4</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW6</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW7</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW8</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW9</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW11</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW13</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW14</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW15</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW17</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW18</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW19</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW22</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW23</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW24</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW26</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW27</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW28</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW29</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW30</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW31</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW32</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW33</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW34</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW35</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW36</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW37</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW38</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW39</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW40</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW41</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW42</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW43</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW44</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW45</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW46</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>P</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>REVIEW</td>\n",
       "      <td>99</td>\n",
       "      <td>0</td>\n",
       "      <td>1797</td>\n",
       "      <td>304</td>\n",
       "      <td>254</td>\n",
       "      <td>255</td>\n",
       "      <td>104</td>\n",
       "      <td>121</td>\n",
       "      <td>261</td>\n",
       "      <td>56</td>\n",
       "      <td>954</td>\n",
       "      <td>2177</td>\n",
       "      <td>1342</td>\n",
       "      <td>1458</td>\n",
       "      <td>597</td>\n",
       "      <td>1339</td>\n",
       "      <td>1605</td>\n",
       "      <td>1536</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Turker    T_0  T_1  T_10 T_11 T_12 T_13 T_14 T_15 T_16 T_17  T_2   T_3   T_4  \\\n",
       "REVIEW1     N    N     P    N    N    N    N    N    N    P    N     N     N   \n",
       "REVIEW2     N  NaN     N    N    N    N    P    N    P  NaN    N     N     N   \n",
       "REVIEW3     N  NaN     P    P    N    N  NaN  NaN    P  NaN    N     N     N   \n",
       "REVIEW4     N  NaN     P    P    N    P  NaN  NaN    P  NaN    N     N     N   \n",
       "REVIEW5   NaN  NaN     N    N    P    P  NaN  NaN  NaN  NaN    N     N     N   \n",
       "REVIEW6   NaN  NaN     N  NaN    P  NaN  NaN  NaN  NaN  NaN    N     N     N   \n",
       "REVIEW7   NaN  NaN     N  NaN  NaN  NaN  NaN  NaN  NaN  NaN    N     N     N   \n",
       "REVIEW8   NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN    N     N     P   \n",
       "REVIEW9   NaN  NaN     N  NaN  NaN  NaN  NaN  NaN  NaN  NaN    N     N     N   \n",
       "REVIEW10  NaN  NaN     N  NaN  NaN  NaN  NaN  NaN  NaN  NaN    N     N     N   \n",
       "REVIEW11  NaN  NaN     N  NaN  NaN  NaN  NaN  NaN  NaN  NaN    N     N     N   \n",
       "REVIEW12  NaN  NaN     N  NaN  NaN  NaN  NaN  NaN  NaN  NaN    N     N     N   \n",
       "REVIEW13  NaN  NaN     N  NaN  NaN  NaN  NaN  NaN  NaN  NaN    P     N     N   \n",
       "REVIEW14  NaN  NaN     N  NaN  NaN  NaN  NaN  NaN  NaN  NaN    P     N     N   \n",
       "REVIEW15  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN    P     N     N   \n",
       "REVIEW16  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN    P     N     P   \n",
       "REVIEW17  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN    P     N     P   \n",
       "REVIEW18  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN    P     N     P   \n",
       "REVIEW19  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN    N     N     P   \n",
       "REVIEW20  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN    P     N     P   \n",
       "REVIEW21  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN    P     N     P   \n",
       "REVIEW22  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     N     P   \n",
       "REVIEW23  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P     P   \n",
       "REVIEW24  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P     P   \n",
       "REVIEW25  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P     P   \n",
       "REVIEW26  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P     P   \n",
       "REVIEW27  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P     P   \n",
       "REVIEW28  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P     P   \n",
       "REVIEW29  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW30  NaN  NaN     N  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW31  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW32  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW33  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW34  NaN  NaN     P  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW35  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW36  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW37  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW38  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW39  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW40  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW41  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW42  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     N   NaN   \n",
       "REVIEW43  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW44  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW45  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW46  NaN  NaN   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN     P   NaN   \n",
       "REVIEW     99    0  1797  304  254  255  104  121  261   56  954  2177  1342   \n",
       "\n",
       "Turker     T_5  T_6   T_7   T_8   T_9  \n",
       "REVIEW1      P    N     N     N     N  \n",
       "REVIEW2      N    N     N     N     P  \n",
       "REVIEW3      P    P     N     N     P  \n",
       "REVIEW4      N    P     N     N     P  \n",
       "REVIEW5      N    P     N     P     P  \n",
       "REVIEW6      P    P     N     N     N  \n",
       "REVIEW7      N    P     N     N     N  \n",
       "REVIEW8      P    P     P     N     N  \n",
       "REVIEW9      P    P     P     N     N  \n",
       "REVIEW10     N    P     P     N     N  \n",
       "REVIEW11     N  NaN     P     N     P  \n",
       "REVIEW12     N  NaN     P     N     P  \n",
       "REVIEW13     N  NaN     P     N     N  \n",
       "REVIEW14     N  NaN     P     N     P  \n",
       "REVIEW15     N  NaN     P     P     N  \n",
       "REVIEW16     P  NaN     P     N     N  \n",
       "REVIEW17     N  NaN     P     N     N  \n",
       "REVIEW18     N  NaN     P     P     N  \n",
       "REVIEW19     N  NaN     P     P     P  \n",
       "REVIEW20     N  NaN     P     P     N  \n",
       "REVIEW21     N  NaN     P     P     N  \n",
       "REVIEW22     P  NaN     P     P     P  \n",
       "REVIEW23     P  NaN   NaN     P     N  \n",
       "REVIEW24     N  NaN   NaN     P     N  \n",
       "REVIEW25     P  NaN   NaN     P     N  \n",
       "REVIEW26     P  NaN   NaN     P     N  \n",
       "REVIEW27     P  NaN   NaN     P     N  \n",
       "REVIEW28     P  NaN   NaN     P     P  \n",
       "REVIEW29     N  NaN   NaN     P     N  \n",
       "REVIEW30     P  NaN   NaN     P     N  \n",
       "REVIEW31     P  NaN   NaN     P     P  \n",
       "REVIEW32     N  NaN   NaN     P     N  \n",
       "REVIEW33     N  NaN   NaN     P     P  \n",
       "REVIEW34   NaN  NaN   NaN   NaN     P  \n",
       "REVIEW35   NaN  NaN   NaN   NaN     N  \n",
       "REVIEW36   NaN  NaN   NaN   NaN     N  \n",
       "REVIEW37   NaN  NaN   NaN   NaN     P  \n",
       "REVIEW38   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW39   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW40   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW41   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW42   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW43   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW44   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW45   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW46   NaN  NaN   NaN   NaN   NaN  \n",
       "REVIEW    1458  597  1339  1605  1536  "
      ]
     },
     "execution_count": 435,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## That is obviously wrong because only THREE people commented on Review1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### ATTEMPT FUCKING 6:\n",
    "##### I ***clap emoji*** hate ***clap emoji*** everything ***clap emoji***"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 436,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Turker   T_0  T_1 T_10 T_11 T_12 T_13 T_14 T_15 T_16 T_17 T_2 T_3 T_4 T_5 T_6  \\\n",
      "REVIEW1    0    0    6   11   13   15   28   29   39   56   0   1   1   2   2   \n",
      "REVIEW2   11  NaN    8   47   25   19   76   92   58  NaN   1   3   7   3  31   \n",
      "REVIEW3   42  NaN   14   55   29   44  NaN  NaN   70  NaN   8   4   9   4  50   \n",
      "REVIEW4   46  NaN   15   95   57   80  NaN  NaN   94  NaN  10   5  12   5  51   \n",
      "REVIEW5  NaN  NaN   18   96   59   97  NaN  NaN  NaN  NaN  16   7  17  12  62   \n",
      "\n",
      "Turker  T_7 T_8 T_9  \n",
      "REVIEW1   2   3   5  \n",
      "REVIEW2   8   4   6  \n",
      "REVIEW3   9   6   7  \n",
      "REVIEW4  24  12   9  \n",
      "REVIEW5  34  15  10  \n"
     ]
    }
   ],
   "source": [
    "df = pd.DataFrame({'Turker': even_cleaner_df['T_ID'].tolist(),\n",
    "                   'SENTIMENT': even_cleaner_df['ReviewID'].tolist(),\n",
    "                   'REVIEW': even_cleaner_df['sentiment'].tolist() })\n",
    "\n",
    "grouped = df.groupby('Turker')\n",
    "values = grouped['REVIEW'].agg('sum')\n",
    "id_df = grouped['SENTIMENT'].apply(lambda x: pd.Series(x.values)).unstack()\n",
    "id_df = id_df.rename(columns={i: 'REVIEW{}'.format(i + 1) for i in range(id_df.shape[1])})\n",
    "result = pd.concat([id_df, values], axis=1)\n",
    "result_df = pd.DataFrame(result)\n",
    "print(result_df.T[:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 312,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame(result_df.T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 437,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Turker</th>\n",
       "      <th>SENTIMENT</th>\n",
       "      <th>REVIEW</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>T_0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>T_1</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>T_2</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>T_3</td>\n",
       "      <td>1</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>T_2</td>\n",
       "      <td>1</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Turker  SENTIMENT REVIEW\n",
       "0    T_0          0      N\n",
       "1    T_1          0      N\n",
       "2    T_2          0      N\n",
       "3    T_3          1      N\n",
       "4    T_2          1      N"
      ]
     },
     "execution_count": 437,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I want every review on the left side and I want all 46 turkers on the top"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 319,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame({ 'review': even_cleaner_df['ReviewID']})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Attempt 7: After eating some food and having a calm down"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 359,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, 11, 42, 46]\n",
      "[0]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[11, 47, 55, 95, 96]\n",
      "[0, 11, 42, 46]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[13, 25, 29, 57, 59, 71]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[15, 19, 44, 80, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[15, 19, 44, 80, 97]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[13, 25, 29, 57, 59, 71]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[28, 76]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[29, 92]\n",
      "[13, 25, 29, 57, 59, 71]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[39, 58, 70, 94]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[0, 11, 42, 46]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[15, 19, 44, 80, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[0, 11, 42, 46]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[11, 47, 55, 95, 96]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[11, 47, 55, 95, 96]\n",
      "[56]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[13, 25, 29, 57, 59, 71]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[39, 58, 70, 94]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[13, 25, 29, 57, 59, 71]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[39, 58, 70, 94]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[13, 25, 29, 57, 59, 71]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[28, 76]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[15, 19, 44, 80, 97]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[5, 6, 7, 9, 10, 11, 13, 16, 17, 18, 21, 23, 25, 30, 32, 33, 35, 37, 38, 41, 44, 49, 52, 53, 54, 57, 65, 66, 67, 68, 69, 70, 71, 76, 81, 83, 84]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[2, 31, 50, 51, 62, 63, 74, 84, 89, 91]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[29, 92]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[0, 1, 8, 10, 16, 21, 27, 32, 36, 37, 45, 47, 50, 64, 66, 72, 75, 83, 85, 86, 93]\n",
      "[3, 4, 6, 12, 15, 18, 20, 24, 25, 27, 31, 32, 34, 37, 38, 40, 43, 59, 61, 62, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 89, 92, 93]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[39, 58, 70, 94]\n",
      "[1, 3, 4, 5, 7, 10, 14, 16, 17, 19, 22, 23, 26, 28, 30, 34, 35, 36, 38, 40, 44, 46, 48, 49, 54, 55, 57, 58, 60, 61, 63, 64, 65, 70, 71, 73, 74, 75, 77, 79, 82, 85, 86, 88, 90, 95]\n",
      "[11, 47, 55, 95, 96]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[11, 47, 55, 95, 96]\n",
      "[2, 3, 4, 5, 12, 13, 14, 20, 22, 24, 26, 28, 31, 36, 39, 43, 45, 46, 48, 49, 52, 53, 54, 56, 58, 72, 75, 78, 85, 87, 88, 94, 96]\n",
      "[2, 8, 9, 24, 34, 39, 43, 51, 56, 60, 63, 64, 82, 83, 84, 86, 88, 89, 91, 92, 95, 96]\n",
      "[15, 19, 44, 80, 97]\n",
      "[1, 7, 9, 12, 17, 19, 27, 29, 30, 33, 40, 41, 42, 45, 47, 48, 50, 55, 61, 65, 69, 73, 77, 78, 87, 90, 93, 97]\n",
      "[6, 8, 14, 15, 18, 20, 21, 22, 23, 26, 33, 35, 41, 42, 51, 52, 53, 59, 60, 62, 67, 68, 69, 74, 77, 79, 80, 81, 82, 87, 90, 91, 94, 97]\n"
     ]
    }
   ],
   "source": [
    "def get_array_of_reviews(turker, df):\n",
    "    a = ['nan']*98\n",
    "    df = even_cleaner_df[even_cleaner_df['T_ID'] == turker] \n",
    "    t_reviews = df['ReviewID'].tolist()\n",
    "    t_sentiment = df['sentiment'].tolist()\n",
    "    for index,review in enumerate(t_reviews):\n",
    "        a[review] = t_sentiment[index]\n",
    "    print(t_reviews)\n",
    "\n",
    "    return a\n",
    "\n",
    "sparse_df = even_cleaner_df.copy()\n",
    "sparse_df['big_array'] = sparse_df.apply(lambda x: get_array_of_reviews(x['T_ID'], even_cleaner_df), axis=1)\n",
    "# t0 = even_cleaner_df[even_cleaner_df['T_ID'] == 'T_0']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 360,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ReviewID</th>\n",
       "      <th>T_ID</th>\n",
       "      <th>sentiment</th>\n",
       "      <th>big_array</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>34</td>\n",
       "      <td>11</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>126</td>\n",
       "      <td>42</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>140</td>\n",
       "      <td>46</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     ReviewID T_ID sentiment  \\\n",
       "0           0  T_0         N   \n",
       "34         11  T_0         N   \n",
       "126        42  T_0         N   \n",
       "140        46  T_0         N   \n",
       "\n",
       "                                             big_array  \n",
       "0    [N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...  \n",
       "34   [N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...  \n",
       "126  [N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...  \n",
       "140  [N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...  "
      ]
     },
     "execution_count": 360,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 361,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ReviewID</th>\n",
       "      <th>T_ID</th>\n",
       "      <th>sentiment</th>\n",
       "      <th>big_array</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, nan, nan, nan, nan, nan, nan, nan, nan, na...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>T_1</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, nan, nan, nan, nan, nan, nan, nan, nan, na...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>T_2</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, N, nan, nan, nan, nan, nan, nan, N, nan, N...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>T_3</td>\n",
       "      <td>N</td>\n",
       "      <td>[nan, N, nan, N, N, N, nan, N, nan, nan, N, na...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>T_2</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, N, nan, nan, nan, nan, nan, nan, N, nan, N...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>289</td>\n",
       "      <td>96</td>\n",
       "      <td>T_5</td>\n",
       "      <td>N</td>\n",
       "      <td>[nan, nan, P, N, P, N, nan, nan, nan, nan, nan...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>290</td>\n",
       "      <td>96</td>\n",
       "      <td>T_7</td>\n",
       "      <td>P</td>\n",
       "      <td>[nan, nan, N, nan, nan, nan, nan, nan, N, N, n...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>291</td>\n",
       "      <td>97</td>\n",
       "      <td>T_13</td>\n",
       "      <td>P</td>\n",
       "      <td>[nan, nan, nan, nan, nan, nan, nan, nan, nan, ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>292</td>\n",
       "      <td>97</td>\n",
       "      <td>T_4</td>\n",
       "      <td>P</td>\n",
       "      <td>[nan, N, nan, nan, nan, nan, nan, N, nan, N, n...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>293</td>\n",
       "      <td>97</td>\n",
       "      <td>T_10</td>\n",
       "      <td>P</td>\n",
       "      <td>[nan, nan, nan, nan, nan, nan, P, nan, N, nan,...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>294 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     ReviewID  T_ID sentiment  \\\n",
       "0           0   T_0         N   \n",
       "1           0   T_1         N   \n",
       "2           0   T_2         N   \n",
       "3           1   T_3         N   \n",
       "4           1   T_2         N   \n",
       "..        ...   ...       ...   \n",
       "289        96   T_5         N   \n",
       "290        96   T_7         P   \n",
       "291        97  T_13         P   \n",
       "292        97   T_4         P   \n",
       "293        97  T_10         P   \n",
       "\n",
       "                                             big_array  \n",
       "0    [N, nan, nan, nan, nan, nan, nan, nan, nan, na...  \n",
       "1    [N, nan, nan, nan, nan, nan, nan, nan, nan, na...  \n",
       "2    [N, N, nan, nan, nan, nan, nan, nan, N, nan, N...  \n",
       "3    [nan, N, nan, N, N, N, nan, N, nan, nan, N, na...  \n",
       "4    [N, N, nan, nan, nan, nan, nan, nan, N, nan, N...  \n",
       "..                                                 ...  \n",
       "289  [nan, nan, P, N, P, N, nan, nan, nan, nan, nan...  \n",
       "290  [nan, nan, N, nan, nan, nan, nan, nan, N, N, n...  \n",
       "291  [nan, nan, nan, nan, nan, nan, nan, nan, nan, ...  \n",
       "292  [nan, N, nan, nan, nan, nan, nan, N, nan, N, n...  \n",
       "293  [nan, nan, nan, nan, nan, nan, P, nan, N, nan,...  \n",
       "\n",
       "[294 rows x 4 columns]"
      ]
     },
     "execution_count": 361,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sparse_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 362,
   "metadata": {},
   "outputs": [],
   "source": [
    "t0 = sparse_df[sparse_df['T_ID'] == 'T_0']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 363,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ReviewID</th>\n",
       "      <th>T_ID</th>\n",
       "      <th>sentiment</th>\n",
       "      <th>big_array</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, nan, nan, nan, nan, nan, nan, nan, nan, na...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>34</td>\n",
       "      <td>11</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, nan, nan, nan, nan, nan, nan, nan, nan, na...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>126</td>\n",
       "      <td>42</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, nan, nan, nan, nan, nan, nan, nan, nan, na...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>140</td>\n",
       "      <td>46</td>\n",
       "      <td>T_0</td>\n",
       "      <td>N</td>\n",
       "      <td>[N, nan, nan, nan, nan, nan, nan, nan, nan, na...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     ReviewID T_ID sentiment  \\\n",
       "0           0  T_0         N   \n",
       "34         11  T_0         N   \n",
       "126        42  T_0         N   \n",
       "140        46  T_0         N   \n",
       "\n",
       "                                             big_array  \n",
       "0    [N, nan, nan, nan, nan, nan, nan, nan, nan, na...  \n",
       "34   [N, nan, nan, nan, nan, nan, nan, nan, nan, na...  \n",
       "126  [N, nan, nan, nan, nan, nan, nan, nan, nan, na...  \n",
       "140  [N, nan, nan, nan, nan, nan, nan, nan, nan, na...  "
      ]
     },
     "execution_count": 363,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 365,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['T_0', 'T_1', 'T_2', 'T_3', 'T_4', 'T_5', 'T_6', 'T_7', 'T_8',\n",
       "       'T_9', 'T_10', 'T_11', 'T_12', 'T_13', 'T_14', 'T_15', 'T_16',\n",
       "       'T_17'], dtype=object)"
      ]
     },
     "execution_count": 365,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "even_cleaner_df['T_ID'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 439,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['N', 'N', 'nan', 'nan', 'nan']"
      ]
     },
     "execution_count": 439,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sparse_df['big_array'][sparse_df['T_ID'] == 'T_2'].tolist()[0][:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Finally Calculate the Kappa"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 440,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.39004149377593356"
      ]
     },
     "execution_count": 440,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y1 = sparse_df['big_array'][sparse_df['T_ID'] == 'T_0'].tolist()[0]\n",
    "y2 = sparse_df['big_array'][sparse_df['T_ID'] == 'T_1'].tolist()[0]\n",
    "cohen_kappa_score(y1,y2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### And calculate kappas for other combinations (but not all combinations)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 441,
   "metadata": {},
   "outputs": [],
   "source": [
    "def calculate_kappa(num):\n",
    "    y1 = sparse_df['big_array'][sparse_df['T_ID'] == 'T_'+str(num)].tolist()[0]\n",
    "    y2 = sparse_df['big_array'][sparse_df['T_ID'] == 'T_'+str(num + 1)].tolist()[0]\n",
    "    return cohen_kappa_score(y1,y2)\n",
    "\n",
    "kappas = [calculate_kappa(num) for num in range(16)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 442,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.39004149377593356,\n",
       " 0.07634307257304429,\n",
       " 0.023255813953488413,\n",
       " 0.11578947368421055,\n",
       " -0.10975609756097549,\n",
       " -0.04981253347616499,\n",
       " 0.29547088425593093,\n",
       " -0.02821170435999054,\n",
       " -0.01071003570011908,\n",
       " 0.005658536585365748,\n",
       " -0.06968933669185562,\n",
       " -0.04457364341085279,\n",
       " -0.04457364341085279,\n",
       " -0.02235469448584193,\n",
       " -0.015544041450777257,\n",
       " -0.01730103806228378]"
      ]
     },
     "execution_count": 442,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kappas"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Wonderful. More negative numbers. I love life. "
   ]
  }
 ],
 "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.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
