{ "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HITIdHITTypeIdTitleDescriptionKeywordsRewardCreationTimeMaxAssignmentsRequesterAnnotationAssignmentDurationInSeconds...RejectionTimeRequesterFeedbackWorkTimeInSecondsLifetimeApprovalRateLast30DaysApprovalRateLast7DaysApprovalRateInput.textAnswer.sentiment.labelApproveReject
03IQ9O0AYW6ZI3GD740H32KGG2SWITJ3N0K7CX2I27L2NR2L8D93MF8LIRA5JSentiment analysisSentiment analysissentiment, text$0.02Fri Nov 01 12:08:17 PDT 20193BatchId:3821423;OriginalHitTemplateId:928390909;10800...NaNNaN440% (0/0)0% (0/0)0% (0/0)Missed Opportunity\\nI had been very excited to...NeutralNaNNaN
13IQ9O0AYW6ZI3GD740H32KGG2SWITJ3N0K7CX2I27L2NR2L8D93MF8LIRA5JSentiment analysisSentiment analysissentiment, text$0.02Fri Nov 01 12:08:17 PDT 20193BatchId:3821423;OriginalHitTemplateId:928390909;10800...NaNNaN70% (0/0)0% (0/0)0% (0/0)Missed Opportunity\\nI had been very excited to...NegativeNaNNaN
23IQ9O0AYW6ZI3GD740H32KGG2SWITJ3N0K7CX2I27L2NR2L8D93MF8LIRA5JSentiment analysisSentiment analysissentiment, text$0.02Fri Nov 01 12:08:17 PDT 20193BatchId:3821423;OriginalHitTemplateId:928390909;10800...NaNNaN4490% (0/0)0% (0/0)0% (0/0)Missed Opportunity\\nI had been very excited to...PositiveNaNNaN
\n", "

3 rows × 31 columns

\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HITIdHITTypeIdTitleDescriptionKeywordsRewardCreationTimeMaxAssignmentsRequesterAnnotationAssignmentDurationInSeconds...RejectionTimeRequesterFeedbackWorkTimeInSecondsLifetimeApprovalRateLast30DaysApprovalRateLast7DaysApprovalRateInput.textAnswer.sentiment.labelApproveReject
03VMV5CHJZ8F47P7CECH0H830NF4GTP3N0K7CX2I27L2NR2L8D93MF8LIRA5JSentiment analysisSentiment analysissentiment, text$0.02Fri Nov 01 12:11:19 PDT 20193BatchId:3821427;OriginalHitTemplateId:928390909;10800...NaNNaN3550% (0/0)0% (0/0)0% (0/0)funny like a clown\\nGreetings again from the d...PositiveNaNNaN
13VMV5CHJZ8F47P7CECH0H830NF4GTP3N0K7CX2I27L2NR2L8D93MF8LIRA5JSentiment analysisSentiment analysissentiment, text$0.02Fri Nov 01 12:11:19 PDT 20193BatchId:3821427;OriginalHitTemplateId:928390909;10800...NaNNaN4870% (0/0)0% (0/0)0% (0/0)funny like a clown\\nGreetings again from the d...NeutralNaNNaN
23VMV5CHJZ8F47P7CECH0H830NF4GTP3N0K7CX2I27L2NR2L8D93MF8LIRA5JSentiment analysisSentiment analysissentiment, text$0.02Fri Nov 01 12:11:19 PDT 20193BatchId:3821427;OriginalHitTemplateId:928390909;10800...NaNNaN10520% (0/0)0% (0/0)0% (0/0)funny like a clown\\nGreetings again from the d...PositiveNaNNaN
\n", "

3 rows × 31 columns

\n", "
" ], "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": [ "" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": [ "" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": [ "
" ] }, "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": [ "
" ] }, "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WorkTimeInSecondsHITId
WorkerId
A13CLN8L5HFT467.23076913.0
A18WFPSLFV4FKY47.0000002.0
A1IQV3QUWRA8G122.0000001.0
A1N1ULK71RHVMM10.0000003.0
A1S2MN0E9BHPVA173.44444427.0
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WorkTimeInSecondsHITIdWorkTimeInMin
WorkerId
A13CLN8L5HFT467.23076913.00.120513
A18WFPSLFV4FKY47.0000002.00.783333
A1IQV3QUWRA8G122.0000001.00.366667
A1N1ULK71RHVMM10.0000003.00.166667
A1S2MN0E9BHPVA173.44444427.02.890741
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NeutralPositiveNegativeTotal
WorkerId
A13CLN8L5HFT46211013
A18WFPSLFV4FKY0202
A1IQV3QUWRA8G10101
A1N1ULK71RHVMM0213
A1S2MN0E9BHPVA221427
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NeutralPositiveNegativeTotal
WorkerId
A681XM15AN28F1320740
A1Y66T7FKJ8PJA523735
A33ENZVC1XB4BA034034
A1S2MN0E9BHPVA221427
A37L5E8MHHQGZM613322
AE03LUY7RH400410721
A2G44A4ZPWRPXU412218
A1YK1IKACUJMV4015015
A3AW887GI0NLKF310215
A3HAEQW13YPT6A014014
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NeutralPositiveNegativeTotalAvg_WorkTimeInSecondsAvg_WorkTimeInMinMin_WorkTimeInMinMax_WorkTimeInMin
WorkerId
A681XM15AN28F132074013.5750000.2262500.1000000.833333
A1Y66T7FKJ8PJA523735695.85714311.5976190.21666722.000000
A33ENZVC1XB4BA034034366.6470596.1107840.6166679.916667
A1S2MN0E9BHPVA221427173.4444442.8907410.4000004.983333
A37L5E8MHHQGZM613322346.2727275.7712122.1500008.283333
AE03LUY7RH400410721102.2380951.7039680.1000003.433333
A2G44A4ZPWRPXU412218221.2777783.6879630.3833337.383333
A1YK1IKACUJMV4015015593.6000009.8933331.71666711.000000
A3AW887GI0NLKF310215269.4000004.4900001.6166677.216667
A3HAEQW13YPT6A014014442.9285717.3821430.86666711.100000
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0PoN
76#LetRottenTomatoesRotSquad\\nI am a simple guy...P
174#LetRottenTomatoesRotSquad\\nI am a simple guy...P
272#LetRottenTomatoesRotSquad\\nI am a simple guy...P
116A 'Triumph of the Will' for Nihilists\\n'Joker...N
18A 'Triumph of the Will' for Nihilists\\n'Joker...N
.........
227lose of both time and money\\nThis was one of ...N
31lose of both time and money\\nThis was one of ...N
207poor plot\\nPoor plot. i find no reason for jo...N
11poor plot\\nPoor plot. i find no reason for jo...N
109poor plot\\nPoor plot. i find no reason for jo...N
\n", "

294 rows × 2 columns

\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0PoNfor_matching
76#LetRottenTomatoesRotSquad\\nI am a simple guy...P[#LetRottenTomatoesRotSquad, I, am, a, simple]
174#LetRottenTomatoesRotSquad\\nI am a simple guy...P[#LetRottenTomatoesRotSquad, I, am, a, simple]
272#LetRottenTomatoesRotSquad\\nI am a simple guy...P[#LetRottenTomatoesRotSquad, I, am, a, simple]
116A 'Triumph of the Will' for Nihilists\\n'Joker...N[A, 'Triumph, of, the, Will']
18A 'Triumph of the Will' for Nihilists\\n'Joker...N[A, 'Triumph, of, the, Will']
214A 'Triumph of the Will' for Nihilists\\n'Joker...N[A, 'Triumph, of, the, Will']
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Input.textAnswer.sentiment.labelApproveRejectfor_matching
229#LetRottenTomatoesRotSquad\\nI am a simple guy...PositiveNaNNaN[#LetRottenTomatoesRotSquad, I, am, a, simple]
228#LetRottenTomatoesRotSquad\\nI am a simple guy...PositiveNaNNaN[#LetRottenTomatoesRotSquad, I, am, a, simple]
227#LetRottenTomatoesRotSquad\\nI am a simple guy...PositiveNaNNaN[#LetRottenTomatoesRotSquad, I, am, a, simple]
53A 'Triumph of the Will' for Nihilists\\n'Joker...NeutralNaNNaN[A, 'Triumph, of, the, Will']
55A 'Triumph of the Will' for Nihilists\\n'Joker...NegativeNaNNaN[A, 'Triumph, of, the, Will']
54A 'Triumph of the Will' for Nihilists\\n'Joker...NegativeNaNNaN[A, 'Triumph, of, the, Will']
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Last7DaysApprovalRateInput.textAnswer.sentiment.labelApproveReject
00% (0/0)Everyone praised an overrated movie.\\nOverrat...NegativeNaNNaN
10% (0/0)Everyone praised an overrated movie.\\nOverrat...NegativeNaNNaN
20% (0/0)Everyone praised an overrated movie.\\nOverrat...NegativeNaNNaN
30% (0/0)What idiotic FIlm\\nI can say that Phoenix is ...NegativeNaNNaN
40% (0/0)What idiotic FIlm\\nI can say that Phoenix is ...NegativeNaNNaN
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0PoN
0Everyone praised an overrated movie.\\nOverrat...N
1What idiotic FIlm\\nI can say that Phoenix is ...N
2Terrible\\nThe only thing good about this movi...N
3Watch Taxi Driver instead\\nThis is a poor att...N
4I learned one thing.\\nIt borrows a lot of ele...N
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0PoN
76#LetRottenTomatoesRotSquad\\nI am a simple guy...P
174#LetRottenTomatoesRotSquad\\nI am a simple guy...P
272#LetRottenTomatoesRotSquad\\nI am a simple guy...P
116A 'Triumph of the Will' for Nihilists\\n'Joker...N
18A 'Triumph of the Will' for Nihilists\\n'Joker...N
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Input.textAnswer.sentiment.labelApproveRejectPoN
228#LetRottenTomatoesRotSquad\\nI am a simple guy...PositiveNaNNaNP
229#LetRottenTomatoesRotSquad\\nI am a simple guy...PositiveNaNNaNP
230#LetRottenTomatoesRotSquad\\nI am a simple guy...PositiveNaNNaNP
56A 'Triumph of the Will' for Nihilists\\n'Joker...NegativeNaNNaNN
55A 'Triumph of the Will' for Nihilists\\n'Joker...NegativeNaNNaNN
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Input.textWorkerIdAnswer.sentiment.labelPoN
228#LetRottenTomatoesRotSquad\\nI am a simple guy...A681XM15AN28FPositiveP
229#LetRottenTomatoesRotSquad\\nI am a simple guy...A2XFO0X6RCS98MPositiveP
230#LetRottenTomatoesRotSquad\\nI am a simple guy...AURYD2FH3FUOQPositiveP
56A 'Triumph of the Will' for Nihilists\\n'Joker...A1T79J0XQXDDGCNegativeN
55A 'Triumph of the Will' for Nihilists\\n'Joker...A2XFO0X6RCS98MNegativeN
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Input.textWorkerIdAnswer.sentiment.labelPoNAPoN
228#LetRottenTomatoesRotSquad\\nI am a simple guy...A681XM15AN28FPositivePP
229#LetRottenTomatoesRotSquad\\nI am a simple guy...A2XFO0X6RCS98MPositivePP
230#LetRottenTomatoesRotSquad\\nI am a simple guy...AURYD2FH3FUOQPositivePP
56A 'Triumph of the Will' for Nihilists\\n'Joker...A1T79J0XQXDDGCNegativeNN
55A 'Triumph of the Will' for Nihilists\\n'Joker...A2XFO0X6RCS98MNegativeNN
..................
265Venice 76 review\\nI have just watched the Joke...ARLGZWN6W91WDPositiveNP
266Venice 76 review\\nI have just watched the Joke...A38DC3BG1ZCVZ2PositiveNP
93lose of both time and money\\nThis was one of t...A2XFO0X6RCS98MNegativeNN
94lose of both time and money\\nThis was one of t...A3EZ0H07TSDAPWNegativeNN
95lose of both time and money\\nThis was one of t...ASB8T0H7L99RFNegativeNN
\n", "

294 rows × 5 columns

\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Input.textWorkerIdAnswer.sentiment.labelPoNAPoNagree
38This is extremely bad...\\nThis whole film make...A3EZ0H07TSDAPWNegativeNNTrue
216Took my 65 year old mother to see it.\\nI saw t...A3EZ0H07TSDAPWPositiveNPFalse
217Took my 65 year old mother to see it.\\nI saw t...A2XFO0X6RCS98MPositiveNPFalse
218Took my 65 year old mother to see it.\\nI saw t...AKSJ3C5O3V9RBPositiveNPFalse
264Venice 76 review\\nI have just watched the Joke...A3EZ0H07TSDAPWPositiveNPFalse
265Venice 76 review\\nI have just watched the Joke...ARLGZWN6W91WDPositiveNPFalse
266Venice 76 review\\nI have just watched the Joke...A38DC3BG1ZCVZ2PositiveNPFalse
93lose of both time and money\\nThis was one of t...A2XFO0X6RCS98MNegativeNNTrue
94lose of both time and money\\nThis was one of t...A3EZ0H07TSDAPWNegativeNNTrue
95lose of both time and money\\nThis was one of t...ASB8T0H7L99RFNegativeNNTrue
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Input.textPoNagree
0#LetRottenTomatoesRotSquad\\nI am a simple guy...P1.000000
1A 'Triumph of the Will' for Nihilists\\n'Joker...N1.000000
2A Breath of Fresh Cinema\\nBursting with emoti...P1.000000
3A MASTERPIECE\\nJoaquin Phoenix's performance ...N0.333333
4A brilliant movie\\nThis movie is slow but nev...P1.000000
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Input.textPoNagreeagree_factor
0#LetRottenTomatoesRotSquad\\nI am a simple guy...P1.000000agree
1A 'Triumph of the Will' for Nihilists\\n'Joker...N1.000000agree
2A Breath of Fresh Cinema\\nBursting with emoti...P1.000000agree
3A MASTERPIECE\\nJoaquin Phoenix's performance ...N0.333333disparity
4A brilliant movie\\nThis movie is slow but nev...P1.000000agree
...............
93The mirror of society\\nActing 10/10\\nActors 10...N0.000000agree_wrong
94This is extremely bad...\\nThis whole film make...N1.000000agree
95Took my 65 year old mother to see it.\\nI saw t...N0.000000agree_wrong
96Venice 76 review\\nI have just watched the Joke...N0.000000agree_wrong
97lose of both time and money\\nThis was one of t...N1.000000agree
\n", "

98 rows × 4 columns

\n", "
" ], "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": 120, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'gdf_forplot' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;31m# data=gdp_forplot);\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;31m# plt.title('By Polarity')\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mgdf_forplot\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgdf_forplot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreset_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'gdf_forplot' is not defined" ] } ], "source": [ "# sns.catplot(x=\"Answer.sentiment.label\", \n", "# y=\"WorkTimeInSeconds\", \n", "# kind=\"bar\", \n", "# order=['Negative', 'Neutral', 'Positive'], \n", "# data=gdp_forplot);\n", "# plt.title('By Polarity')\n", "gdf_forplot = gdf_forplot.reset_index()" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'gdf_forplot' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mgdf_forplot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgroupby\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'agree'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'agree'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcount\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'gdf_forplot' is not defined" ] } ], "source": [ "gdf_forplot.groupby(['agree'])['agree'].count()" ] }, { "cell_type": "code", "execution_count": 382, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "agree PoN\n", "0.000000 N 14\n", " P 17\n", "0.333333 N 10\n", " P 7\n", "0.666667 N 9\n", " P 8\n", "1.000000 N 15\n", " P 18\n", "Name: agree, dtype: int64" ] }, "execution_count": 382, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gdf_forplot.groupby(['agree','PoN'])['agree'].count()" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
agree_factorInput.textPoNagree
0agree333333
1agree_wrong313131
2disparity343434
\n", "
" ], "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": "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\n", "text/plain": [ "
" ] }, "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": [ "
" ] }, "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": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEXCAYAAAC3c9OwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3debxVdb3/8ddbQEHAATmRiog5NUCiIg5JaQ6p1xwqvXq9mYqR/Wwg0H6a3eI2Xc0xoyINHHLILCErNbVSsUQFRcUpyTAPehVBUcAB7HP/+H6PbLdrn7MPnL33OZz38/E4j7OG71rrs9bee33297vW/i5FBGZmZuXWaXQAZmbWOTlBmJlZIScIMzMr5ARhZmaFnCDMzKyQE4SZmRVyguhkJIWkbRodR61Imi9p30bHsbaQtJek5pLxhyXt1Y7lt5c0R9Irkr5Uoxhvk3RiLda9OiRNlHRFo+PoCpwgakjS6ZJuLJv2RIVpR3XA9jrVyVfSpZK+0+g42kvSupJekNSv0bG0V0R8ICJug6pPhF8F/hwR/SPiwjXdfq1Pvp3tPV6JpJ6SfiTpaUkvSbpaUp9Gx9VeThC1dQewh6QeAJI2BXoBO5ZN2yaXtc7hw8CciFja6EDqYEvg4dVZUFLPDo6l5joy5jbW1Qt4EdiZdIy3Ar7YUduum4jwX43+gHWB5cDOefxI4BLg9rJp80qWCeAk4AngJeBHgPK8rYE/AYuAF4ArgY3yvJ8D/wJeBZYCXy2I53bgk3n4Q3lb/5bH9yGdFFvdTp7//4EFwCvA48A+BdsaC6wA3sjx/DZPnw+cAjwILAGuAXqXLHcwMCfv+1+BD7ZyfAP4EvBkjvNsYJ08bx3g68BTwPPA5cCGeV5v4Iq8fy8B9wKDStZ7HjA+D98GfBv4S97fm4GBJWV3y3G+BDwA7FUybytS4n8FuDW/lldU2JeBwO/yehYDM0r2ZT5wOvAI6aRzScsxA/YCmkvWMx/YFzggH/sV+fg/ULDNPwFvAq/lMtsBG+ZjtTAfu6+XxHFcPg7n52P3nbL1FW5zTY5h2frf8R4v3//SY5CHJwK/yq/3y8CJedoVeX4v4Grg16TP6zrAacDf8z7+EhiQyw4lvefGAP/Mr22r76WSmH4KnNvoc1K7z2GNDmBt/wP+DHwlD08CTgC+WzZtakn5yCeKjYAh+YN6QJ63DbAfsB7QlN+gF5Qs+9YHo0Is3wJ+mIe/lj8EZ5XM+0Fb2wG2B54GNsvjQ4GtK2zv0oKTyHzgHmAzYADwKHBSnrcj6WS+K9AD+Ewuv16F9Uc+vgPysfobcGKedwIwD3gP0A+4Dvh5nvc54LfA+nk7OwMblKz3MWD7PHxbPk7bAX3y+Jl53ub5xHAQ6cSyXx5vyvPvAs4hnXj2JJ2gKiWI/wEmk05YvYDRrPpiMB+YC2yR9/UvLceVCgkiD0+stL2S8re1HLM8fjnwG6B/fm3/BozJ844DVpK+CfcE+hSs7x3bXJNjWLD+t/avaP8rHIMVwGF5/X1aYszDvye9T3vk8l8GZgKDSe//nwJXl7zXIx+jvnn5Vt9Lebk98mu/c6PPR+39cxNT7d1OarKA9KGfkf9Kp91etsyZEfFSRPyTdAIcARAR8yLiloh4PSIWkr7pfqSdsbSU/zDppNQy/pGWONrYzpukD877JfWKiPkR8fd2xABwYUQ8ExGLSR+uEXn6WOCnEXF3RLwZEZcBr5O+YVZyVkQszsfqAuDoPP0Y4LyIeDJSU9HpwFG5WWAFsAmwTd7O7Ih4GUDS1kDPiHi8ZBuXRMTfIuJV0jfKlnj/E7ghIm6IiH9FxC3ALOAgSUOAXYBvRMQbEXEncH0r+7EC2BTYMiJWRMSMyGeXbFJEPJ2P2XdL9rPD5GbPo4DTI+KViJgPnAt8uqTYMxHxw4hYmY9Htdp9DNd4h1a5KyKm5/W3xLwBcBMpcR0fEW/m6ScBZ0REc0S8TkomnyprTpoYEcvyuiq+lwAkbUt6j58QEbM7cJ/qwgmi9u4A9pQ0gPSt6AlSdXqPPG0Y77z+8L8lw8tJ34CRNEjSLyQtkPQy6VvQwHbEchewnaRBpA/o5cAWkgYCo1riaG07ETEPGEf64Dyfy23Wjhgq7h+prXZCvqj3kqSXSN+aW1v/0yXDT5WU3SyPl87rCQwiNVX8AfiFpGckfV9Sr1zuIOBtNxG0Ee8RZfHuSTrRbwYsjojlFWItdzapxnOzpCclnVblfnakgaTaS/lx27xCHO2xOsewoxTFvBvwQdKXsdJEvCUwrSSWR0lfigZVWF9r7yWA44HfRMSvOmJH6s0JovbuIrXrfpbUNED+hvFMnvZMRPyjynV9j1TFHR4RG5C+falkfqtd8+aT1WxSNXpuRLxBSlbjgb9HxAvVbCciroqIPUkfpgDOqrTJKverxdPAdyNio5K/9SPi6laW2aJkeAjpuJL/b1k2byXwXP6G/t8R8X5S9f9g4Nhc7iDghnbE+/OyePtGxJnAs8AASetXiPVt8jf2CRHxHuAQYLykfarYz9a09/i/QPpGXH7cFrRjnavzmlc6htWsfxmpeQd4qxbUVEVMN5Nq0H/MX5hK4zmwLJ7eEVF4DNp4L0FKdNW8Vp2SE0SN5WroLNJJeEbJrDvztPbcvdSfdHFuiaTNgVPL5j9HanNvze3AF1jVrHVb2Xir28n3zX9U0nqki5uvki4cFqkmnlIXAydJ2lVJX0n/Jql/K8ucKmljSVuQEt81efrVwFckbZVvV/0ecE1ErJS0t6Th+WTyMumk+K98Mh9FatarxhXAxyV9TFIPSb3z7xIGR8RTpNd9Yr5tdnfg45VWJOlgSdtIEuni/Zu8/bieLGlwrnWeUbKfrXkOGCqpqs95bmb5JfBdSf0lbUl6j7bnttV2bZNWjmEr6y99T/0N6J3fJ71IF9XXq2bDEfF94CpSkmipiU8m7f+WAJKaJB1aaR2V3kslRcYBlZJdp+cEUR+3A+8iJYUWM/K09iSI/wZ2Ip1Afk+68Frqf4Cv5+rxKa3E0r9ku+XjbW1nPdIb/gVSs8G7SO37RaaQrlW8JGl6WzsXEbNItapJpLt15pEujLbmN6Ra0Zwc65Q8fSqp+n8H8A9SMmu5zfDdpDtbXiY1Idyey36U1F79Wlux5nifBg4lXfBfSPr2eSqrPlfHALuT7/ghndRfr7C6bUl3Oi0l1Tp/HBGlieoq0rfeJ0nt5tX8vuTa/H+RpPuq2SfSMVqWt3Nn3u7UKpdt9zarOIbl3vYej4glwP8Dfkaq6SwDmissW7T9bwPTgVtz8v0B6VrRzZJeIV2w3rWVVVR6L7U4C/hKtfF0Ni13SZh1OZIC2DZfF+mI9f2Y1PT2445YX8H6rwEei4hvtnO5+aQ7jW6tRVxmlbgGYbbKHGBaR61M0i6Stpa0jqQDSN+U26xJmXUWXe6XkGa1EhEXdfAq301qntuE1Ozx+Yi4v4O3YVYzbmIyM7NCbmIyM7NCa1UT08CBA2Po0KGNDsPMrMuYPXv2CxFR/tsRYC1LEEOHDmXWrFmNDsPMrMuQ9FSleW5iMjOzQk4QZmZWyAnCzMwKrVXXIMzM6m3FihU0Nzfz2mtV9dDSML1792bw4MH06tWr7cKZE4SZ2Rpobm6mf//+DB06lNTXYucTESxatIjm5ma22mqrqpdzE5OZ2Rp47bXX2GSTTTptcgCQxCabbNLuWo4ThJnZGurMyaHF6sToBGFmZoWcIMzM6qxHjx6MGDGCYcOGccQRR7B8+fJWy0tiwoQJb42fc845TJw4scZR+iK1mdXZzqde3ugQ2m322ce2Xagd+vTpw5w5cwA45phjmDx5MuPHj69Yfr311uO6667j9NNPZ+DA9jyGfs24BmFm1kCjR49m3rz0zKvzzjuPYcOGMWzYMC644IK3yvTs2ZOxY8dy/vnn1zU2JwgzswZZuXIlN954I8OHD2f27Nlccskl3H333cycOZOLL76Y++9f9fiQk08+mSuvvJIlS5bULT4nCDOzOnv11VcZMWIEI0eOZMiQIYwZM4Y777yTww8/nL59+9KvXz8+8YlPMGPGjLeW2WCDDTj22GO58MIL6xanr0GYmdVZ6TWI9hg3bhw77bQTxx9/fA2ieifXIMzMOoHRo0czffp0li9fzrJly5g2bRqjR49+W5kBAwZw5JFHMmXKlLrE5ARhZtYJ7LTTThx33HGMGjWKXXfdlRNPPJEdd9zxHeUmTJjACy+8UJeY3MRkZlZnS5cuLZw+fvz4wttdS8sPGjSozd9NdBTXIMzMrJAThJmZFXKCMDOzQr4G0UX881vDGx1Cuw35xkONDsHM1oBrEGZmVqhmNQhJU4GDgecjYliedg2wfS6yEfBSRIwoWHY+8ArwJrAyIkbWKk4zMytWyyamS4FJwFtdN0bEv7cMSzoXaK1Tkb0joj43+5qZdZCO7q22mp5kJTF+/HjOPfdcIHUHvnTp0jXuErxmTUwRcQewuGie0qONjgSurtX2zcy6i5buwDv6B3SNugYxGnguIp6oMD+AmyXNljS2tRVJGitplqRZCxcu7PBAzcw6u1p1B96oBHE0rdce9oyInYADgZMlfbhSwYi4KCJGRsTIpqamjo7TzKxLqEV34HVPEJJ6Ap8ArqlUJiIW5P/PA9OAUfWJzsysa6pFd+CNqEHsCzwWEc1FMyX1ldS/ZRjYH5hbx/jMzLqkcePGMWXKFJYtW9Yh66tZgpB0NXAXsL2kZklj8qyjKGtekrSZpBvy6CDgTkkPAPcAv4+Im2oVp5nZ2qKjuwOv2W2uEXF0henHFUx7BjgoDz8J7FCruMzMaqma21JracKECUyaNKlD1uWuNszqwF2lWC3Vqjtwd7VhZmaFnCDMzKyQE4SZmRVygjAzs0JOEGZmVsgJwszMCvk2VzOzDtTRtzRXc7txjx49GD58OCtXruR973sfl112Geuvv/4ab9s1CDOzLq5Pnz7MmTOHuXPnsu666zJ58uQOWa8ThJnZWmT06NHMmzevQ9blBGFmtpZYuXIlN954I8OHd0wzl69BmJl1ca+++iojRowAUg1izJgxbSxRHScIM7MuruUaREdzE5OZmRVyDcLMrAOtTb3gugZhZtbFlXb33ZGcIMzMrJAThJmZFarlM6mnSnpe0tySaRMlLZA0J/8dVGHZAyQ9LmmepNNqFaOZWUeIiEaH0KbVibGWNYhLgQMKpp8fESPy3w3lMyX1AH4EHAi8Hzha0vtrGKeZ2Wrr3bs3ixYt6tRJIiJYtGgRvXv3btdyNbuLKSLukDR0NRYdBcyLiCcBJP0COBR4pOOiMzPrGIMHD6a5uZmFCxc2OpRW9e7dm8GDB7drmUbc5voFSccCs4AJEfFi2fzNgadLxpuBXSutTNJYYCzAkCFDqg5i51Mvr7psZzCtf6MjMOu+2uqhtQfQtz6hVKWjbrWt90XqnwBbAyOAZ4Fz13SFEXFRRIyMiJFNTU1rujozM8vqmiAi4rmIeDMi/gVcTGpOKrcA2KJkfHCeZmZmdVTXBCFp05LRw4G5BcXuBbaVtJWkdYGjgOvrEZ+Zma1Ss2sQkq4G9gIGSmoGvgnsJWkEEMB84HO57GbAzyLioIhYKekLwB9ITXtTI+LhWsVpZmbFankX09EFk6dUKPsMcFDJ+A3AO26BNTOz+vEvqc3MrJAThJmZFXKCMDOzQk4QZmZWyAnCzMwK+Yly1uV0tW5SwF2lWNfkGoSZmRVygjAzs0JOEGZmVsgJwszMCjlBmJlZIScIMzMr5ARhZmaFnCDMzKyQE4SZmRVygjAzs0JOEGZmVsgJwszMCtUsQUiaKul5SXNLpp0t6TFJD0qaJmmjCsvOl/SQpDmSZtUqRjMzq6yWNYhLgQPKpt0CDIuIDwJ/A05vZfm9I2JERIysUXxmZtaKmiWIiLgDWFw27eaIWJlHZwKDa7V9MzNbM428BnECcGOFeQHcLGm2pLF1jMnMzLKGPDBI0hnASuDKCkX2jIgFkt4F3CLpsVwjKVrXWGAswJAhQ2oSr5lZd1T3GoSk44CDgWMiIorKRMSC/P95YBowqtL6IuKiiBgZESObmppqELGZWfdU1wQh6QDgq8AhEbG8Qpm+kvq3DAP7A3OLypqZWe3U8jbXq4G7gO0lNUsaA0wC+pOajeZImpzLbibphrzoIOBOSQ8A9wC/j4ibahWnmZkVq9k1iIg4umDylAplnwEOysNPAjvUKi4zM6uOf0ltZmaFnCDMzKyQE4SZmRVygjAzs0JOEGZmVsgJwszMCjlBmJlZIScIMzMr5ARhZmaFnCDMzKxQ1QlC0paS9s3DfVo61DMzs7VTVQlC0meBXwE/zZMGA9NrFZSZmTVetTWIk4EPAS8DRMQTwLtqFZSZmTVetQni9Yh4o2VEUk/SY0HNzGwtVW2CuF3S14A+kvYDrgV+W7uwzMys0apNEKcBC4GHgM8BNwBfr1VQZmbWeFU9MCgi/iXpCuCOiHi8xjGZmVknUO1dTIcAc4Cb8vgISdfXMjAzM2usapuYvgmMAl4CiIg5wFa1CsrMzBqv2gSxIiKWlE1r8y4mSVMlPS9pbsm0AZJukfRE/r9xhWU/k8s8IekzVcZpZmYdpNoE8bCk/wB6SNpW0g+Bv1ax3KXAAWXTTgP+GBHbAn/M428jaQCp1rIrqebyzUqJxMzMaqPaBPFF4APA68BVwBJgXFsLRcQdwOKyyYcCl+Xhy4DDChb9GHBLRCyOiBeBW3hnojEzsxpq8y4mST2Ab0XEKcAZHbDNQRHxbB7+X2BQQZnNgadLxpvztKL4xgJjAYYMGdIB4ZmZGVRRg4iIN4E9a7HxiAjW8BfZEXFRRIyMiJFNTU0dFJmZmVX1Owjg/nxb67XAspaJEXHdamzzOUmbRsSzkjYFni8oswDYq2R8MHDbamzLzMxWU7XXIHoDi4CPAh/Pfwev5javB1ruSvoM8JuCMn8A9pe0cb44vX+eZmZmdVLtL6mPX52VS7qaVBMYKKmZdGfSmcAvJY0BngKOzGVHAidFxIkRsVjSt4F786q+FRHlF7vNzKyGqkoQki4smLwEmBURRTUAACLi6Aqz9ikoOws4sWR8KjC1mvjMzKzjtaeJaQTwRP77IOm6wBhJF9QoNjMza6BqL1J/EPhQvqMJST8BZpDubnqoRrGZmVkDVVuD2BjoVzLeFxiQE8brHR6VmZk1XLU1iO8DcyTdBgj4MPA9SX2BW2sUm5mZNVC1dzFNkXQj8GngUeBmoDkilgGn1jA+MzNrkGrvYjoR+DLpwvQcYDfgLtLvIszMbC1U7TWILwO7AE9FxN7AjuRnQ5iZ2dqp2gTxWkS8BiBpvYh4DNi+dmGZmVmjVXuRulnSRsB04BZJL5J+BW1mZmupai9SH54HJ0r6M7Ah+fnUZma2dqq2BvGWiLi9FoGYmVnnUu01CDMz62acIMzMrJAThJmZFXKCMDOzQk4QZmZWyAnCzMwKOUGYmVmhuicISdtLmlPy97KkcWVl9pK0pKTMN+odp5lZd9fuH8qtqYh4nPT4UiT1ABYA0wqKzoiIg+sZm5mZrdLoJqZ9gL9HhPt1MjPrZBqdII4Crq4wb3dJD0i6UdIHKq1A0lhJsyTNWrhwYW2iNDPrhhqWICStCxwCXFsw+z5gy4jYAfghqRfZQhFxUUSMjIiRTU1NtQnWzKwbamQN4kDgvoh4rnxGRLwcEUvz8A1AL0kD6x2gmVl31sgEcTQVmpckvVuS8vAoUpyL6hibmVm3V/e7mAAk9QX2Az5XMu0kgIiYDHwK+LyklcCrwFEREY2I1cysu2pIgoiIZcAmZdMmlwxPAibVOy4zM1ul0XcxmZlZJ+UEYWZmhZwgzMyskBOEmZkVcoIwM7NCThBmZlbICcLMzAo5QZiZWSEnCDMzK+QEYWZmhZwgzMyskBOEmZkVcoIwM7NCThBmZlbICcLMzAo5QZiZWSEnCDMzK+QEYWZmhRqWICTNl/SQpDmSZhXMl6QLJc2T9KCknRoRp5lZd9WQZ1KX2DsiXqgw70Bg2/y3K/CT/N/MzOqgMzcxHQpcHslMYCNJmzY6KDOz7qKRCSKAmyXNljS2YP7mwNMl48152ttIGitplqRZCxcurFGoZmbdTyMTxJ4RsROpKelkSR9enZVExEURMTIiRjY1NXVshGZm3VjDEkRELMj/nwemAaPKiiwAtigZH5ynmZlZHTQkQUjqK6l/yzCwPzC3rNj1wLH5bqbdgCUR8WydQzUz67YadRfTIGCapJYYroqImySdBBARk4EbgIOAecBy4PgGxWpm1i01JEFExJPADgXTJ5cMB3ByPeMyM7NVOvNtrmZm1kBOEGZmVsgJwszMCjlBmJlZIScIMzMr5ARhZmaFnCDMzKyQE4SZmRVygjAzs0JOEGZmVsgJwszMCjlBmJlZIScIMzMr5ARhZmaFnCDMzKyQE4SZmRVygjAzs0JOEGZmVqjuCULSFpL+LOkRSQ9L+nJBmb0kLZE0J/99o95xmpl1d414JvVKYEJE3CepPzBb0i0R8UhZuRkRcXAD4jMzMxpQg4iIZyPivjz8CvAosHm94zAzs9Y19BqEpKHAjsDdBbN3l/SApBslfaCugZmZWUOamACQ1A/4NTAuIl4um30fsGVELJV0EDAd2LbCesYCYwGGDBlSw4jNzLqXhtQgJPUiJYcrI+K68vkR8XJELM3DNwC9JA0sWldEXBQRIyNiZFNTU03jNjPrThpxF5OAKcCjEXFehTLvzuWQNIoU56L6RWlmZo1oYvoQ8GngIUlz8rSvAUMAImIy8Cng85JWAq8CR0VENCBWM7Nuq+4JIiLuBNRGmUnApPpEZGZmRfxLajMzK+QEYWZmhZwgzMyskBOEmZkVcoIwM7NCThBmZlbICcLMzAo5QZiZWSEnCDMzK+QEYWZmhZwgzMyskBOEmZkVcoIwM7NCThBmZlbICcLMzAo5QZiZWSEnCDMzK+QEYWZmhZwgzMysUEMShKQDJD0uaZ6k0wrmryfpmjz/bklD6x+lmVn3VvcEIakH8CPgQOD9wNGS3l9WbAzwYkRsA5wPnFXfKM3MrBE1iFHAvIh4MiLeAH4BHFpW5lDgsjz8K2AfSapjjGZm3V7PBmxzc+DpkvFmYNdKZSJipaQlwCbAC+UrkzQWGJtHl0p6vMMj7gS2hIEU7H+n9k3n9BZ+/bq2Lvf6te+127LSjEYkiA4VERcBFzU6jlqTNCsiRjY6Dls9fv26tu76+jWiiWkBsEXJ+OA8rbCMpJ7AhsCiukRnZmZAYxLEvcC2kraStC5wFHB9WZnrgc/k4U8Bf4qIqGOMZmbdXt2bmPI1hS8AfwB6AFMj4mFJ3wJmRcT1wBTg55LmAYtJSaS7W+ub0dZyfv26tm75+slfzM3MrIh/SW1mZoWcIMzMrFCXv83VrNYk9YyIlXXepkhNwP+q53bXNpImAkuBDYA7IuLWGm7rrxGxR+4aaI+IuKpW26oX1yC6mHzbr60GSdMlzZb0cP6BJZLGSPqbpHskXSxpUp5+qaTJku4Gvi+pr6Spudz9kg7N5XpIOlvSvZIelPS5Vrb/I0mH5OFpkqbm4RMkfVfS0NxH2eXAXGALSUdLekjSXElnlaxraV7mAUkzJQ3K07fO4w9J+o6kpTU6nF1KRHyjVsmh5TMZEXvkSUOB/6jFturNCaJBGn2y6qZOiIidgZHAlyRtDvwXsBvwIeC9ZeUHk74JjgfOIN1uPQrYGzhbUl9Sv2FLImIXYBfgs5K2qrD9GcDoPLw5qS8y8rQ78vC2wI8j4gPAClI/ZB8FRgC7SDosl+sLzIyIHfKyn83TfwD8ICKGk3op6HYknZE/R3cC2+dpl0r6VB4+U9Ij+TNyTsn8yZJm5WUPztOHSpoh6b78t0eevleefj3wSJ7WkozPBEZLmiPpK5LukDSiJL47Je1Qr+OxJvxttHFOiIjFkvoA90r6PelktRPwCvAn4IGS8i0nqzclfY90sjpB0kbAPZJuBY4hn6wkrQf8RdLNEfGPuu5Z5/UlSYfn4S2ATwO3R8RiAEnXAtuVlL82It7Mw/sDh0g6JY/3Bobk6R9sOfmQftS5LVB0zGcA45Q6p3wE2FjSpsDuwJdI3ck8FREzc/ldgNsiYmGO70rgw8B04A3gd7ncbGC/PLw70JJErgLOqebArC0k7Uy6LX4E6fx2H+n4tMzfBDgceG9ERP78tBhK6itua+DPkrYBngf2i4jXJG0LXE36ggHpszqs4PN1GnBKRLQkmcXAcaTXfjugd0Q8QBfgBNE4jT5ZdSuS9gL2BXaPiOWSbgMeA97XymLLSlcBfDIi3tbXlyQBX4yIP7QVQ0QsyCekA0jf+gcARwJLI+KVfPJa1to6Sqwo+fHom/iz3GI0MC0ilgPkb/illgCvAVMk/Y5VSRbgl/mazxOSniTVKP8BTMo1gDd5+2fyniq/fF0L/JekU4ETgEvbv1uN4SamBig7We0A3E86WbWm6GQ1Iv8NiYhH8/QvlkzfKiJursU+dEEbkrqQXy7pvaRmpb7ARyRtnNuRP9nK8n8AvpgTApJ2LJn+eUm98vTtctNTJTOBcaQEMQM4Jf8vck+Ob6BSN/lHA7e3sZ8zS/bDPzAtk282GEXqJfpg4KbS2eXFga8AzwE7kGoO65bMryqZ52R1C6mX6iOBK1cn9kZwgmiMznKy6k5uAnpKepTURjyT1OfX90gn4r8A80nfMIt8G+gFPCjp4TwO8DNSc9F9kuYCP6X1b/MzgJ4RMY/U/DGACgkiIp4lNVf8mdTcODsiftPGfo4Dxkt6ENimlf1ZW90BHCapj6T+wMdLZ0rqB2wYETeQTv6l1wKOkLSOpK2B9wCPkz6rz+aaxadJvT+05RWgf9m0nwEXAvdGxIursV8N4V9SN0C+PjCd1Ob5OLARMJFUfT2V1L3IY0BzRJwh6VLgdxHxq7x8H+ACYA9Skv9HRBwsaR3gO6QPhYCFwGER0d1OElWT1C8iluakPI3U9cu0Rse1uiStD7ya29ePAo6OiPLnrazVJJ1B6svteeCfpEQ8jNSc9BfgN6RmWQHnRMRl+TP2GqmWsAEwPiJ+l687/JpUm7gJODki+lVKSUwAAAKOSURBVOVWgLeuM+TtLs3zepG+rG0CXBoR5+f5jwHjIqK01tKpOUF0ImvbyaoryHex7Es6YdwMfLkrdwwpaTQwiXTye4l0M8S8xkbV+ZV/CavB+jcDbiNdHO8yv23xha3OZaKk0pPV9AbHs9aLiFPaLtU+koYDPy+b/HpElD8Yq8NFxAze3mxiDSbpWOC7pFpJl0kO4BqEmZlV4IvUZmZWyAnCzMwKOUGYmVkhJwgzMyvkBGFWZ7lDxYclnb0ay36tFjGZFfFdTGZVUAc+E0LSEmBASd9a7Vl2aUT0a0d5P1fCVptrENatqPHPhLge6AfMlvTvkj4u6e68vlu16rkO/SRdovRchwclfVLSmUAfpW6kr8zlxis9K2KupHF52jueK1G7I2prM9cgrFuRNKC0m3XgY6TuF97WzXpEfCH/unYgcGhJN+uPRMQVuVfWe4AdSd2svysivpO7UfkLcESlnj5LawGSNgZeyl1jnAi8LyImKD0caL2IaDnpbxwRL5YtuzOpZ9DdSL+cvhv4T+BF4ElS9/Azy7dvVi3/ktq6m87Wzfpg4Bql50KsW7LMvpT0xlqhg7c9SV1bL8uxX0fq7vp63v5cCbPV4gRh3YY6wTMhCvwQOC8irs/xTVyNdRSp9rkSZhX5GoR1J52xm/UNSd2OQ+qBtMUtwMktI7kpCmBFy3ZI3YQfJmn9vL3DqfxsCbN2c4Kw7qSzPBOi1ETgWkmzgRdKpn+H9EjSuZIeID0HG+CivP0rI+I+0jWIe0jXH34WEfdXuV2zNvkitXV77mbdrJhrEGapm/U5pFtC/4G7WTcDXIMwq4lGPhPCrKM4QZiZWSE3MZmZWSEnCDMzK+QEYWZmhZwgzMys0P8B9Safu8302H0AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "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": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HITTypeIdTitleDescriptionKeywordsRewardCreationTimeMaxAssignmentsRequesterAnnotationAssignmentDurationInSecondsAutoApprovalDelayInSeconds...RejectionTimeRequesterFeedbackWorkTimeInSecondsLifetimeApprovalRateLast30DaysApprovalRateLast7DaysApprovalRateInput.textAnswer.sentiment.labelApproveReject
HITIdWorkerId
301KG0KX9CLONM8AF3FM1L6B224H2XA2739JVQYMPMOU1111111111...0011111100
A33ENZVC1XB4BA1111111111...0011111100
A3RA9555K7Z7GN1111111111...0011111100
30F94FBDNRK8G8Z1YQPMGXC372CBT3A1S2MN0E9BHPVA1111111111...0011111100
A1Y66T7FKJ8PJA1111111111...0011111100
.....................................................................
3ZVPAMTJWN3RRAUKANC5HT2IZU7RGNA33ENZVC1XB4BA1111111111...0011111100
A681XM15AN28F1111111111...0011111100
3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTKA1IQV3QUWRA8G11111111111...0011111100
A681XM15AN28F1111111111...0011111100
AE03LUY7RH4001111111111...0011111100
\n", "

369 rows × 29 columns

\n", "
" ], "text/plain": [ " HITTypeId Title Description \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 1 1 \n", " A33ENZVC1XB4BA 1 1 1 \n", " A3RA9555K7Z7GN 1 1 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 1 1 \n", " A1Y66T7FKJ8PJA 1 1 1 \n", "... ... ... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 1 1 \n", " A681XM15AN28F 1 1 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 1 1 \n", " A681XM15AN28F 1 1 1 \n", " AE03LUY7RH400 1 1 1 \n", "\n", " Keywords Reward CreationTime \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 1 1 \n", " A33ENZVC1XB4BA 1 1 1 \n", " A3RA9555K7Z7GN 1 1 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 1 1 \n", " A1Y66T7FKJ8PJA 1 1 1 \n", "... ... ... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 1 1 \n", " A681XM15AN28F 1 1 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 1 1 \n", " A681XM15AN28F 1 1 1 \n", " AE03LUY7RH400 1 1 1 \n", "\n", " MaxAssignments \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " RequesterAnnotation \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " AssignmentDurationInSeconds \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " AutoApprovalDelayInSeconds \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " ... RejectionTime \\\n", "HITId WorkerId ... \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU ... 0 \n", " A33ENZVC1XB4BA ... 0 \n", " A3RA9555K7Z7GN ... 0 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA ... 0 \n", " A1Y66T7FKJ8PJA ... 0 \n", "... ... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA ... 0 \n", " A681XM15AN28F ... 0 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 ... 0 \n", " A681XM15AN28F ... 0 \n", " AE03LUY7RH400 ... 0 \n", "\n", " RequesterFeedback \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 0 \n", " A33ENZVC1XB4BA 0 \n", " A3RA9555K7Z7GN 0 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 0 \n", " A1Y66T7FKJ8PJA 0 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 0 \n", " A681XM15AN28F 0 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 0 \n", " A681XM15AN28F 0 \n", " AE03LUY7RH400 0 \n", "\n", " WorkTimeInSeconds \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " LifetimeApprovalRate \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " Last30DaysApprovalRate \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " Last7DaysApprovalRate \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " Input.text \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " Answer.sentiment.label \\\n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 1 \n", " A33ENZVC1XB4BA 1 \n", " A3RA9555K7Z7GN 1 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 1 \n", " A1Y66T7FKJ8PJA 1 \n", "... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 1 \n", " A681XM15AN28F 1 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 1 \n", " A681XM15AN28F 1 \n", " AE03LUY7RH400 1 \n", "\n", " Approve Reject \n", "HITId WorkerId \n", "301KG0KX9CLONM8AF3FM1L6B224H2X A2739JVQYMPMOU 0 0 \n", " A33ENZVC1XB4BA 0 0 \n", " A3RA9555K7Z7GN 0 0 \n", "30F94FBDNRK8G8Z1YQPMGXC372CBT3 A1S2MN0E9BHPVA 0 0 \n", " A1Y66T7FKJ8PJA 0 0 \n", "... ... ... \n", "3ZVPAMTJWN3RRAUKANC5HT2IZU7RGN A33ENZVC1XB4BA 0 0 \n", " A681XM15AN28F 0 0 \n", "3ZZAYRN1I6RSZ2OA2VU8MHC2E1VOTK A1IQV3QUWRA8G1 0 0 \n", " A681XM15AN28F 0 0 \n", " AE03LUY7RH400 0 0 \n", "\n", "[369 rows x 29 columns]" ] }, "execution_count": 135, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos.groupby(['HITId', 'WorkerId']).count()" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "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 " ] }, { "cell_type": "code", "execution_count": 136, "metadata": {}, "outputs": [], "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": "code", "execution_count": 137, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Input.textWorkerIdAnswer.sentiment.labelPoN
228#LetRottenTomatoesRotSquad\\nI am a simple guy...A681XM15AN28FPositiveP
229#LetRottenTomatoesRotSquad\\nI am a simple guy...A2XFO0X6RCS98MPositiveP
230#LetRottenTomatoesRotSquad\\nI am a simple guy...AURYD2FH3FUOQPositiveP
56A 'Triumph of the Will' for Nihilists\\n'Joker...A1T79J0XQXDDGCNegativeN
55A 'Triumph of the Will' for Nihilists\\n'Joker...A2XFO0X6RCS98MNegativeN
...............
265Venice 76 review\\nI have just watched the Joke...ARLGZWN6W91WDPositiveN
266Venice 76 review\\nI have just watched the Joke...A38DC3BG1ZCVZ2PositiveN
93lose of both time and money\\nThis was one of t...A2XFO0X6RCS98MNegativeN
94lose of both time and money\\nThis was one of t...A3EZ0H07TSDAPWNegativeN
95lose of both time and money\\nThis was one of t...ASB8T0H7L99RFNegativeN
\n", "

294 rows × 4 columns

\n", "
" ], "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 \n", "228 Positive P \n", "229 Positive P \n", "230 Positive P \n", "56 Negative N \n", "55 Negative N \n", ".. ... .. \n", "265 Positive N \n", "266 Positive N \n", "93 Negative N \n", "94 Negative N \n", "95 Negative N \n", "\n", "[294 rows x 4 columns]" ] }, "execution_count": 137, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 138, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NeutralPositiveNegativeTotalAvg_WorkTimeInSecondsAvg_WorkTimeInMinMin_WorkTimeInMinMax_WorkTimeInMin
WorkerId
A681XM15AN28F132074013.5750000.2262500.1000000.833333
A1Y66T7FKJ8PJA523735695.85714311.5976190.21666722.000000
A33ENZVC1XB4BA034034366.6470596.1107840.6166679.916667
A1S2MN0E9BHPVA221427173.4444442.8907410.4000004.983333
A37L5E8MHHQGZM613322346.2727275.7712122.1500008.283333
AE03LUY7RH400410721102.2380951.7039680.1000003.433333
A2G44A4ZPWRPXU412218221.2777783.6879630.3833337.383333
A1YK1IKACUJMV4015015593.6000009.8933331.71666711.000000
A3AW887GI0NLKF310215269.4000004.4900001.6166677.216667
A3HAEQW13YPT6A014014442.9285717.3821430.86666711.100000
\n", "
" ], "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": 138, "metadata": {}, "output_type": "execute_result" } ], "source": [ "top[:10]" ] }, { "cell_type": "code", "execution_count": 141, "metadata": {}, "outputs": [], "source": [ "newdf = pd.DataFrame(turker.groupby(['HITId', 'WorkerId']))" ] }, { "cell_type": "code", "execution_count": 142, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
01
0(302OLP89DZ7MBHSY6QU0WCST11GACJ, A1T79J0XQXDDGC)HITId ...
1(302OLP89DZ7MBHSY6QU0WCST11GACJ, A2XFO0X6RCS98M)HITId ...
2(302OLP89DZ7MBHSY6QU0WCST11GACJ, A681XM15AN28F)HITId ...
3(3087LXLJ6MGXDGEQ5QN8FC1JPSW0FT, A1L8RL58MYU4NC)HITId ...
4(3087LXLJ6MGXDGEQ5QN8FC1JPSW0FT, A1T79J0XQXDDGC)HITId ...
.........
289(3ZLW647WALV9TE1B0IQKXR51J0B327, A38DC3BG1ZCVZ2)HITId ...
290(3ZLW647WALV9TE1B0IQKXR51J0B327, ARLGZWN6W91WD)HITId ...
291(3ZRKL6Z1E833SPUXPCCA737ELZESG6, A1L8RL58MYU4NC)HITId ...
292(3ZRKL6Z1E833SPUXPCCA737ELZESG6, A38DC3BG1ZCVZ2)HITId ...
293(3ZRKL6Z1E833SPUXPCCA737ELZESG6, A681XM15AN28F)HITId ...
\n", "

294 rows × 2 columns

\n", "
" ], "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", "289 (3ZLW647WALV9TE1B0IQKXR51J0B327, A38DC3BG1ZCVZ2) \n", "290 (3ZLW647WALV9TE1B0IQKXR51J0B327, ARLGZWN6W91WD) \n", "291 (3ZRKL6Z1E833SPUXPCCA737ELZESG6, A1L8RL58MYU4NC) \n", "292 (3ZRKL6Z1E833SPUXPCCA737ELZESG6, A38DC3BG1ZCVZ2) \n", "293 (3ZRKL6Z1E833SPUXPCCA737ELZESG6, A681XM15AN28F) \n", "\n", " 1 \n", "0 HITId ... \n", "1 HITId ... \n", "2 HITId ... \n", "3 HITId ... \n", "4 HITId ... \n", ".. ... \n", "289 HITId ... \n", "290 HITId ... \n", "291 HITId ... \n", "292 HITId ... \n", "293 HITId ... \n", "\n", "[294 rows x 2 columns]" ] }, "execution_count": 142, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newdf" ] }, { "cell_type": "code", "execution_count": 147, "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": 147, "metadata": {}, "output_type": "execute_result" } ], "source": [ "turker.columns" ] }, { "cell_type": "code", "execution_count": 148, "metadata": {}, "outputs": [], "source": [ "turker_clean = turker[['HITId', 'WorkerId', 'Answer.sentiment.label', 'Input.text']]" ] }, { "cell_type": "code", "execution_count": 149, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HITIdWorkerIdAnswer.sentiment.labelInput.text
0338GLSUI43BXEPY2ES6SPI72KKESF7AH5A86OLRZWCSNegativeEveryone praised an overrated movie.\\nOverrat...
1338GLSUI43BXEPY2ES6SPI72KKESF7A2HGRSPR50ENHLNegativeEveryone praised an overrated movie.\\nOverrat...
2338GLSUI43BXEPY2ES6SPI72KKESF7AKSJ3C5O3V9RBNegativeEveryone praised an overrated movie.\\nOverrat...
337MQ8Z1JQEWA9HYZP3JANL1ES162YCARLGZWN6W91WDNegativeWhat idiotic FIlm\\nI can say that Phoenix is ...
437MQ8Z1JQEWA9HYZP3JANL1ES162YCAKSJ3C5O3V9RBNegativeWhat idiotic FIlm\\nI can say that Phoenix is ...
...............
2893PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA3EZ0H07TSDAPWNegativeOscar for Phoenix\\nI will stop watching movie...
2903PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA38DC3BG1ZCVZ2PositiveOscar for Phoenix\\nI will stop watching movie...
2913FO95NVK5C0UHF3B5N6M67LLN8PSR2A194R45ACMQEORPositiveJoker > Endgame\\nNeed I say more? Everything ...
2923FO95NVK5C0UHF3B5N6M67LLN8PSR2A1L8RL58MYU4NCPositiveJoker > Endgame\\nNeed I say more? Everything ...
2933FO95NVK5C0UHF3B5N6M67LLN8PSR2A1T79J0XQXDDGCPositiveJoker > Endgame\\nNeed I say more? Everything ...
\n", "

294 rows × 4 columns

\n", "
" ], "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": 149, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# turker_clean.groupby" ] }, { "cell_type": "code", "execution_count": 150, "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": 150, "metadata": {}, "output_type": "execute_result" } ], "source": [ "turker_clean.WorkerId.value_counts()" ] }, { "cell_type": "code", "execution_count": 161, "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": 162, "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": 165, "metadata": {}, "outputs": [], "source": [ "merged_df = pd.concat([turker1, turker2, turker3, turker4, turker5], axis=0, sort=False)" ] }, { "cell_type": "code", "execution_count": 168, "metadata": {}, "outputs": [], "source": [ "merged_df.reset_index(drop=True, inplace=True)" ] }, { "cell_type": "code", "execution_count": 196, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HITIdWorkerIdAnswer.sentiment.labelInput.text
793AQN9REUTFGXCRWFMS3RJ4SIPSUYDGA681XM15AN28FPositive#LetRottenTomatoesRotSquad\\nI am a simple guy...
1423AQN9REUTFGXCRWFMS3RJ4SIPSUYDGA2XFO0X6RCS98MPositive#LetRottenTomatoesRotSquad\\nI am a simple guy...
1223IVKZBIBJ09HSLP89IUSS3JF0ZRSH5A2XFO0X6RCS98MNegativeA 'Triumph of the Will' for Nihilists\\n'Joker...
553IVKZBIBJ09HSLP89IUSS3JF0ZRSH5A681XM15AN28FNeutralA 'Triumph of the Will' for Nihilists\\n'Joker...
873IVKZBIBJ09HSLP89IUSS3JF0ZRSH5A1T79J0XQXDDGCNegativeA 'Triumph of the Will' for Nihilists\\n'Joker...
...............
1753J9UN9O9J3SDII0MOGETUATBIZD0JWA3EZ0H07TSDAPWPositiveTook my 65 year old mother to see it.\\nI saw t...
4331ODACBENUFU5EOBS8HM1HBGRMNSQ1ARLGZWN6W91WDPositiveVenice 76 review\\nI have just watched the Joke...
18031ODACBENUFU5EOBS8HM1HBGRMNSQ1A3EZ0H07TSDAPWPositiveVenice 76 review\\nI have just watched the Joke...
1623M93N4X8HKNDJRKYXIXD4GZUDRVSJAA3EZ0H07TSDAPWNegativelose of both time and money\\nThis was one of t...
1273M93N4X8HKNDJRKYXIXD4GZUDRVSJAA2XFO0X6RCS98MNegativelose of both time and money\\nThis was one of t...
\n", "

183 rows × 4 columns

\n", "
" ], "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": 196, "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HITIdWorkerIdAnswer.sentiment.labelInput.text
333AQN9REUTFGXCRWFMS3RJ4SIPSUYDGA681XM15AN28FPositive#LetRottenTomatoesRotSquad\\nI am a simple guy...
93IVKZBIBJ09HSLP89IUSS3JF0ZRSH5A681XM15AN28FNeutralA 'Triumph of the Will' for Nihilists\\n'Joker...
3639O0SQZVJN78YHJJHK8BBGPP0UD7RVARLGZWN6W91WDPositiveA Breath of Fresh Cinema\\nBursting with emoti...
30334ZEL5JX6FRK2BVDVPICCGGCL5SOTA681XM15AN28FPositiveA brilliant movie\\nThis movie is slow but nev...
313DWGDA5POF4MG2LY1OWCB3NFIEPV1EARLGZWN6W91WDPositiveA clean masterpiece!\\nWhat I loved the most a...
...............
73D17ECOUOEV24TJFHEQ6S8VWRUX31QARLGZWN6W91WDNegativeOverhyped and not everyone joker performance i...
63G3AJKPCXLSKCVDMTH2YG0YCCF1Y43A681XM15AN28FNeutralRidiculous well acted Trash\\nSaw the movie Jok...
173JAOYN9IHL2YEWXU4I4PG1ATPEB33IA681XM15AN28FNeutralThe king has no clothes\\nRead the reviews- the...
383J5XXLQDHMBIQ5ZDOSAVZW2CGY3V36ARLGZWN6W91WDPositiveThe mirror of society\\nActing 10/10\\nActors 10...
4331ODACBENUFU5EOBS8HM1HBGRMNSQ1ARLGZWN6W91WDPositiveVenice 76 review\\nI have just watched the Joke...
\n", "

83 rows × 4 columns

\n", "
" ], "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": "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HITIdWorkerIdAnswer.sentiment.label
037MQ8Z1JQEWA9HYZP3JANL1ES162YCARLGZWN6W91WDNegative
13I7SHAD35MWH116RCCCUPHVFU7E7M7ARLGZWN6W91WDNegative
23XUSYT70IT10FW0UEKSIRCYYDFG0DIARLGZWN6W91WDNegative
33SD15I2WD2UXBFKCNK2NN4MDZ5D63RARLGZWN6W91WDNegative
43P7QK0GJ3TLAE784LPLT1SAGYVA2Z3ARLGZWN6W91WDNegative
............
17839KV3A5D187KZWJWW98G1QULMWW7SJA3EZ0H07TSDAPWNeutral
17935F6NGNVM8JLEWWBL9D6BVQ7OFA7T8A3EZ0H07TSDAPWPositive
18031ODACBENUFU5EOBS8HM1HBGRMNSQ1A3EZ0H07TSDAPWPositive
1813PN6H8C9R4QWG9YC6MPBGIABM1SDAMA3EZ0H07TSDAPWNeutral
1823PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA3EZ0H07TSDAPWNegative
\n", "

183 rows × 3 columns

\n", "
" ], "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": 213, "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)" ] }, { "cell_type": "code", "execution_count": 216, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Turker A1T79J0XQXDDGC \\\n", "SENTIMENT1 Positive \n", "SENTIMENT2 Negative \n", "SENTIMENT3 Positive \n", "SENTIMENT4 Positive \n", "SENTIMENT5 Negative \n", "SENTIMENT6 Negative \n", "SENTIMENT7 Negative \n", "SENTIMENT8 Positive \n", "SENTIMENT9 Negative \n", "SENTIMENT10 Negative \n", "SENTIMENT11 Negative \n", "SENTIMENT12 Negative \n", "SENTIMENT13 Negative \n", "SENTIMENT14 Negative \n", "SENTIMENT15 Positive \n", "SENTIMENT16 Positive \n", "SENTIMENT17 Positive \n", "SENTIMENT18 Positive \n", "SENTIMENT19 Positive \n", "SENTIMENT20 Positive \n", "SENTIMENT21 Positive \n", "SENTIMENT22 Positive \n", "SENTIMENT23 Positive \n", "SENTIMENT24 Positive \n", "SENTIMENT25 Positive \n", "SENTIMENT26 Positive \n", "SENTIMENT27 Positive \n", "SENTIMENT28 Positive \n", "SENTIMENT29 Positive \n", "SENTIMENT30 Negative \n", "SENTIMENT31 Positive \n", "SENTIMENT32 Positive \n", "SENTIMENT33 Positive \n", "SENTIMENT34 Positive \n", "SENTIMENT35 NaN \n", "SENTIMENT36 NaN \n", "SENTIMENT37 NaN \n", "SENTIMENT38 NaN \n", "SENTIMENT39 NaN \n", "SENTIMENT40 NaN \n", "SENTIMENT41 NaN \n", "SENTIMENT42 NaN \n", "SENTIMENT43 NaN \n", "SENTIMENT44 NaN \n", "SENTIMENT45 NaN \n", "SENTIMENT46 NaN \n", "REVIEW 302OLP89DZ7MBHSY6QU0WCST11GACJ32LAQ1JNT9PNC787... \n", "\n", "Turker A2XFO0X6RCS98M \\\n", "SENTIMENT1 Negative \n", "SENTIMENT2 Negative \n", "SENTIMENT3 Negative \n", "SENTIMENT4 Negative \n", "SENTIMENT5 Positive \n", "SENTIMENT6 Negative \n", "SENTIMENT7 Negative \n", "SENTIMENT8 Negative \n", "SENTIMENT9 Negative \n", "SENTIMENT10 Negative \n", "SENTIMENT11 Negative \n", "SENTIMENT12 Negative \n", "SENTIMENT13 Negative \n", "SENTIMENT14 Negative \n", "SENTIMENT15 Positive \n", "SENTIMENT16 Negative \n", "SENTIMENT17 Negative \n", "SENTIMENT18 Positive \n", "SENTIMENT19 Positive \n", "SENTIMENT20 Positive \n", "SENTIMENT21 Positive \n", "SENTIMENT22 Positive \n", "SENTIMENT23 Positive \n", "SENTIMENT24 Positive \n", "SENTIMENT25 Positive \n", "SENTIMENT26 Positive \n", "SENTIMENT27 Positive \n", "SENTIMENT28 Positive \n", "SENTIMENT29 Positive \n", "SENTIMENT30 Positive \n", "SENTIMENT31 Positive \n", "SENTIMENT32 Positive \n", "SENTIMENT33 Positive \n", "SENTIMENT34 NaN \n", "SENTIMENT35 NaN \n", "SENTIMENT36 NaN \n", "SENTIMENT37 NaN \n", "SENTIMENT38 NaN \n", "SENTIMENT39 NaN \n", "SENTIMENT40 NaN \n", "SENTIMENT41 NaN \n", "SENTIMENT42 NaN \n", "SENTIMENT43 NaN \n", "SENTIMENT44 NaN \n", "SENTIMENT45 NaN \n", "SENTIMENT46 NaN \n", "REVIEW 3I7SHAD35MWH116RCCCUPHVFU7E7M73XUSYT70IT10FW0U... \n", "\n", "Turker A3EZ0H07TSDAPW \\\n", "SENTIMENT1 Positive \n", "SENTIMENT2 Neutral \n", "SENTIMENT3 Positive \n", "SENTIMENT4 Negative \n", "SENTIMENT5 Negative \n", "SENTIMENT6 Positive \n", "SENTIMENT7 Negative \n", "SENTIMENT8 Positive \n", "SENTIMENT9 Positive \n", "SENTIMENT10 Negative \n", "SENTIMENT11 Neutral \n", "SENTIMENT12 Negative \n", "SENTIMENT13 Negative \n", "SENTIMENT14 Neutral \n", "SENTIMENT15 Neutral \n", "SENTIMENT16 Positive \n", "SENTIMENT17 Negative \n", "SENTIMENT18 Negative \n", "SENTIMENT19 Neutral \n", "SENTIMENT20 Neutral \n", "SENTIMENT21 Neutral \n", "SENTIMENT22 Positive \n", "SENTIMENT23 Positive \n", "SENTIMENT24 Neutral \n", "SENTIMENT25 Positive \n", "SENTIMENT26 Positive \n", "SENTIMENT27 Positive \n", "SENTIMENT28 Positive \n", "SENTIMENT29 Neutral \n", "SENTIMENT30 Positive \n", "SENTIMENT31 Positive \n", "SENTIMENT32 Neutral \n", "SENTIMENT33 Negative \n", "SENTIMENT34 NaN \n", "SENTIMENT35 NaN \n", "SENTIMENT36 NaN \n", "SENTIMENT37 NaN \n", "SENTIMENT38 NaN \n", "SENTIMENT39 NaN \n", "SENTIMENT40 NaN \n", "SENTIMENT41 NaN \n", "SENTIMENT42 NaN \n", "SENTIMENT43 NaN \n", "SENTIMENT44 NaN \n", "SENTIMENT45 NaN \n", "SENTIMENT46 NaN \n", "REVIEW 38O9DZ0A62N8QXOTJKOI4UHLTRD62G3I7SHAD35MWH116R... \n", "\n", "Turker A681XM15AN28F \\\n", "SENTIMENT1 Negative \n", "SENTIMENT2 Positive \n", "SENTIMENT3 Positive \n", "SENTIMENT4 Positive \n", "SENTIMENT5 Positive \n", "SENTIMENT6 Negative \n", "SENTIMENT7 Neutral \n", "SENTIMENT8 Neutral \n", "SENTIMENT9 Neutral \n", "SENTIMENT10 Neutral \n", "SENTIMENT11 Positive \n", "SENTIMENT12 Positive \n", "SENTIMENT13 Negative \n", "SENTIMENT14 Positive \n", "SENTIMENT15 Neutral \n", "SENTIMENT16 Neutral \n", "SENTIMENT17 Neutral \n", "SENTIMENT18 Neutral \n", "SENTIMENT19 Positive \n", "SENTIMENT20 Negative \n", "SENTIMENT21 Neutral \n", "SENTIMENT22 Positive \n", "SENTIMENT23 Neutral \n", "SENTIMENT24 Neutral \n", "SENTIMENT25 Negative \n", "SENTIMENT26 Neutral \n", "SENTIMENT27 Negative \n", "SENTIMENT28 Positive \n", "SENTIMENT29 Negative \n", "SENTIMENT30 Neutral \n", "SENTIMENT31 Positive \n", "SENTIMENT32 Negative \n", "SENTIMENT33 Positive \n", "SENTIMENT34 Positive \n", "SENTIMENT35 Negative \n", "SENTIMENT36 Neutral \n", "SENTIMENT37 Positive \n", "SENTIMENT38 NaN \n", "SENTIMENT39 NaN \n", "SENTIMENT40 NaN \n", "SENTIMENT41 NaN \n", "SENTIMENT42 NaN \n", "SENTIMENT43 NaN \n", "SENTIMENT44 NaN \n", "SENTIMENT45 NaN \n", "SENTIMENT46 NaN \n", "REVIEW 3SD15I2WD2UXBFKCNK2NN4MDZ5D63R302OLP89DZ7MBHSY... \n", "\n", "Turker ARLGZWN6W91WD \n", "SENTIMENT1 Negative \n", "SENTIMENT2 Negative \n", "SENTIMENT3 Negative \n", "SENTIMENT4 Negative \n", "SENTIMENT5 Negative \n", "SENTIMENT6 Negative \n", "SENTIMENT7 Negative \n", "SENTIMENT8 Negative \n", "SENTIMENT9 Negative \n", "SENTIMENT10 Negative \n", "SENTIMENT11 Negative \n", "SENTIMENT12 Negative \n", "SENTIMENT13 Negative \n", "SENTIMENT14 Negative \n", "SENTIMENT15 Negative \n", "SENTIMENT16 Negative \n", "SENTIMENT17 Negative \n", "SENTIMENT18 Negative \n", "SENTIMENT19 Neutral \n", "SENTIMENT20 Negative \n", "SENTIMENT21 Negative \n", "SENTIMENT22 Negative \n", "SENTIMENT23 Positive \n", "SENTIMENT24 Positive \n", "SENTIMENT25 Positive \n", "SENTIMENT26 Positive \n", "SENTIMENT27 Positive \n", "SENTIMENT28 Positive \n", "SENTIMENT29 Positive \n", "SENTIMENT30 Positive \n", "SENTIMENT31 Positive \n", "SENTIMENT32 Positive \n", "SENTIMENT33 Positive \n", "SENTIMENT34 Positive \n", "SENTIMENT35 Positive \n", "SENTIMENT36 Positive \n", "SENTIMENT37 Positive \n", "SENTIMENT38 Positive \n", "SENTIMENT39 Positive \n", "SENTIMENT40 Positive \n", "SENTIMENT41 Positive \n", "SENTIMENT42 Negative \n", "SENTIMENT43 Positive \n", "SENTIMENT44 Positive \n", "SENTIMENT45 Positive \n", "SENTIMENT46 Positive \n", "REVIEW 37MQ8Z1JQEWA9HYZP3JANL1ES162YC3I7SHAD35MWH116R... \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)" ] }, { "cell_type": "code", "execution_count": 225, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "47" ] }, "execution_count": 225, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t1 = result_df.T['A3EZ0H07TSDAPW'].tolist()\n", "len(t1)" ] }, { "cell_type": "code", "execution_count": 245, "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": 246, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Positive',\n", " 'Neutral',\n", " 'Positive',\n", " 'Negative',\n", " 'Negative',\n", " 'Positive',\n", " 'Negative',\n", " 'Positive',\n", " 'Positive',\n", " 'Negative',\n", " 'Neutral',\n", " 'Negative',\n", " 'Negative',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Positive',\n", " 'Negative',\n", " 'Negative',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Positive',\n", " 'Positive',\n", " 'Neutral',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Neutral',\n", " 'Positive',\n", " 'Positive',\n", " 'Neutral',\n", " 'Negative',\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan]" ] }, "execution_count": 246, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t1[:-1]" ] }, { "cell_type": "code", "execution_count": 247, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Positive',\n", " 'Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Negative',\n", " 'Positive',\n", " 'Negative',\n", " 'Negative',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan]" ] }, "execution_count": 247, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t2[:-1]" ] }, { "cell_type": "code", "execution_count": 248, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Negative',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Positive',\n", " 'Negative',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Positive',\n", " 'Positive',\n", " 'Negative',\n", " 'Positive',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Positive',\n", " 'Negative',\n", " 'Neutral',\n", " 'Positive',\n", " 'Neutral',\n", " 'Neutral',\n", " 'Negative',\n", " 'Neutral',\n", " 'Negative',\n", " 'Positive',\n", " 'Negative',\n", " 'Neutral',\n", " 'Positive',\n", " 'Negative',\n", " 'Positive',\n", " 'Positive',\n", " 'Negative',\n", " 'Neutral',\n", " 'Positive',\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " nan,\n", " '3SD15I2WD2UXBFKCNK2NN4MDZ5D63R302OLP89DZ7MBHSY6QU0WCST11GACJ3P7QK0GJ3TLAE784LPLT1SAGYVA2Z33ZRKL6Z1E833SPUXPCCA737ELZESG63PN6H8C9R4QWG9YC6MPBGIABM1SADJ3WGCNLZJKF80MLLCA3WI5HH8I7MD1Y3G3AJKPCXLSKCVDMTH2YG0YCCF1Y433D17ECOUOEV24TJFHEQ6S8VWRUX31Q3XWUWJ18TLQ2CKNWYMWRQJQTF4EUUO3IVKZBIBJ09HSLP89IUSS3JF0ZRSH53H5TOKO3D9JITB3GNY76X9EJD5964C3MVY4USGB6NHOG0SF0CDSFKU0C6SIY32PT7WK7DMFWWOZRX7A1TAW5GR0D3Q3SMIWMMK615F4OC1TMBS87BQ0KPUWN3X4Q1O9UBHM514R3PSR7HLKKP7T7OM3J94SKDEKIPZA3MVBQYU87UPUNRD5G3Y40HMYLL1IUTOHR3R7EAQPX9MVUXG3JAOYN9IHL2YEWXU4I4PG1ATPEB33I3BS6ERDL937VT7M9G98Z0D8PQI2D6W3087LXLJ6MGXDGEQ5QN8FC1JPSW0FT30EMX9PEVKJ8UBQGF3XP5VZ7SGVSK93PA41K45VN4NM4344S4M6LPAZCP7P33VO4XFFP15M8MG4J45JB6QFK48B7QU30UZJB2POHC1SBKYI1SIVY8D3A23583SD15I2WD2UXBFKCNK2NN4MDZ5D36O3BO3NEOQM0HDOKEYY0QM7FQOE60AIL3EGKVCRQFWS4XUYV8WCLOE4IM7IYB93O71U79SRBP3KZQJ0FA5K8RBHLQSME3B286OTISEH9JVY4GIBMJG5ORLPAJX3YCT0L9OMM992HBJCGP5XNGBMB0SNE334ZEL5JX6FRK2BVDVPICCGGCL5SOT3M47JKRKCX1JCCQIZ1XJELUOFR568J3ZG552ORAM4T5N3UKSWQGMXKAK3V2V3AQN9REUTFGXCRWFMS3RJ4SIPSUYDG3Z8UJEJOCZDKTYMALR5Z7EDFP6L39Z3XEDXEGFX3O8T26461E5VPTOXOD0KV3P7RGTLO6ED4UF4MY3BYKV516APAKW']" ] }, "execution_count": 248, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t3" ] }, { "cell_type": "code", "execution_count": 251, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.43974358974358974" ] }, "execution_count": 251, "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": "code", "execution_count": 252, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-0.07585335018963324" ] }, "execution_count": 252, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import cohen_kappa_score\n", "y3 = t3[:-1]\n", "y4 = t4[:-1]\n", "cohen_kappa_score(y3,y4)" ] }, { "cell_type": "code", "execution_count": 272, "metadata": {}, "outputs": [], "source": [ "# turker_clean\n", "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", "# import Counter \n", "# Counter(K)\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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexHITIdWorkerIdAnswer.sentiment.labelInput.textReviewID
00338GLSUI43BXEPY2ES6SPI72KKESF7AH5A86OLRZWCSNegativeEveryone praised an overrated movie.\\nOverrat...0
11338GLSUI43BXEPY2ES6SPI72KKESF7A2HGRSPR50ENHLNegativeEveryone praised an overrated movie.\\nOverrat...0
22338GLSUI43BXEPY2ES6SPI72KKESF7AKSJ3C5O3V9RBNegativeEveryone praised an overrated movie.\\nOverrat...0
3337MQ8Z1JQEWA9HYZP3JANL1ES162YCARLGZWN6W91WDNegativeWhat idiotic FIlm\\nI can say that Phoenix is ...1
4437MQ8Z1JQEWA9HYZP3JANL1ES162YCAKSJ3C5O3V9RBNegativeWhat idiotic FIlm\\nI can say that Phoenix is ...1
.....................
2892893PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA3EZ0H07TSDAPWNegativeOscar for Phoenix\\nI will stop watching movie...96
2902903PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA38DC3BG1ZCVZ2PositiveOscar for Phoenix\\nI will stop watching movie...96
2912913FO95NVK5C0UHF3B5N6M67LLN8PSR2A194R45ACMQEORPositiveJoker > Endgame\\nNeed I say more? Everything ...97
2922923FO95NVK5C0UHF3B5N6M67LLN8PSR2A1L8RL58MYU4NCPositiveJoker > Endgame\\nNeed I say more? Everything ...97
2932933FO95NVK5C0UHF3B5N6M67LLN8PSR2A1T79J0XQXDDGCPositiveJoker > Endgame\\nNeed I say more? Everything ...97
\n", "

294 rows × 6 columns

\n", "
" ], "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": "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": 277, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['T_0',\n", " 'T_1',\n", " 'T_2',\n", " 'T_3',\n", " 'T_2',\n", " 'T_4',\n", " 'T_5',\n", " 'T_6',\n", " 'T_7',\n", " 'T_8',\n", " 'T_5',\n", " 'T_3',\n", " 'T_5',\n", " 'T_3',\n", " 'T_8',\n", " 'T_5',\n", " 'T_3',\n", " 'T_9',\n", " 'T_10',\n", " 'T_9',\n", " 'T_8',\n", " 'T_3',\n", " 'T_9',\n", " 'T_4',\n", " 'T_7',\n", " 'T_10',\n", " 'T_2',\n", " 'T_9',\n", " 'T_7',\n", " 'T_4',\n", " 'T_9',\n", " 'T_3',\n", " 'T_2',\n", " 'T_11',\n", " 'T_0',\n", " 'T_9',\n", " 'T_4',\n", " 'T_8',\n", " 'T_5',\n", " 'T_5',\n", " 'T_9',\n", " 'T_12',\n", " 'T_5',\n", " 'T_3',\n", " 'T_10',\n", " 'T_8',\n", " 'T_10',\n", " 'T_13',\n", " 'T_9',\n", " 'T_3',\n", " 'T_2',\n", " 'T_3',\n", " 'T_9',\n", " 'T_4',\n", " 'T_9',\n", " 'T_8',\n", " 'T_10',\n", " 'T_3',\n", " 'T_13',\n", " 'T_4',\n", " 'T_10',\n", " 'T_5',\n", " 'T_8',\n", " 'T_2',\n", " 'T_9',\n", " 'T_10',\n", " 'T_3',\n", " 'T_5',\n", " 'T_10',\n", " 'T_3',\n", " 'T_9',\n", " 'T_10',\n", " 'T_5',\n", " 'T_8',\n", " 'T_7',\n", " 'T_9',\n", " 'T_12',\n", " 'T_8',\n", " 'T_10',\n", " 'T_5',\n", " 'T_3',\n", " 'T_4',\n", " 'T_8',\n", " 'T_2',\n", " 'T_3',\n", " 'T_14',\n", " 'T_5',\n", " 'T_15',\n", " 'T_12',\n", " 'T_4',\n", " 'T_4',\n", " 'T_3',\n", " 'T_9',\n", " 'T_8',\n", " 'T_5',\n", " 'T_6',\n", " 'T_2',\n", " 'T_8',\n", " 'T_9',\n", " 'T_10',\n", " 'T_4',\n", " 'T_9',\n", " 'T_8',\n", " 'T_3',\n", " 'T_7',\n", " 'T_10',\n", " 'T_3',\n", " 'T_9',\n", " 'T_2',\n", " 'T_5',\n", " 'T_3',\n", " 'T_8',\n", " 'T_9',\n", " 'T_2',\n", " 'T_9',\n", " 'T_8',\n", " 'T_3',\n", " 'T_7',\n", " 'T_5',\n", " 'T_16',\n", " 'T_4',\n", " 'T_3',\n", " 'T_8',\n", " 'T_4',\n", " 'T_10',\n", " 'T_9',\n", " 'T_0',\n", " 'T_4',\n", " 'T_10',\n", " 'T_5',\n", " 'T_7',\n", " 'T_8',\n", " 'T_9',\n", " 'T_3',\n", " 'T_13',\n", " 'T_5',\n", " 'T_4',\n", " 'T_2',\n", " 'T_5',\n", " 'T_3',\n", " 'T_0',\n", " 'T_4',\n", " 'T_11',\n", " 'T_2',\n", " 'T_4',\n", " 'T_3',\n", " 'T_5',\n", " 'T_9',\n", " 'T_3',\n", " 'T_5',\n", " 'T_4',\n", " 'T_2',\n", " 'T_6',\n", " 'T_7',\n", " 'T_10',\n", " 'T_6',\n", " 'T_10',\n", " 'T_9',\n", " 'T_5',\n", " 'T_5',\n", " 'T_9',\n", " 'T_10',\n", " 'T_5',\n", " 'T_3',\n", " 'T_9',\n", " 'T_3',\n", " 'T_4',\n", " 'T_11',\n", " 'T_17',\n", " 'T_5',\n", " 'T_7',\n", " 'T_9',\n", " 'T_3',\n", " 'T_12',\n", " 'T_5',\n", " 'T_16',\n", " 'T_3',\n", " 'T_8',\n", " 'T_10',\n", " 'T_12',\n", " 'T_3',\n", " 'T_10',\n", " 'T_7',\n", " 'T_8',\n", " 'T_3',\n", " 'T_4',\n", " 'T_10',\n", " 'T_6',\n", " 'T_8',\n", " 'T_7',\n", " 'T_3',\n", " 'T_6',\n", " 'T_3',\n", " 'T_7',\n", " 'T_2',\n", " 'T_3',\n", " 'T_4',\n", " 'T_9',\n", " 'T_2',\n", " 'T_9',\n", " 'T_8',\n", " 'T_9',\n", " 'T_10',\n", " 'T_8',\n", " 'T_9',\n", " 'T_8',\n", " 'T_10',\n", " 'T_10',\n", " 'T_4',\n", " 'T_9',\n", " 'T_9',\n", " 'T_3',\n", " 'T_16',\n", " 'T_3',\n", " 'T_12',\n", " 'T_9',\n", " 'T_5',\n", " 'T_8',\n", " 'T_2',\n", " 'T_3',\n", " 'T_8',\n", " 'T_4',\n", " 'T_6',\n", " 'T_3',\n", " 'T_10',\n", " 'T_2',\n", " 'T_3',\n", " 'T_5',\n", " 'T_9',\n", " 'T_8',\n", " 'T_14',\n", " 'T_10',\n", " 'T_3',\n", " 'T_4',\n", " 'T_8',\n", " 'T_4',\n", " 'T_5',\n", " 'T_3',\n", " 'T_8',\n", " 'T_10',\n", " 'T_8',\n", " 'T_10',\n", " 'T_13',\n", " 'T_8',\n", " 'T_10',\n", " 'T_9',\n", " 'T_3',\n", " 'T_7',\n", " 'T_10',\n", " 'T_7',\n", " 'T_9',\n", " 'T_2',\n", " 'T_6',\n", " 'T_9',\n", " 'T_7',\n", " 'T_5',\n", " 'T_3',\n", " 'T_2',\n", " 'T_2',\n", " 'T_3',\n", " 'T_7',\n", " 'T_5',\n", " 'T_4',\n", " 'T_10',\n", " 'T_5',\n", " 'T_3',\n", " 'T_7',\n", " 'T_6',\n", " 'T_8',\n", " 'T_7',\n", " 'T_10',\n", " 'T_3',\n", " 'T_4',\n", " 'T_6',\n", " 'T_10',\n", " 'T_7',\n", " 'T_7',\n", " 'T_15',\n", " 'T_8',\n", " 'T_2',\n", " 'T_8',\n", " 'T_4',\n", " 'T_10',\n", " 'T_5',\n", " 'T_16',\n", " 'T_3',\n", " 'T_11',\n", " 'T_7',\n", " 'T_11',\n", " 'T_5',\n", " 'T_7',\n", " 'T_13',\n", " 'T_4',\n", " 'T_10']" ] }, "execution_count": 277, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_ids" ] }, { "cell_type": "code", "execution_count": 278, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexHITIdWorkerIdAnswer.sentiment.labelInput.textReviewIDT_ID
00338GLSUI43BXEPY2ES6SPI72KKESF7AH5A86OLRZWCSNegativeEveryone praised an overrated movie.\\nOverrat...0T_0
11338GLSUI43BXEPY2ES6SPI72KKESF7A2HGRSPR50ENHLNegativeEveryone praised an overrated movie.\\nOverrat...0T_1
22338GLSUI43BXEPY2ES6SPI72KKESF7AKSJ3C5O3V9RBNegativeEveryone praised an overrated movie.\\nOverrat...0T_2
3337MQ8Z1JQEWA9HYZP3JANL1ES162YCARLGZWN6W91WDNegativeWhat idiotic FIlm\\nI can say that Phoenix is ...1T_3
4437MQ8Z1JQEWA9HYZP3JANL1ES162YCAKSJ3C5O3V9RBNegativeWhat idiotic FIlm\\nI can say that Phoenix is ...1T_2
........................
2892893PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA3EZ0H07TSDAPWNegativeOscar for Phoenix\\nI will stop watching movie...96T_5
2902903PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA38DC3BG1ZCVZ2PositiveOscar for Phoenix\\nI will stop watching movie...96T_7
2912913FO95NVK5C0UHF3B5N6M67LLN8PSR2A194R45ACMQEORPositiveJoker > Endgame\\nNeed I say more? Everything ...97T_13
2922923FO95NVK5C0UHF3B5N6M67LLN8PSR2A1L8RL58MYU4NCPositiveJoker > Endgame\\nNeed I say more? Everything ...97T_4
2932933FO95NVK5C0UHF3B5N6M67LLN8PSR2A1T79J0XQXDDGCPositiveJoker > Endgame\\nNeed I say more? Everything ...97T_10
\n", "

294 rows × 7 columns

\n", "
" ], "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 T_ID \n", "0 0 T_0 \n", "1 0 T_1 \n", "2 0 T_2 \n", "3 1 T_3 \n", "4 1 T_2 \n", ".. ... ... \n", "289 96 T_5 \n", "290 96 T_7 \n", "291 97 T_13 \n", "292 97 T_4 \n", "293 97 T_10 \n", "\n", "[294 rows x 7 columns]" ] }, "execution_count": 278, "metadata": {}, "output_type": "execute_result" } ], "source": [ "turker_clean_test['T_ID'] = t_ids\n", "turker_clean_test" ] }, { "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": 282, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexHITIdWorkerIdAnswer.sentiment.labelInput.textReviewIDT_IDsentiment
00338GLSUI43BXEPY2ES6SPI72KKESF7AH5A86OLRZWCSNegativeEveryone praised an overrated movie.\\nOverrat...0T_0N
11338GLSUI43BXEPY2ES6SPI72KKESF7A2HGRSPR50ENHLNegativeEveryone praised an overrated movie.\\nOverrat...0T_1N
22338GLSUI43BXEPY2ES6SPI72KKESF7AKSJ3C5O3V9RBNegativeEveryone praised an overrated movie.\\nOverrat...0T_2N
3337MQ8Z1JQEWA9HYZP3JANL1ES162YCARLGZWN6W91WDNegativeWhat idiotic FIlm\\nI can say that Phoenix is ...1T_3N
4437MQ8Z1JQEWA9HYZP3JANL1ES162YCAKSJ3C5O3V9RBNegativeWhat idiotic FIlm\\nI can say that Phoenix is ...1T_2N
...........................
2892893PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA3EZ0H07TSDAPWNegativeOscar for Phoenix\\nI will stop watching movie...96T_5N
2902903PUV2Q8SV441ZJ34C0P7BTUH4JDDBHA38DC3BG1ZCVZ2PositiveOscar for Phoenix\\nI will stop watching movie...96T_7P
2912913FO95NVK5C0UHF3B5N6M67LLN8PSR2A194R45ACMQEORPositiveJoker > Endgame\\nNeed I say more? Everything ...97T_13P
2922923FO95NVK5C0UHF3B5N6M67LLN8PSR2A1L8RL58MYU4NCPositiveJoker > Endgame\\nNeed I say more? Everything ...97T_4P
2932933FO95NVK5C0UHF3B5N6M67LLN8PSR2A1T79J0XQXDDGCPositiveJoker > Endgame\\nNeed I say more? Everything ...97T_10P
\n", "

294 rows × 8 columns

\n", "
" ], "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 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", "[294 rows x 8 columns]" ] }, "execution_count": 282, "metadata": {}, "output_type": "execute_result" } ], "source": [ "turker_clean_test" ] }, { "cell_type": "code", "execution_count": 283, "metadata": {}, "outputs": [], "source": [ "even_cleaner_df = turker_clean_test[['ReviewID', 'T_ID', 'sentiment']]" ] }, { "cell_type": "code", "execution_count": 300, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 301, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
01
000 N\n", "1 N\n", "2 N\n", "Name: sentiment, dtype: o...
113 N\n", "4 N\n", "5 N\n", "Name: sentiment, dtype: o...
226 P\n", "7 N\n", "8 N\n", "Name: sentiment, dtype: o...
339 N\n", "10 N\n", "11 N\n", "Name: sentiment, dtype...
4412 P\n", "13 N\n", "14 N\n", "Name: sentiment, dtype...
.........
9393279 P\n", "280 P\n", "281 P\n", "Name: sentiment, dt...
9494282 P\n", "283 N\n", "284 P\n", "Name: sentiment, dt...
9595285 P\n", "286 P\n", "287 P\n", "Name: sentiment, dt...
9696288 N\n", "289 N\n", "290 P\n", "Name: sentiment, dt...
9797291 P\n", "292 P\n", "293 P\n", "Name: sentiment, dt...
\n", "

98 rows × 2 columns

\n", "
" ], "text/plain": [ " 0 1\n", "0 0 0 N\n", "1 N\n", "2 N\n", "Name: sentiment, dtype: o...\n", "1 1 3 N\n", "4 N\n", "5 N\n", "Name: sentiment, dtype: o...\n", "2 2 6 P\n", "7 N\n", "8 N\n", "Name: sentiment, dtype: o...\n", "3 3 9 N\n", "10 N\n", "11 N\n", "Name: sentiment, dtype...\n", "4 4 12 P\n", "13 N\n", "14 N\n", "Name: sentiment, dtype...\n", ".. .. ...\n", "93 93 279 P\n", "280 P\n", "281 P\n", "Name: sentiment, dt...\n", "94 94 282 P\n", "283 N\n", "284 P\n", "Name: sentiment, dt...\n", "95 95 285 P\n", "286 P\n", "287 P\n", "Name: sentiment, dt...\n", "96 96 288 N\n", "289 N\n", "290 P\n", "Name: sentiment, dt...\n", "97 97 291 P\n", "292 P\n", "293 P\n", "Name: sentiment, dt...\n", "\n", "[98 rows x 2 columns]" ] }, "execution_count": 301, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 305, "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 \\\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 \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)" ] }, { "cell_type": "code", "execution_count": 306, "metadata": {}, "outputs": [], "source": [ "df = pd.DataFrame(result_df.T)" ] }, { "cell_type": "code", "execution_count": 310, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TurkerT_0T_1T_10T_11T_12T_13T_14T_15T_16T_17T_2T_3T_4T_5T_6T_7T_8T_9
REVIEW1NNPNNNNNNPNNNPNNNN
REVIEW2NNaNNNNNPNPNaNNNNNNNNP
REVIEW3NNaNPPNNNaNNaNPNaNNNNPPNNP
REVIEW4NNaNPPNPNaNNaNPNaNNNNNPNNP
REVIEW5NaNNaNNNPPNaNNaNNaNNaNNNNNPNPP
REVIEW6NaNNaNNNaNPNaNNaNNaNNaNNaNNNNPPNNN
REVIEW7NaNNaNNNaNNaNNaNNaNNaNNaNNaNNNNNPNNN
REVIEW8NaNNaNPNaNNaNNaNNaNNaNNaNNaNNNPPPPNN
REVIEW9NaNNaNNNaNNaNNaNNaNNaNNaNNaNNNNPPPNN
REVIEW10NaNNaNNNaNNaNNaNNaNNaNNaNNaNNNNNPPNN
REVIEW11NaNNaNNNaNNaNNaNNaNNaNNaNNaNNNNNNaNPNP
REVIEW12NaNNaNNNaNNaNNaNNaNNaNNaNNaNNNNNNaNPNP
REVIEW13NaNNaNNNaNNaNNaNNaNNaNNaNNaNPNNNNaNPNN
REVIEW14NaNNaNNNaNNaNNaNNaNNaNNaNNaNPNNNNaNPNP
REVIEW15NaNNaNPNaNNaNNaNNaNNaNNaNNaNPNNNNaNPPN
REVIEW16NaNNaNPNaNNaNNaNNaNNaNNaNNaNPNPPNaNPNN
REVIEW17NaNNaNPNaNNaNNaNNaNNaNNaNNaNPNPNNaNPNN
REVIEW18NaNNaNPNaNNaNNaNNaNNaNNaNNaNPNPNNaNPPN
REVIEW19NaNNaNPNaNNaNNaNNaNNaNNaNNaNNNPNNaNPPP
REVIEW20NaNNaNPNaNNaNNaNNaNNaNNaNNaNPNPNNaNPPN
REVIEW21NaNNaNPNaNNaNNaNNaNNaNNaNNaNPNPNNaNPPN
REVIEW22NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNNPPNaNPPP
REVIEW23NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPPPNaNNaNPN
REVIEW24NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPPNNaNNaNPN
REVIEW25NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPPPNaNNaNPN
REVIEW26NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPPPNaNNaNPN
REVIEW27NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPPPNaNNaNPN
REVIEW28NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPPPNaNNaNPP
REVIEW29NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPNaNNNaNNaNPN
REVIEW30NaNNaNNNaNNaNNaNNaNNaNNaNNaNNaNPNaNPNaNNaNPN
REVIEW31NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPNaNPNaNNaNPP
REVIEW32NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPNaNNNaNNaNPN
REVIEW33NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPNaNNNaNNaNPP
REVIEW34NaNNaNPNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNP
REVIEW35NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNN
REVIEW36NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNN
REVIEW37NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNP
REVIEW38NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNNaN
REVIEW39NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNNaN
REVIEW40NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNNaN
REVIEW41NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNNaN
REVIEW42NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaN
REVIEW43NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNNaN
REVIEW44NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNNaN
REVIEW45NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNNaN
REVIEW46NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPNaNNaNNaNNaNNaNNaN
REVIEW990179730425425510412126156954217713421458597133916051536
\n", "
" ], "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": 310, "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": "code", "execution_count": 311, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Turker T_0 T_1 T_10 T_11 T_12 T_13 \\\n", "REVIEW1 0 0 6 11 13 15 \n", "REVIEW2 11 NaN 8 47 25 19 \n", "REVIEW3 42 NaN 14 55 29 44 \n", "REVIEW4 46 NaN 15 95 57 80 \n", "REVIEW5 NaN NaN 18 96 59 97 \n", "REVIEW6 NaN NaN 20 NaN 71 NaN \n", "REVIEW7 NaN NaN 21 NaN NaN NaN \n", "REVIEW8 NaN NaN 22 NaN NaN NaN \n", "REVIEW9 NaN NaN 23 NaN NaN NaN \n", "REVIEW10 NaN NaN 26 NaN NaN NaN \n", "REVIEW11 NaN NaN 33 NaN NaN NaN \n", "REVIEW12 NaN NaN 35 NaN NaN NaN \n", "REVIEW13 NaN NaN 41 NaN NaN NaN \n", "REVIEW14 NaN NaN 42 NaN NaN NaN \n", "REVIEW15 NaN NaN 51 NaN NaN NaN \n", "REVIEW16 NaN NaN 52 NaN NaN NaN \n", "REVIEW17 NaN NaN 53 NaN NaN NaN \n", "REVIEW18 NaN NaN 59 NaN NaN NaN \n", "REVIEW19 NaN NaN 60 NaN NaN NaN \n", "REVIEW20 NaN NaN 62 NaN NaN NaN \n", "REVIEW21 NaN NaN 67 NaN NaN NaN \n", "REVIEW22 NaN NaN 68 NaN NaN NaN \n", "REVIEW23 NaN NaN 69 NaN NaN NaN \n", "REVIEW24 NaN NaN 74 NaN NaN NaN \n", "REVIEW25 NaN NaN 77 NaN NaN NaN \n", "REVIEW26 NaN NaN 79 NaN NaN NaN \n", "REVIEW27 NaN NaN 80 NaN NaN NaN \n", "REVIEW28 NaN NaN 81 NaN NaN NaN \n", "REVIEW29 NaN NaN 82 NaN NaN NaN \n", "REVIEW30 NaN NaN 87 NaN NaN NaN \n", "REVIEW31 NaN NaN 90 NaN NaN NaN \n", "REVIEW32 NaN NaN 91 NaN NaN NaN \n", "REVIEW33 NaN NaN 94 NaN NaN NaN \n", "REVIEW34 NaN NaN 97 NaN NaN NaN \n", "REVIEW35 NaN NaN NaN NaN NaN NaN \n", "REVIEW36 NaN NaN NaN NaN NaN NaN \n", "REVIEW37 NaN NaN NaN NaN NaN NaN \n", "REVIEW38 NaN NaN NaN NaN NaN NaN \n", "REVIEW39 NaN NaN NaN NaN NaN NaN \n", "REVIEW40 NaN NaN NaN NaN NaN NaN \n", "REVIEW41 NaN NaN NaN NaN NaN NaN \n", "REVIEW42 NaN NaN NaN NaN NaN NaN \n", "REVIEW43 NaN NaN NaN NaN NaN NaN \n", "REVIEW44 NaN NaN NaN NaN NaN NaN \n", "REVIEW45 NaN NaN NaN NaN NaN NaN \n", "REVIEW46 NaN NaN NaN NaN NaN NaN \n", "REVIEW NNNN N PNPPNNNPNNNNNNPPPPPPPPPPPPPPPNPPPP NNPPN NNNNPP NNNPP \n", "\n", "Turker T_14 T_15 T_16 T_17 T_2 \\\n", "REVIEW1 28 29 39 56 0 \n", "REVIEW2 76 92 58 NaN 1 \n", "REVIEW3 NaN NaN 70 NaN 8 \n", "REVIEW4 NaN NaN 94 NaN 10 \n", "REVIEW5 NaN NaN NaN NaN 16 \n", "REVIEW6 NaN NaN NaN NaN 21 \n", "REVIEW7 NaN NaN NaN NaN 27 \n", "REVIEW8 NaN NaN NaN NaN 32 \n", "REVIEW9 NaN NaN NaN NaN 36 \n", "REVIEW10 NaN NaN NaN NaN 37 \n", "REVIEW11 NaN NaN NaN NaN 45 \n", "REVIEW12 NaN NaN NaN NaN 47 \n", "REVIEW13 NaN NaN NaN NaN 50 \n", "REVIEW14 NaN NaN NaN NaN 64 \n", "REVIEW15 NaN NaN NaN NaN 66 \n", "REVIEW16 NaN NaN NaN NaN 72 \n", "REVIEW17 NaN NaN NaN NaN 75 \n", "REVIEW18 NaN NaN NaN NaN 83 \n", "REVIEW19 NaN NaN NaN NaN 85 \n", "REVIEW20 NaN NaN NaN NaN 86 \n", "REVIEW21 NaN NaN NaN NaN 93 \n", "REVIEW22 NaN NaN NaN NaN NaN \n", "REVIEW23 NaN NaN NaN NaN NaN \n", "REVIEW24 NaN NaN NaN NaN NaN \n", "REVIEW25 NaN NaN NaN NaN NaN \n", "REVIEW26 NaN NaN NaN NaN NaN \n", "REVIEW27 NaN NaN NaN NaN NaN \n", "REVIEW28 NaN NaN NaN NaN NaN \n", "REVIEW29 NaN NaN NaN NaN NaN \n", "REVIEW30 NaN NaN NaN NaN NaN \n", "REVIEW31 NaN NaN NaN NaN NaN \n", "REVIEW32 NaN NaN NaN NaN NaN \n", "REVIEW33 NaN NaN NaN NaN NaN \n", "REVIEW34 NaN NaN NaN NaN NaN \n", "REVIEW35 NaN NaN NaN NaN NaN \n", "REVIEW36 NaN NaN NaN NaN NaN \n", "REVIEW37 NaN NaN NaN NaN NaN \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 NP NN NPPP P NNNNNNNNNNNNPPPPPPNPP \n", "\n", "Turker T_3 \\\n", "REVIEW1 1 \n", "REVIEW2 3 \n", "REVIEW3 4 \n", "REVIEW4 5 \n", "REVIEW5 7 \n", "REVIEW6 10 \n", "REVIEW7 14 \n", "REVIEW8 16 \n", "REVIEW9 17 \n", "REVIEW10 19 \n", "REVIEW11 22 \n", "REVIEW12 23 \n", "REVIEW13 26 \n", "REVIEW14 28 \n", "REVIEW15 30 \n", "REVIEW16 34 \n", "REVIEW17 35 \n", "REVIEW18 36 \n", "REVIEW19 38 \n", "REVIEW20 40 \n", "REVIEW21 44 \n", "REVIEW22 46 \n", "REVIEW23 48 \n", "REVIEW24 49 \n", "REVIEW25 54 \n", "REVIEW26 55 \n", "REVIEW27 57 \n", "REVIEW28 58 \n", "REVIEW29 60 \n", "REVIEW30 61 \n", "REVIEW31 63 \n", "REVIEW32 64 \n", "REVIEW33 65 \n", "REVIEW34 70 \n", "REVIEW35 71 \n", "REVIEW36 73 \n", "REVIEW37 74 \n", "REVIEW38 75 \n", "REVIEW39 77 \n", "REVIEW40 79 \n", "REVIEW41 82 \n", "REVIEW42 85 \n", "REVIEW43 86 \n", "REVIEW44 88 \n", "REVIEW45 90 \n", "REVIEW46 95 \n", "REVIEW NNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPPNPPPP \n", "\n", "Turker T_4 T_5 \\\n", "REVIEW1 1 2 \n", "REVIEW2 7 3 \n", "REVIEW3 9 4 \n", "REVIEW4 12 5 \n", "REVIEW5 17 12 \n", "REVIEW6 19 13 \n", "REVIEW7 27 14 \n", "REVIEW8 29 20 \n", "REVIEW9 30 22 \n", "REVIEW10 33 24 \n", "REVIEW11 40 26 \n", "REVIEW12 41 28 \n", "REVIEW13 42 31 \n", "REVIEW14 45 36 \n", "REVIEW15 47 39 \n", "REVIEW16 48 43 \n", "REVIEW17 50 45 \n", "REVIEW18 55 46 \n", "REVIEW19 61 48 \n", "REVIEW20 65 49 \n", "REVIEW21 69 52 \n", "REVIEW22 73 53 \n", "REVIEW23 77 54 \n", "REVIEW24 78 56 \n", "REVIEW25 87 58 \n", "REVIEW26 90 72 \n", "REVIEW27 93 75 \n", "REVIEW28 97 78 \n", "REVIEW29 NaN 85 \n", "REVIEW30 NaN 87 \n", "REVIEW31 NaN 88 \n", "REVIEW32 NaN 94 \n", "REVIEW33 NaN 96 \n", "REVIEW34 NaN NaN \n", "REVIEW35 NaN NaN \n", "REVIEW36 NaN NaN \n", "REVIEW37 NaN NaN \n", "REVIEW38 NaN NaN \n", "REVIEW39 NaN NaN \n", "REVIEW40 NaN NaN \n", "REVIEW41 NaN NaN \n", "REVIEW42 NaN NaN \n", "REVIEW43 NaN NaN \n", "REVIEW44 NaN NaN \n", "REVIEW45 NaN NaN \n", "REVIEW46 NaN NaN \n", "REVIEW NNNNNNNPNNNNNNNPPPPPPPPPPPPP PNPNNPNPPNNNNNNPNNNNNPPNPPPPNPPNN \n", "\n", "Turker T_6 T_7 \\\n", "REVIEW1 2 2 \n", "REVIEW2 31 8 \n", "REVIEW3 50 9 \n", "REVIEW4 51 24 \n", "REVIEW5 62 34 \n", "REVIEW6 63 39 \n", "REVIEW7 74 43 \n", "REVIEW8 84 51 \n", "REVIEW9 89 56 \n", "REVIEW10 91 60 \n", "REVIEW11 NaN 63 \n", "REVIEW12 NaN 64 \n", "REVIEW13 NaN 82 \n", "REVIEW14 NaN 83 \n", "REVIEW15 NaN 84 \n", "REVIEW16 NaN 86 \n", "REVIEW17 NaN 88 \n", "REVIEW18 NaN 89 \n", "REVIEW19 NaN 91 \n", "REVIEW20 NaN 92 \n", "REVIEW21 NaN 95 \n", "REVIEW22 NaN 96 \n", "REVIEW23 NaN NaN \n", "REVIEW24 NaN NaN \n", "REVIEW25 NaN NaN \n", "REVIEW26 NaN NaN \n", "REVIEW27 NaN NaN \n", "REVIEW28 NaN NaN \n", "REVIEW29 NaN NaN \n", "REVIEW30 NaN NaN \n", "REVIEW31 NaN NaN \n", "REVIEW32 NaN NaN \n", "REVIEW33 NaN NaN \n", "REVIEW34 NaN NaN \n", "REVIEW35 NaN NaN \n", "REVIEW36 NaN NaN \n", "REVIEW37 NaN NaN \n", "REVIEW38 NaN NaN \n", "REVIEW39 NaN NaN \n", "REVIEW40 NaN NaN \n", "REVIEW41 NaN NaN \n", "REVIEW42 NaN NaN \n", "REVIEW43 NaN NaN \n", "REVIEW44 NaN NaN \n", "REVIEW45 NaN NaN \n", "REVIEW46 NaN NaN \n", "REVIEW NNPPPPPPPP NNNNNNNPPPPPPPPPPPPPPP \n", "\n", "Turker T_8 \\\n", "REVIEW1 3 \n", "REVIEW2 4 \n", "REVIEW3 6 \n", "REVIEW4 12 \n", "REVIEW5 15 \n", "REVIEW6 18 \n", "REVIEW7 20 \n", "REVIEW8 24 \n", "REVIEW9 25 \n", "REVIEW10 27 \n", "REVIEW11 31 \n", "REVIEW12 32 \n", "REVIEW13 34 \n", "REVIEW14 37 \n", "REVIEW15 38 \n", "REVIEW16 40 \n", "REVIEW17 43 \n", "REVIEW18 59 \n", "REVIEW19 61 \n", "REVIEW20 62 \n", "REVIEW21 66 \n", "REVIEW22 67 \n", "REVIEW23 68 \n", "REVIEW24 72 \n", "REVIEW25 73 \n", "REVIEW26 76 \n", "REVIEW27 78 \n", "REVIEW28 79 \n", "REVIEW29 80 \n", "REVIEW30 81 \n", "REVIEW31 89 \n", "REVIEW32 92 \n", "REVIEW33 93 \n", "REVIEW34 NaN \n", "REVIEW35 NaN \n", "REVIEW36 NaN \n", "REVIEW37 NaN \n", "REVIEW38 NaN \n", "REVIEW39 NaN \n", "REVIEW40 NaN \n", "REVIEW41 NaN \n", "REVIEW42 NaN \n", "REVIEW43 NaN \n", "REVIEW44 NaN \n", "REVIEW45 NaN \n", "REVIEW46 NaN \n", "REVIEW NNNNPNNNNNNNNNPNNPPPPPPPPPPPPPPPP \n", "\n", "Turker T_9 \n", "REVIEW1 5 \n", "REVIEW2 6 \n", "REVIEW3 7 \n", "REVIEW4 9 \n", "REVIEW5 10 \n", "REVIEW6 11 \n", "REVIEW7 13 \n", "REVIEW8 16 \n", "REVIEW9 17 \n", "REVIEW10 18 \n", "REVIEW11 21 \n", "REVIEW12 23 \n", "REVIEW13 25 \n", "REVIEW14 30 \n", "REVIEW15 32 \n", "REVIEW16 33 \n", "REVIEW17 35 \n", "REVIEW18 37 \n", "REVIEW19 38 \n", "REVIEW20 41 \n", "REVIEW21 44 \n", "REVIEW22 49 \n", "REVIEW23 52 \n", "REVIEW24 53 \n", "REVIEW25 54 \n", "REVIEW26 57 \n", "REVIEW27 65 \n", "REVIEW28 66 \n", "REVIEW29 67 \n", "REVIEW30 68 \n", "REVIEW31 69 \n", "REVIEW32 70 \n", "REVIEW33 71 \n", "REVIEW34 76 \n", "REVIEW35 81 \n", "REVIEW36 83 \n", "REVIEW37 84 \n", "REVIEW38 NaN \n", "REVIEW39 NaN \n", "REVIEW40 NaN \n", "REVIEW41 NaN \n", "REVIEW42 NaN \n", "REVIEW43 NaN \n", "REVIEW44 NaN \n", "REVIEW45 NaN \n", "REVIEW46 NaN \n", "REVIEW NPPPPNNNNNPPNPNNNNPNNPNNNNNPNNPNPPNNP \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)" ] }, { "cell_type": "code", "execution_count": 312, "metadata": {}, "outputs": [], "source": [ "df = pd.DataFrame(result_df.T)" ] }, { "cell_type": "code", "execution_count": 313, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TurkerT_0T_1T_10T_11T_12T_13T_14T_15T_16T_17T_2T_3T_4T_5T_6T_7T_8T_9
REVIEW10061113152829395601122235
REVIEW211NaN8472519769258NaN137331846
REVIEW342NaN14552944NaNNaN70NaN849450967
REVIEW446NaN15955780NaNNaN94NaN1051255124129
REVIEW5NaNNaN18965997NaNNaNNaNNaN167171262341510
REVIEW6NaNNaN20NaN71NaNNaNNaNNaNNaN2110191363391811
REVIEW7NaNNaN21NaNNaNNaNNaNNaNNaNNaN2714271474432013
REVIEW8NaNNaN22NaNNaNNaNNaNNaNNaNNaN3216292084512416
REVIEW9NaNNaN23NaNNaNNaNNaNNaNNaNNaN3617302289562517
REVIEW10NaNNaN26NaNNaNNaNNaNNaNNaNNaN3719332491602718
REVIEW11NaNNaN33NaNNaNNaNNaNNaNNaNNaN45224026NaN633121
REVIEW12NaNNaN35NaNNaNNaNNaNNaNNaNNaN47234128NaN643223
REVIEW13NaNNaN41NaNNaNNaNNaNNaNNaNNaN50264231NaN823425
REVIEW14NaNNaN42NaNNaNNaNNaNNaNNaNNaN64284536NaN833730
REVIEW15NaNNaN51NaNNaNNaNNaNNaNNaNNaN66304739NaN843832
REVIEW16NaNNaN52NaNNaNNaNNaNNaNNaNNaN72344843NaN864033
REVIEW17NaNNaN53NaNNaNNaNNaNNaNNaNNaN75355045NaN884335
REVIEW18NaNNaN59NaNNaNNaNNaNNaNNaNNaN83365546NaN895937
REVIEW19NaNNaN60NaNNaNNaNNaNNaNNaNNaN85386148NaN916138
REVIEW20NaNNaN62NaNNaNNaNNaNNaNNaNNaN86406549NaN926241
REVIEW21NaNNaN67NaNNaNNaNNaNNaNNaNNaN93446952NaN956644
REVIEW22NaNNaN68NaNNaNNaNNaNNaNNaNNaNNaN467353NaN966749
REVIEW23NaNNaN69NaNNaNNaNNaNNaNNaNNaNNaN487754NaNNaN6852
REVIEW24NaNNaN74NaNNaNNaNNaNNaNNaNNaNNaN497856NaNNaN7253
REVIEW25NaNNaN77NaNNaNNaNNaNNaNNaNNaNNaN548758NaNNaN7354
REVIEW26NaNNaN79NaNNaNNaNNaNNaNNaNNaNNaN559072NaNNaN7657
REVIEW27NaNNaN80NaNNaNNaNNaNNaNNaNNaNNaN579375NaNNaN7865
REVIEW28NaNNaN81NaNNaNNaNNaNNaNNaNNaNNaN589778NaNNaN7966
REVIEW29NaNNaN82NaNNaNNaNNaNNaNNaNNaNNaN60NaN85NaNNaN8067
REVIEW30NaNNaN87NaNNaNNaNNaNNaNNaNNaNNaN61NaN87NaNNaN8168
REVIEW31NaNNaN90NaNNaNNaNNaNNaNNaNNaNNaN63NaN88NaNNaN8969
REVIEW32NaNNaN91NaNNaNNaNNaNNaNNaNNaNNaN64NaN94NaNNaN9270
REVIEW33NaNNaN94NaNNaNNaNNaNNaNNaNNaNNaN65NaN96NaNNaN9371
REVIEW34NaNNaN97NaNNaNNaNNaNNaNNaNNaNNaN70NaNNaNNaNNaNNaN76
REVIEW35NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN71NaNNaNNaNNaNNaN81
REVIEW36NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN73NaNNaNNaNNaNNaN83
REVIEW37NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN74NaNNaNNaNNaNNaN84
REVIEW38NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN75NaNNaNNaNNaNNaNNaN
REVIEW39NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN77NaNNaNNaNNaNNaNNaN
REVIEW40NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN79NaNNaNNaNNaNNaNNaN
REVIEW41NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN82NaNNaNNaNNaNNaNNaN
REVIEW42NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN85NaNNaNNaNNaNNaNNaN
REVIEW43NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN86NaNNaNNaNNaNNaNNaN
REVIEW44NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN88NaNNaNNaNNaNNaNNaN
REVIEW45NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN90NaNNaNNaNNaNNaNNaN
REVIEW46NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN95NaNNaNNaNNaNNaNNaN
REVIEWNNNNNPNPPNNNPNNNNNNPPPPPPPPPPPPPPPNPPPPNNPPNNNNNPPNNNPPNPNNNPPPPNNNNNNNNNNNNPPPPPPNPPNNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPPNPPPPNNNNNNNPNNNNNNNPPPPPPPPPPPPPPNPNNPNPPNNNNNNPNNNNNPPNPPPPNPPNNNNPPPPPPPPNNNNNNNPPPPPPPPPPPPPPPNNNNPNNNNNNNNNPNNPPPPPPPPPPPPPPPPNPPPPNNNNNPPNPNNNNPNNPNNNNNPNNPNPPNNP
\n", "
" ], "text/plain": [ "Turker T_0 T_1 T_10 T_11 T_12 T_13 \\\n", "REVIEW1 0 0 6 11 13 15 \n", "REVIEW2 11 NaN 8 47 25 19 \n", "REVIEW3 42 NaN 14 55 29 44 \n", "REVIEW4 46 NaN 15 95 57 80 \n", "REVIEW5 NaN NaN 18 96 59 97 \n", "REVIEW6 NaN NaN 20 NaN 71 NaN \n", "REVIEW7 NaN NaN 21 NaN NaN NaN \n", "REVIEW8 NaN NaN 22 NaN NaN NaN \n", "REVIEW9 NaN NaN 23 NaN NaN NaN \n", "REVIEW10 NaN NaN 26 NaN NaN NaN \n", "REVIEW11 NaN NaN 33 NaN NaN NaN \n", "REVIEW12 NaN NaN 35 NaN NaN NaN \n", "REVIEW13 NaN NaN 41 NaN NaN NaN \n", "REVIEW14 NaN NaN 42 NaN NaN NaN \n", "REVIEW15 NaN NaN 51 NaN NaN NaN \n", "REVIEW16 NaN NaN 52 NaN NaN NaN \n", "REVIEW17 NaN NaN 53 NaN NaN NaN \n", "REVIEW18 NaN NaN 59 NaN NaN NaN \n", "REVIEW19 NaN NaN 60 NaN NaN NaN \n", "REVIEW20 NaN NaN 62 NaN NaN NaN \n", "REVIEW21 NaN NaN 67 NaN NaN NaN \n", "REVIEW22 NaN NaN 68 NaN NaN NaN \n", "REVIEW23 NaN NaN 69 NaN NaN NaN \n", "REVIEW24 NaN NaN 74 NaN NaN NaN \n", "REVIEW25 NaN NaN 77 NaN NaN NaN \n", "REVIEW26 NaN NaN 79 NaN NaN NaN \n", "REVIEW27 NaN NaN 80 NaN NaN NaN \n", "REVIEW28 NaN NaN 81 NaN NaN NaN \n", "REVIEW29 NaN NaN 82 NaN NaN NaN \n", "REVIEW30 NaN NaN 87 NaN NaN NaN \n", "REVIEW31 NaN NaN 90 NaN NaN NaN \n", "REVIEW32 NaN NaN 91 NaN NaN NaN \n", "REVIEW33 NaN NaN 94 NaN NaN NaN \n", "REVIEW34 NaN NaN 97 NaN NaN NaN \n", "REVIEW35 NaN NaN NaN NaN NaN NaN \n", "REVIEW36 NaN NaN NaN NaN NaN NaN \n", "REVIEW37 NaN NaN NaN NaN NaN NaN \n", "REVIEW38 NaN NaN NaN NaN NaN NaN \n", "REVIEW39 NaN NaN NaN NaN NaN NaN \n", "REVIEW40 NaN NaN NaN NaN NaN NaN \n", "REVIEW41 NaN NaN NaN NaN NaN NaN \n", "REVIEW42 NaN NaN NaN NaN NaN NaN \n", "REVIEW43 NaN NaN NaN NaN NaN NaN \n", "REVIEW44 NaN NaN NaN NaN NaN NaN \n", "REVIEW45 NaN NaN NaN NaN NaN NaN \n", "REVIEW46 NaN NaN NaN NaN NaN NaN \n", "REVIEW NNNN N PNPPNNNPNNNNNNPPPPPPPPPPPPPPPNPPPP NNPPN NNNNPP NNNPP \n", "\n", "Turker T_14 T_15 T_16 T_17 T_2 \\\n", "REVIEW1 28 29 39 56 0 \n", "REVIEW2 76 92 58 NaN 1 \n", "REVIEW3 NaN NaN 70 NaN 8 \n", "REVIEW4 NaN NaN 94 NaN 10 \n", "REVIEW5 NaN NaN NaN NaN 16 \n", "REVIEW6 NaN NaN NaN NaN 21 \n", "REVIEW7 NaN NaN NaN NaN 27 \n", "REVIEW8 NaN NaN NaN NaN 32 \n", "REVIEW9 NaN NaN NaN NaN 36 \n", "REVIEW10 NaN NaN NaN NaN 37 \n", "REVIEW11 NaN NaN NaN NaN 45 \n", "REVIEW12 NaN NaN NaN NaN 47 \n", "REVIEW13 NaN NaN NaN NaN 50 \n", "REVIEW14 NaN NaN NaN NaN 64 \n", "REVIEW15 NaN NaN NaN NaN 66 \n", "REVIEW16 NaN NaN NaN NaN 72 \n", "REVIEW17 NaN NaN NaN NaN 75 \n", "REVIEW18 NaN NaN NaN NaN 83 \n", "REVIEW19 NaN NaN NaN NaN 85 \n", "REVIEW20 NaN NaN NaN NaN 86 \n", "REVIEW21 NaN NaN NaN NaN 93 \n", "REVIEW22 NaN NaN NaN NaN NaN \n", "REVIEW23 NaN NaN NaN NaN NaN \n", "REVIEW24 NaN NaN NaN NaN NaN \n", "REVIEW25 NaN NaN NaN NaN NaN \n", "REVIEW26 NaN NaN NaN NaN NaN \n", "REVIEW27 NaN NaN NaN NaN NaN \n", "REVIEW28 NaN NaN NaN NaN NaN \n", "REVIEW29 NaN NaN NaN NaN NaN \n", "REVIEW30 NaN NaN NaN NaN NaN \n", "REVIEW31 NaN NaN NaN NaN NaN \n", "REVIEW32 NaN NaN NaN NaN NaN \n", "REVIEW33 NaN NaN NaN NaN NaN \n", "REVIEW34 NaN NaN NaN NaN NaN \n", "REVIEW35 NaN NaN NaN NaN NaN \n", "REVIEW36 NaN NaN NaN NaN NaN \n", "REVIEW37 NaN NaN NaN NaN NaN \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 NP NN NPPP P NNNNNNNNNNNNPPPPPPNPP \n", "\n", "Turker T_3 \\\n", "REVIEW1 1 \n", "REVIEW2 3 \n", "REVIEW3 4 \n", "REVIEW4 5 \n", "REVIEW5 7 \n", "REVIEW6 10 \n", "REVIEW7 14 \n", "REVIEW8 16 \n", "REVIEW9 17 \n", "REVIEW10 19 \n", "REVIEW11 22 \n", "REVIEW12 23 \n", "REVIEW13 26 \n", "REVIEW14 28 \n", "REVIEW15 30 \n", "REVIEW16 34 \n", "REVIEW17 35 \n", "REVIEW18 36 \n", "REVIEW19 38 \n", "REVIEW20 40 \n", "REVIEW21 44 \n", "REVIEW22 46 \n", "REVIEW23 48 \n", "REVIEW24 49 \n", "REVIEW25 54 \n", "REVIEW26 55 \n", "REVIEW27 57 \n", "REVIEW28 58 \n", "REVIEW29 60 \n", "REVIEW30 61 \n", "REVIEW31 63 \n", "REVIEW32 64 \n", "REVIEW33 65 \n", "REVIEW34 70 \n", "REVIEW35 71 \n", "REVIEW36 73 \n", "REVIEW37 74 \n", "REVIEW38 75 \n", "REVIEW39 77 \n", "REVIEW40 79 \n", "REVIEW41 82 \n", "REVIEW42 85 \n", "REVIEW43 86 \n", "REVIEW44 88 \n", "REVIEW45 90 \n", "REVIEW46 95 \n", "REVIEW NNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPPNPPPP \n", "\n", "Turker T_4 T_5 \\\n", "REVIEW1 1 2 \n", "REVIEW2 7 3 \n", "REVIEW3 9 4 \n", "REVIEW4 12 5 \n", "REVIEW5 17 12 \n", "REVIEW6 19 13 \n", "REVIEW7 27 14 \n", "REVIEW8 29 20 \n", "REVIEW9 30 22 \n", "REVIEW10 33 24 \n", "REVIEW11 40 26 \n", "REVIEW12 41 28 \n", "REVIEW13 42 31 \n", "REVIEW14 45 36 \n", "REVIEW15 47 39 \n", "REVIEW16 48 43 \n", "REVIEW17 50 45 \n", "REVIEW18 55 46 \n", "REVIEW19 61 48 \n", "REVIEW20 65 49 \n", "REVIEW21 69 52 \n", "REVIEW22 73 53 \n", "REVIEW23 77 54 \n", "REVIEW24 78 56 \n", "REVIEW25 87 58 \n", "REVIEW26 90 72 \n", "REVIEW27 93 75 \n", "REVIEW28 97 78 \n", "REVIEW29 NaN 85 \n", "REVIEW30 NaN 87 \n", "REVIEW31 NaN 88 \n", "REVIEW32 NaN 94 \n", "REVIEW33 NaN 96 \n", "REVIEW34 NaN NaN \n", "REVIEW35 NaN NaN \n", "REVIEW36 NaN NaN \n", "REVIEW37 NaN NaN \n", "REVIEW38 NaN NaN \n", "REVIEW39 NaN NaN \n", "REVIEW40 NaN NaN \n", "REVIEW41 NaN NaN \n", "REVIEW42 NaN NaN \n", "REVIEW43 NaN NaN \n", "REVIEW44 NaN NaN \n", "REVIEW45 NaN NaN \n", "REVIEW46 NaN NaN \n", "REVIEW NNNNNNNPNNNNNNNPPPPPPPPPPPPP PNPNNPNPPNNNNNNPNNNNNPPNPPPPNPPNN \n", "\n", "Turker T_6 T_7 \\\n", "REVIEW1 2 2 \n", "REVIEW2 31 8 \n", "REVIEW3 50 9 \n", "REVIEW4 51 24 \n", "REVIEW5 62 34 \n", "REVIEW6 63 39 \n", "REVIEW7 74 43 \n", "REVIEW8 84 51 \n", "REVIEW9 89 56 \n", "REVIEW10 91 60 \n", "REVIEW11 NaN 63 \n", "REVIEW12 NaN 64 \n", "REVIEW13 NaN 82 \n", "REVIEW14 NaN 83 \n", "REVIEW15 NaN 84 \n", "REVIEW16 NaN 86 \n", "REVIEW17 NaN 88 \n", "REVIEW18 NaN 89 \n", "REVIEW19 NaN 91 \n", "REVIEW20 NaN 92 \n", "REVIEW21 NaN 95 \n", "REVIEW22 NaN 96 \n", "REVIEW23 NaN NaN \n", "REVIEW24 NaN NaN \n", "REVIEW25 NaN NaN \n", "REVIEW26 NaN NaN \n", "REVIEW27 NaN NaN \n", "REVIEW28 NaN NaN \n", "REVIEW29 NaN NaN \n", "REVIEW30 NaN NaN \n", "REVIEW31 NaN NaN \n", "REVIEW32 NaN NaN \n", "REVIEW33 NaN NaN \n", "REVIEW34 NaN NaN \n", "REVIEW35 NaN NaN \n", "REVIEW36 NaN NaN \n", "REVIEW37 NaN NaN \n", "REVIEW38 NaN NaN \n", "REVIEW39 NaN NaN \n", "REVIEW40 NaN NaN \n", "REVIEW41 NaN NaN \n", "REVIEW42 NaN NaN \n", "REVIEW43 NaN NaN \n", "REVIEW44 NaN NaN \n", "REVIEW45 NaN NaN \n", "REVIEW46 NaN NaN \n", "REVIEW NNPPPPPPPP NNNNNNNPPPPPPPPPPPPPPP \n", "\n", "Turker T_8 \\\n", "REVIEW1 3 \n", "REVIEW2 4 \n", "REVIEW3 6 \n", "REVIEW4 12 \n", "REVIEW5 15 \n", "REVIEW6 18 \n", "REVIEW7 20 \n", "REVIEW8 24 \n", "REVIEW9 25 \n", "REVIEW10 27 \n", "REVIEW11 31 \n", "REVIEW12 32 \n", "REVIEW13 34 \n", "REVIEW14 37 \n", "REVIEW15 38 \n", "REVIEW16 40 \n", "REVIEW17 43 \n", "REVIEW18 59 \n", "REVIEW19 61 \n", "REVIEW20 62 \n", "REVIEW21 66 \n", "REVIEW22 67 \n", "REVIEW23 68 \n", "REVIEW24 72 \n", "REVIEW25 73 \n", "REVIEW26 76 \n", "REVIEW27 78 \n", "REVIEW28 79 \n", "REVIEW29 80 \n", "REVIEW30 81 \n", "REVIEW31 89 \n", "REVIEW32 92 \n", "REVIEW33 93 \n", "REVIEW34 NaN \n", "REVIEW35 NaN \n", "REVIEW36 NaN \n", "REVIEW37 NaN \n", "REVIEW38 NaN \n", "REVIEW39 NaN \n", "REVIEW40 NaN \n", "REVIEW41 NaN \n", "REVIEW42 NaN \n", "REVIEW43 NaN \n", "REVIEW44 NaN \n", "REVIEW45 NaN \n", "REVIEW46 NaN \n", "REVIEW NNNNPNNNNNNNNNPNNPPPPPPPPPPPPPPPP \n", "\n", "Turker T_9 \n", "REVIEW1 5 \n", "REVIEW2 6 \n", "REVIEW3 7 \n", "REVIEW4 9 \n", "REVIEW5 10 \n", "REVIEW6 11 \n", "REVIEW7 13 \n", "REVIEW8 16 \n", "REVIEW9 17 \n", "REVIEW10 18 \n", "REVIEW11 21 \n", "REVIEW12 23 \n", "REVIEW13 25 \n", "REVIEW14 30 \n", "REVIEW15 32 \n", "REVIEW16 33 \n", "REVIEW17 35 \n", "REVIEW18 37 \n", "REVIEW19 38 \n", "REVIEW20 41 \n", "REVIEW21 44 \n", "REVIEW22 49 \n", "REVIEW23 52 \n", "REVIEW24 53 \n", "REVIEW25 54 \n", "REVIEW26 57 \n", "REVIEW27 65 \n", "REVIEW28 66 \n", "REVIEW29 67 \n", "REVIEW30 68 \n", "REVIEW31 69 \n", "REVIEW32 70 \n", "REVIEW33 71 \n", "REVIEW34 76 \n", "REVIEW35 81 \n", "REVIEW36 83 \n", "REVIEW37 84 \n", "REVIEW38 NaN \n", "REVIEW39 NaN \n", "REVIEW40 NaN \n", "REVIEW41 NaN \n", "REVIEW42 NaN \n", "REVIEW43 NaN \n", "REVIEW44 NaN \n", "REVIEW45 NaN \n", "REVIEW46 NaN \n", "REVIEW NPPPPNNNNNPPNPNNNNPNNPNNNNNPNNPNPPNNP " ] }, "execution_count": 313, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 317, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'DataFrameGroupBy' object has no attribute 'tolist'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mgrouped\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgroupby\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Turker'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgrouped\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;31m# values = grouped['REVIEW'].agg('sum')\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;31m# id_df = grouped['SENTIMENT'].apply(lambda x: pd.Series(x.values)).unstack()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.7/site-packages/pandas/core/groupby/groupby.py\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, attr)\u001b[0m\n\u001b[1;32m 564\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 565\u001b[0m raise AttributeError(\n\u001b[0;32m--> 566\u001b[0;31m \u001b[0;34m\"%r object has no attribute %r\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mattr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 567\u001b[0m )\n\u001b[1;32m 568\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'DataFrameGroupBy' object has no attribute 'tolist'" ] } ], "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", "print(grouped.tolist())\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)" ] }, { "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": "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ReviewIDT_IDsentimentbig_array
00T_0N[N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...
3411T_0N[N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...
12642T_0N[N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...
14046T_0N[N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, N, 0, 0, 0, ...
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ReviewIDT_IDsentimentbig_array
00T_0N[N, nan, nan, nan, nan, nan, nan, nan, nan, na...
10T_1N[N, nan, nan, nan, nan, nan, nan, nan, nan, na...
20T_2N[N, N, nan, nan, nan, nan, nan, nan, N, nan, N...
31T_3N[nan, N, nan, N, N, N, nan, N, nan, nan, N, na...
41T_2N[N, N, nan, nan, nan, nan, nan, nan, N, nan, N...
...............
28996T_5N[nan, nan, P, N, P, N, nan, nan, nan, nan, nan...
29096T_7P[nan, nan, N, nan, nan, nan, nan, nan, N, N, n...
29197T_13P[nan, nan, nan, nan, nan, nan, nan, nan, nan, ...
29297T_4P[nan, N, nan, nan, nan, nan, nan, N, nan, N, n...
29397T_10P[nan, nan, nan, nan, nan, nan, P, nan, N, nan,...
\n", "

294 rows × 4 columns

\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ReviewIDT_IDsentimentbig_array
00T_0N[N, nan, nan, nan, nan, nan, nan, nan, nan, na...
3411T_0N[N, nan, nan, nan, nan, nan, nan, nan, nan, na...
12642T_0N[N, nan, nan, nan, nan, nan, nan, nan, nan, na...
14046T_0N[N, nan, nan, nan, nan, nan, nan, nan, nan, na...
\n", "
" ], "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": 364, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "unhashable type: 'list'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msparse_df\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'big_array'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munique\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/usr/local/lib/python3.7/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36munique\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1986\u001b[0m \u001b[0mCategories\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0ma\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mb\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1987\u001b[0m \"\"\"\n\u001b[0;32m-> 1988\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munique\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1989\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1990\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.7/site-packages/pandas/core/base.py\u001b[0m in \u001b[0;36munique\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1403\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpandas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0malgorithms\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0munique1d\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1404\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1405\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0munique1d\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1406\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1407\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.7/site-packages/pandas/core/algorithms.py\u001b[0m in \u001b[0;36munique\u001b[0;34m(values)\u001b[0m\n\u001b[1;32m 403\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 404\u001b[0m \u001b[0mtable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhtable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 405\u001b[0;31m \u001b[0muniques\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtable\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munique\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 406\u001b[0m \u001b[0muniques\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_reconstruct_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0muniques\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moriginal\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 407\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0muniques\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.unique\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable._unique\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: unhashable type: 'list'" ] } ], "source": [ "sparse_df['big_array'].unique()" ] }, { "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": 377, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['N',\n", " 'N',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'N',\n", " 'nan',\n", " 'N',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'N',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'N',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'N',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'N',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'N',\n", " 'N',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'N',\n", " 'nan',\n", " 'N',\n", " 'nan',\n", " 'nan',\n", " 'P',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'P',\n", " 'nan',\n", " 'P',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'P',\n", " 'nan',\n", " 'nan',\n", " 'P',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'P',\n", " 'nan',\n", " 'N',\n", " 'P',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'P',\n", " 'nan',\n", " 'nan',\n", " 'nan',\n", " 'nan']" ] }, "execution_count": 377, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sparse_df['big_array'][sparse_df['T_ID'] == 'T_2'].tolist()[0]" ] }, { "cell_type": "code", "execution_count": 381, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.39004149377593356" ] }, "execution_count": 381, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import cohen_kappa_score\n", "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": "code", "execution_count": 388, "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": 389, "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": 389, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kappas" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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 }