{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Data Literacy - Project\n", "## Gender Share in Movies\n", "#### Tobias Stumpp, Sophia Herrmann" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## t-Test Hypothesis Testing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Parameters" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Starting year of the period of years covered by the test\n", "start_year = 1980\n", "# Ending year of the period of years covered by the test\n", "end_year = start_year + 40\n", "\n", "# Split year of the period of years covered by the test that separates\n", "# indicative data (>= start_year and < split_year)\n", "# from\n", "# data to be verified (>= split_year and < end_year).\n", "split_year = start_year + 20\n", "\n", "# Option to ignore movies where the average rating or the number of votes is below the respective 5% quantile.\n", "ignore_irrelevant_movies = False" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Meta" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import pandas as pd\n", "import os\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "path = '../dat/'\n", "os.chdir(path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Read Data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['tconst', 'startYear', 'runtimeMinutes', 'genres', 'averageRating', 'numVotes', 'category']\n" ] } ], "source": [ "columns = list(pd.read_csv('data_movie.csv', nrows =1))\n", "print(columns)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 854511 entries, 0 to 854510\n", "Data columns (total 6 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 tconst 854511 non-null object \n", " 1 startYear 854511 non-null int64 \n", " 2 runtimeMinutes 854511 non-null int64 \n", " 3 averageRating 854511 non-null float64\n", " 4 numVotes 854511 non-null int64 \n", " 5 category 854511 non-null object \n", "dtypes: float64(1), int64(3), object(2)\n", "memory usage: 39.1+ MB\n" ] }, { "data": { "text/plain": [ "None" ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
tconststartYearruntimeMinutesaverageRatingnumVotescategory
0tt000050219051004.514actor
1tt000050219051004.514actor
2tt00005741906706.1747actress
3tt00005741906706.1747actor
4tt00005741906706.1747actor
\n", "
" ], "text/plain": [ " tconst startYear runtimeMinutes averageRating numVotes category\n", "0 tt0000502 1905 100 4.5 14 actor\n", "1 tt0000502 1905 100 4.5 14 actor\n", "2 tt0000574 1906 70 6.1 747 actress\n", "3 tt0000574 1906 70 6.1 747 actor\n", "4 tt0000574 1906 70 6.1 747 actor" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "columns_to_read = [c for c in columns if c != 'genres']\n", "\n", "data_movie = pd.read_csv('data_movie.csv', usecols = columns_to_read)\n", "\n", "display(data_movie.info())\n", "display(data_movie.head())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Provide the option to only include movies that are relevant based on the average rating and number of votes." ] }, { "cell_type": "code", "execution_count": 6, "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", "
numVotesaverageRating
count8.545110e+05854511.000000
mean3.579196e+035.928503
std2.920979e+041.263788
min5.000000e+001.000000
25%2.300000e+015.200000
50%7.800000e+016.100000
75%3.820000e+026.800000
max1.555039e+0610.000000
\n", "
" ], "text/plain": [ " numVotes averageRating\n", "count 8.545110e+05 854511.000000\n", "mean 3.579196e+03 5.928503\n", "std 2.920979e+04 1.263788\n", "min 5.000000e+00 1.000000\n", "25% 2.300000e+01 5.200000\n", "50% 7.800000e+01 6.100000\n", "75% 3.820000e+02 6.800000\n", "max 1.555039e+06 10.000000" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_movie[['numVotes','averageRating']].describe()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9.0" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numVotes_split = data_movie['numVotes'].quantile(0.05)\n", "numVotes_split" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.6" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "averageRating_split = data_movie['averageRating'].quantile(0.05)\n", "averageRating_split" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(854511, 6)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(data_movie.shape)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "if ignore_irrelevant_movies:\n", " data_movie = data_movie[(data_movie['numVotes'] > numVotes_split) & (data_movie['averageRating'] > averageRating_split)]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(854511, 6)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(data_movie.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Only include the data to movies of the selected range of years." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(854511, 6)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(data_movie.shape)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "data_movie = data_movie[(data_movie['startYear'] >= start_year) & (data_movie['startYear'] < end_year)]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(545043, 6)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(data_movie.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Prepare Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Add year span as a column" ] }, { "cell_type": "code", "execution_count": 15, "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", "
tconstyear_spanstartYearruntimeMinutesaverageRatingnumVotescategory
2495tt00112162000-20202019676.930actress
2496tt00112162000-20202019676.930actor
2497tt00112162000-20202019676.930actor
2498tt00112162000-20202019676.930actor
6056tt00157241980-200019931026.225actor
........................
854494tt99158722000-20202019976.98actress
854507tt99165382000-202020191238.36actress
854508tt99165382000-202020191238.36actress
854509tt99165382000-202020191238.36actor
854510tt99165382000-202020191238.36actress
\n", "

545043 rows × 7 columns

\n", "
" ], "text/plain": [ " tconst year_span startYear runtimeMinutes averageRating \\\n", "2495 tt0011216 2000-2020 2019 67 6.9 \n", "2496 tt0011216 2000-2020 2019 67 6.9 \n", "2497 tt0011216 2000-2020 2019 67 6.9 \n", "2498 tt0011216 2000-2020 2019 67 6.9 \n", "6056 tt0015724 1980-2000 1993 102 6.2 \n", "... ... ... ... ... ... \n", "854494 tt9915872 2000-2020 2019 97 6.9 \n", "854507 tt9916538 2000-2020 2019 123 8.3 \n", "854508 tt9916538 2000-2020 2019 123 8.3 \n", "854509 tt9916538 2000-2020 2019 123 8.3 \n", "854510 tt9916538 2000-2020 2019 123 8.3 \n", "\n", " numVotes category \n", "2495 30 actress \n", "2496 30 actor \n", "2497 30 actor \n", "2498 30 actor \n", "6056 25 actor \n", "... ... ... \n", "854494 8 actress \n", "854507 6 actress \n", "854508 6 actress \n", "854509 6 actor \n", "854510 6 actress \n", "\n", "[545043 rows x 7 columns]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "year_span_presplit = f\"{start_year}-{split_year}\"\n", "year_span_postsplit = f\"{split_year}-{end_year}\"\n", "year_span = np.where(data_movie['startYear'] < split_year, year_span_presplit, year_span_postsplit)\n", "data_movie.insert(1, 'year_span' , year_span)\n", "\n", "display(data_movie)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Add counts and proportions on crew members" ] }, { "cell_type": "code", "execution_count": 16, "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", "
categorytconstnum_actorsnum_actressesprop_actorsprop_actresses
0tt0011216310.750.25
1tt0015724220.500.50
2tt0035423310.750.25
3tt0036177310.750.25
4tt0036606310.750.25
..................
129988tt9913936401.000.00
129989tt9914286310.750.25
129990tt9914942310.750.25
129991tt9915872020.001.00
129992tt9916538130.250.75
\n", "

129993 rows × 5 columns

\n", "
" ], "text/plain": [ "category tconst num_actors num_actresses prop_actors prop_actresses\n", "0 tt0011216 3 1 0.75 0.25\n", "1 tt0015724 2 2 0.50 0.50\n", "2 tt0035423 3 1 0.75 0.25\n", "3 tt0036177 3 1 0.75 0.25\n", "4 tt0036606 3 1 0.75 0.25\n", "... ... ... ... ... ...\n", "129988 tt9913936 4 0 1.00 0.00\n", "129989 tt9914286 3 1 0.75 0.25\n", "129990 tt9914942 3 1 0.75 0.25\n", "129991 tt9915872 0 2 0.00 1.00\n", "129992 tt9916538 1 3 0.25 0.75\n", "\n", "[129993 rows x 5 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_cast_numbers = pd.crosstab(data_movie['tconst'], data_movie['category']).reset_index().rename(columns = {\n", " 'actor':'num_actors',\n", " 'actress':'num_actresses',\n", "})\n", "\n", "data_cast_proportion = data_movie.groupby(['tconst'])['category'].value_counts(normalize=True).unstack().reset_index().fillna(0).rename(columns = {\n", " 'actor':'prop_actors',\n", " 'actress':'prop_actresses',\n", "})\n", "\n", "data_cast_gender_stat = pd.merge(data_cast_numbers, data_cast_proportion)\n", "data_cast_gender_stat" ] }, { "cell_type": "code", "execution_count": 17, "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", "
tconstyear_spanstartYearruntimeMinutesaverageRatingnumVotes
0tt00112162000-20202019676.930
1tt00157241980-200019931026.225
2tt00354232000-202020011186.482687
3tt00361772000-202020081007.3118
4tt00366061980-200019831186.5312
.....................
129988tt99139362000-202020191357.258
129989tt99142862000-20202019987.6218
129990tt99149422000-20202019746.9138
129991tt99158722000-20202019976.98
129992tt99165382000-202020191238.36
\n", "

129993 rows × 6 columns

\n", "
" ], "text/plain": [ " tconst year_span startYear runtimeMinutes averageRating \\\n", "0 tt0011216 2000-2020 2019 67 6.9 \n", "1 tt0015724 1980-2000 1993 102 6.2 \n", "2 tt0035423 2000-2020 2001 118 6.4 \n", "3 tt0036177 2000-2020 2008 100 7.3 \n", "4 tt0036606 1980-2000 1983 118 6.5 \n", "... ... ... ... ... ... \n", "129988 tt9913936 2000-2020 2019 135 7.2 \n", "129989 tt9914286 2000-2020 2019 98 7.6 \n", "129990 tt9914942 2000-2020 2019 74 6.9 \n", "129991 tt9915872 2000-2020 2019 97 6.9 \n", "129992 tt9916538 2000-2020 2019 123 8.3 \n", "\n", " numVotes \n", "0 30 \n", "1 25 \n", "2 82687 \n", "3 118 \n", "4 312 \n", "... ... \n", "129988 58 \n", "129989 218 \n", "129990 138 \n", "129991 8 \n", "129992 6 \n", "\n", "[129993 rows x 6 columns]" ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
tconstyear_spanstartYearruntimeMinutesaverageRatingnumVotesnum_actorsnum_actressesprop_actorsprop_actresses
1tt00157241980-200019931026.225220.500.50
4tt00366061980-200019831186.5312310.750.25
5tt00386871980-20001980587.51828101.000.00
6tt00574611980-20001983844.921401.000.00
7tt00593251980-200019901006.5240310.750.25
.................................
129718tt97998781980-20001996651.841310.750.25
129797tt98288021980-20001980936.048310.750.25
129804tt98323961980-20001988716.015310.750.25
129857tt98552101980-20001985917.85310.750.25
129892tt98705021980-200019941085.09310.750.25
\n", "

37339 rows × 10 columns

\n", "
" ], "text/plain": [ " tconst year_span startYear runtimeMinutes averageRating \\\n", "1 tt0015724 1980-2000 1993 102 6.2 \n", "4 tt0036606 1980-2000 1983 118 6.5 \n", "5 tt0038687 1980-2000 1980 58 7.5 \n", "6 tt0057461 1980-2000 1983 84 4.9 \n", "7 tt0059325 1980-2000 1990 100 6.5 \n", "... ... ... ... ... ... \n", "129718 tt9799878 1980-2000 1996 65 1.8 \n", "129797 tt9828802 1980-2000 1980 93 6.0 \n", "129804 tt9832396 1980-2000 1988 71 6.0 \n", "129857 tt9855210 1980-2000 1985 91 7.8 \n", "129892 tt9870502 1980-2000 1994 108 5.0 \n", "\n", " numVotes num_actors num_actresses prop_actors prop_actresses \n", "1 25 2 2 0.50 0.50 \n", "4 312 3 1 0.75 0.25 \n", "5 1828 1 0 1.00 0.00 \n", "6 21 4 0 1.00 0.00 \n", "7 240 3 1 0.75 0.25 \n", "... ... ... ... ... ... \n", "129718 41 3 1 0.75 0.25 \n", "129797 48 3 1 0.75 0.25 \n", "129804 15 3 1 0.75 0.25 \n", "129857 5 3 1 0.75 0.25 \n", "129892 9 3 1 0.75 0.25 \n", "\n", "[37339 rows x 10 columns]" ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
tconstyear_spanstartYearruntimeMinutesaverageRatingnumVotesnum_actorsnum_actressesprop_actorsprop_actresses
0tt00112162000-20202019676.930310.750.25
2tt00354232000-202020011186.482687310.750.25
3tt00361772000-202020081007.3118310.750.25
23tt00690492000-202020181226.77065220.500.50
2023tt00837212000-202020091026.255310.750.25
.................................
129988tt99139362000-202020191357.258401.000.00
129989tt99142862000-20202019987.6218310.750.25
129990tt99149422000-20202019746.9138310.750.25
129991tt99158722000-20202019976.98020.001.00
129992tt99165382000-202020191238.36130.250.75
\n", "

92654 rows × 10 columns

\n", "
" ], "text/plain": [ " tconst year_span startYear runtimeMinutes averageRating \\\n", "0 tt0011216 2000-2020 2019 67 6.9 \n", "2 tt0035423 2000-2020 2001 118 6.4 \n", "3 tt0036177 2000-2020 2008 100 7.3 \n", "23 tt0069049 2000-2020 2018 122 6.7 \n", "2023 tt0083721 2000-2020 2009 102 6.2 \n", "... ... ... ... ... ... \n", "129988 tt9913936 2000-2020 2019 135 7.2 \n", "129989 tt9914286 2000-2020 2019 98 7.6 \n", "129990 tt9914942 2000-2020 2019 74 6.9 \n", "129991 tt9915872 2000-2020 2019 97 6.9 \n", "129992 tt9916538 2000-2020 2019 123 8.3 \n", "\n", " numVotes num_actors num_actresses prop_actors prop_actresses \n", "0 30 3 1 0.75 0.25 \n", "2 82687 3 1 0.75 0.25 \n", "3 118 3 1 0.75 0.25 \n", "23 7065 2 2 0.50 0.50 \n", "2023 55 3 1 0.75 0.25 \n", "... ... ... ... ... ... \n", "129988 58 4 0 1.00 0.00 \n", "129989 218 3 1 0.75 0.25 \n", "129990 138 3 1 0.75 0.25 \n", "129991 8 0 2 0.00 1.00 \n", "129992 6 1 3 0.25 0.75 \n", "\n", "[92654 rows x 10 columns]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: []\n", "Index: []" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_movie_distinct = data_movie.drop(columns=['category']).drop_duplicates(['tconst']).reset_index(drop = True)\n", "display(data_movie_distinct)\n", "\n", "data_movie_gender_stat = pd.merge(data_movie_distinct, data_cast_gender_stat)\n", "data_movie_gender_stat.groupby('year_span').apply(display)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Split data into their year spans" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "data_movie_gender_stat_timespan_presplit, data_movie_gender_stat_timespan_postsplit = [\n", " g for _, g in data_movie_gender_stat.groupby(['year_span'])\n", "]" ] }, { "cell_type": "code", "execution_count": 19, "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", "
tconstyear_spanstartYearruntimeMinutesaverageRatingnumVotesnum_actorsnum_actressesprop_actorsprop_actresses
1tt00157241980-200019931026.225220.500.50
4tt00366061980-200019831186.5312310.750.25
5tt00386871980-20001980587.51828101.000.00
6tt00574611980-20001983844.921401.000.00
7tt00593251980-200019901006.5240310.750.25
.................................
129718tt97998781980-20001996651.841310.750.25
129797tt98288021980-20001980936.048310.750.25
129804tt98323961980-20001988716.015310.750.25
129857tt98552101980-20001985917.85310.750.25
129892tt98705021980-200019941085.09310.750.25
\n", "

37339 rows × 10 columns

\n", "
" ], "text/plain": [ " tconst year_span startYear runtimeMinutes averageRating \\\n", "1 tt0015724 1980-2000 1993 102 6.2 \n", "4 tt0036606 1980-2000 1983 118 6.5 \n", "5 tt0038687 1980-2000 1980 58 7.5 \n", "6 tt0057461 1980-2000 1983 84 4.9 \n", "7 tt0059325 1980-2000 1990 100 6.5 \n", "... ... ... ... ... ... \n", "129718 tt9799878 1980-2000 1996 65 1.8 \n", "129797 tt9828802 1980-2000 1980 93 6.0 \n", "129804 tt9832396 1980-2000 1988 71 6.0 \n", "129857 tt9855210 1980-2000 1985 91 7.8 \n", "129892 tt9870502 1980-2000 1994 108 5.0 \n", "\n", " numVotes num_actors num_actresses prop_actors prop_actresses \n", "1 25 2 2 0.50 0.50 \n", "4 312 3 1 0.75 0.25 \n", "5 1828 1 0 1.00 0.00 \n", "6 21 4 0 1.00 0.00 \n", "7 240 3 1 0.75 0.25 \n", "... ... ... ... ... ... \n", "129718 41 3 1 0.75 0.25 \n", "129797 48 3 1 0.75 0.25 \n", "129804 15 3 1 0.75 0.25 \n", "129857 5 3 1 0.75 0.25 \n", "129892 9 3 1 0.75 0.25 \n", "\n", "[37339 rows x 10 columns]" ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
tconstyear_spanstartYearruntimeMinutesaverageRatingnumVotesnum_actorsnum_actressesprop_actorsprop_actresses
0tt00112162000-20202019676.930310.750.25
2tt00354232000-202020011186.482687310.750.25
3tt00361772000-202020081007.3118310.750.25
23tt00690492000-202020181226.77065220.500.50
2023tt00837212000-202020091026.255310.750.25
.................................
129988tt99139362000-202020191357.258401.000.00
129989tt99142862000-20202019987.6218310.750.25
129990tt99149422000-20202019746.9138310.750.25
129991tt99158722000-20202019976.98020.001.00
129992tt99165382000-202020191238.36130.250.75
\n", "

92654 rows × 10 columns

\n", "
" ], "text/plain": [ " tconst year_span startYear runtimeMinutes averageRating \\\n", "0 tt0011216 2000-2020 2019 67 6.9 \n", "2 tt0035423 2000-2020 2001 118 6.4 \n", "3 tt0036177 2000-2020 2008 100 7.3 \n", "23 tt0069049 2000-2020 2018 122 6.7 \n", "2023 tt0083721 2000-2020 2009 102 6.2 \n", "... ... ... ... ... ... \n", "129988 tt9913936 2000-2020 2019 135 7.2 \n", "129989 tt9914286 2000-2020 2019 98 7.6 \n", "129990 tt9914942 2000-2020 2019 74 6.9 \n", "129991 tt9915872 2000-2020 2019 97 6.9 \n", "129992 tt9916538 2000-2020 2019 123 8.3 \n", "\n", " numVotes num_actors num_actresses prop_actors prop_actresses \n", "0 30 3 1 0.75 0.25 \n", "2 82687 3 1 0.75 0.25 \n", "3 118 3 1 0.75 0.25 \n", "23 7065 2 2 0.50 0.50 \n", "2023 55 3 1 0.75 0.25 \n", "... ... ... ... ... ... \n", "129988 58 4 0 1.00 0.00 \n", "129989 218 3 1 0.75 0.25 \n", "129990 138 3 1 0.75 0.25 \n", "129991 8 0 2 0.00 1.00 \n", "129992 6 1 3 0.25 0.75 \n", "\n", "[92654 rows x 10 columns]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(data_movie_gender_stat_timespan_presplit)\n", "display(data_movie_gender_stat_timespan_postsplit)" ] }, { "cell_type": "code", "execution_count": 20, "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", "
startYearruntimeMinutesaverageRatingnumVotesnum_actorsnum_actressesprop_actorsprop_actresses
count37339.00000037339.00000037339.0000003.733900e+0437339.00000037339.00000037339.00000037339.000000
mean1989.65213394.1222585.8880344.388853e+032.7158471.6677200.6233680.376632
std5.79633814.7715301.2033863.438555e+041.2172451.1278830.2272900.227290
min1980.00000052.0000001.0000005.000000e+000.0000000.0000000.0000000.000000
25%1985.00000086.0000005.1000002.400000e+012.0000001.0000000.5000000.250000
50%1989.00000092.0000006.0000008.500000e+013.0000002.0000000.6666670.333333
75%1995.000000102.0000006.8000004.130000e+023.0000002.0000000.7500000.500000
max1999.000000135.0000009.7000001.555039e+069.0000009.0000001.0000001.000000
\n", "
" ], "text/plain": [ " startYear runtimeMinutes averageRating numVotes \\\n", "count 37339.000000 37339.000000 37339.000000 3.733900e+04 \n", "mean 1989.652133 94.122258 5.888034 4.388853e+03 \n", "std 5.796338 14.771530 1.203386 3.438555e+04 \n", "min 1980.000000 52.000000 1.000000 5.000000e+00 \n", "25% 1985.000000 86.000000 5.100000 2.400000e+01 \n", "50% 1989.000000 92.000000 6.000000 8.500000e+01 \n", "75% 1995.000000 102.000000 6.800000 4.130000e+02 \n", "max 1999.000000 135.000000 9.700000 1.555039e+06 \n", "\n", " num_actors num_actresses prop_actors prop_actresses \n", "count 37339.000000 37339.000000 37339.000000 37339.000000 \n", "mean 2.715847 1.667720 0.623368 0.376632 \n", "std 1.217245 1.127883 0.227290 0.227290 \n", "min 0.000000 0.000000 0.000000 0.000000 \n", "25% 2.000000 1.000000 0.500000 0.250000 \n", "50% 3.000000 2.000000 0.666667 0.333333 \n", "75% 3.000000 2.000000 0.750000 0.500000 \n", "max 9.000000 9.000000 1.000000 1.000000 " ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
startYearruntimeMinutesaverageRatingnumVotesnum_actorsnum_actressesprop_actorsprop_actresses
count92654.00000092654.00000092654.0000009.265400e+0492654.00000092654.00000092654.00000092654.000000
mean2011.45755293.9935145.9511745.469363e+032.5503921.5656200.6240900.375910
std5.39334116.0133811.3738833.664108e+041.2486091.0885310.2473250.247325
min2000.00000052.0000001.0000005.000000e+000.0000000.0000000.0000000.000000
25%2007.00000085.0000005.1000002.700000e+012.0000001.0000000.5000000.250000
50%2012.00000093.0000006.1000001.150000e+022.0000001.0000000.6666670.333333
75%2016.000000104.0000006.9000005.990000e+023.0000002.0000000.7500000.500000
max2019.000000135.00000010.0000001.272676e+0610.0000009.0000001.0000001.000000
\n", "
" ], "text/plain": [ " startYear runtimeMinutes averageRating numVotes \\\n", "count 92654.000000 92654.000000 92654.000000 9.265400e+04 \n", "mean 2011.457552 93.993514 5.951174 5.469363e+03 \n", "std 5.393341 16.013381 1.373883 3.664108e+04 \n", "min 2000.000000 52.000000 1.000000 5.000000e+00 \n", "25% 2007.000000 85.000000 5.100000 2.700000e+01 \n", "50% 2012.000000 93.000000 6.100000 1.150000e+02 \n", "75% 2016.000000 104.000000 6.900000 5.990000e+02 \n", "max 2019.000000 135.000000 10.000000 1.272676e+06 \n", "\n", " num_actors num_actresses prop_actors prop_actresses \n", "count 92654.000000 92654.000000 92654.000000 92654.000000 \n", "mean 2.550392 1.565620 0.624090 0.375910 \n", "std 1.248609 1.088531 0.247325 0.247325 \n", "min 0.000000 0.000000 0.000000 0.000000 \n", "25% 2.000000 1.000000 0.500000 0.250000 \n", "50% 2.000000 1.000000 0.666667 0.333333 \n", "75% 3.000000 2.000000 0.750000 0.500000 \n", "max 10.000000 9.000000 1.000000 1.000000 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(data_movie_gender_stat_timespan_presplit.describe())\n", "display(data_movie_gender_stat_timespan_postsplit.describe())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Reduce data to proportion of actresses" ] }, { "cell_type": "code", "execution_count": 21, "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", "
prop_actresses
00.50
10.25
20.00
30.00
40.25
......
373340.25
373350.25
373360.25
373370.25
373380.25
\n", "

37339 rows × 1 columns

\n", "
" ], "text/plain": [ " prop_actresses\n", "0 0.50\n", "1 0.25\n", "2 0.00\n", "3 0.00\n", "4 0.25\n", "... ...\n", "37334 0.25\n", "37335 0.25\n", "37336 0.25\n", "37337 0.25\n", "37338 0.25\n", "\n", "[37339 rows x 1 columns]" ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
prop_actresses
00.25
10.25
20.25
30.50
40.25
......
926490.00
926500.25
926510.25
926521.00
926530.75
\n", "

92654 rows × 1 columns

\n", "
" ], "text/plain": [ " prop_actresses\n", "0 0.25\n", "1 0.25\n", "2 0.25\n", "3 0.50\n", "4 0.25\n", "... ...\n", "92649 0.00\n", "92650 0.25\n", "92651 0.25\n", "92652 1.00\n", "92653 0.75\n", "\n", "[92654 rows x 1 columns]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_prop_actresses_timespan_presplit = data_movie_gender_stat_timespan_presplit['prop_actresses'].to_frame().reset_index(drop=True)\n", "data_prop_actresses_timespan_postsplit = data_movie_gender_stat_timespan_postsplit['prop_actresses'].to_frame().reset_index(drop=True)\n", "\n", "display(data_prop_actresses_timespan_presplit)\n", "display(data_prop_actresses_timespan_postsplit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Analyze Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Visualize whether the data is Gaussian distributed." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "np.random.seed(42)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(data_prop_actresses_timespan_presplit['prop_actresses'], density=True, bins=30)\n", "plt.ylabel('Probability')\n", "plt.xlabel('Proportion of actresses pre-split-year');" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(data_prop_actresses_timespan_postsplit['prop_actresses'], density=True, bins=30)\n", "plt.ylabel('Probability')\n", "plt.xlabel('Proportion of actresses pre-split-year');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Compute t-statistic\n", "\n", "Our goal is to find out if the mean $\\mu_1$ on the proportion of actresses in principal roles differs significantly compared to the mean $\\mu_0$ on the proportion of actesses in principal roles before the split year." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We perform a t-test unter the null hypothesis $H_0: \\mu_1 = \\mu_0$.\n", "\n", "This tells us the probability to observe $m_1$, given $m_0$." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "from scipy.stats import ttest_ind" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "def print_result_two_sided(p_val):\n", " alpha = 0.05\n", " # Significant results?\n", " significant = p_val <= alpha\n", " print(f\"{'Yes' if significant else 'No'}, the result is {'significant' if significant else 'insignificant'} because given the pre-split-year data, observing the post-split-year data has a {p_val*100:.2f}% probability.\")\n", " \n", "def print_result_one_sided(t_val, p_val):\n", " alpha = 0.05\n", " # Significant results?\n", " significant = p_val/2 <= alpha\n", " direction = ('of being' + 'greater' if (t_val < 0) else 'smaller') if significant else ''\n", " print(f\"{'Yes' if significant else 'No'}, the result is {'significant' if significant else 'insignificant'} because given the pre-split-year data, observing the post-split-year data has a {p_val*100:.2f}% probability.\")" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "37339" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "num_samples = np.min([\n", " data_prop_actresses_timespan_presplit['prop_actresses'].shape[0],\n", " data_prop_actresses_timespan_postsplit['prop_actresses'].shape[0]\n", "])\n", "num_samples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Are the means $\\mu_1 = \\mu_0$ under the given unequal sample size?" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Ttest_indResult(statistic=0.4871844269145407, pvalue=0.6261284618829022)" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "No, the result is insignificant because given the pre-split-year data, observing the post-split-year data has a 62.61% probability.\n" ] } ], "source": [ "res = ttest_ind(\n", " a=data_prop_actresses_timespan_presplit['prop_actresses'],\n", " b=data_prop_actresses_timespan_postsplit['prop_actresses'],\n", " equal_var=True\n", ")\n", "display(res)\n", "\n", "print_result_two_sided(res.pvalue)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Are the means $\\mu_1 = \\mu_0$ under an uniformly sampled but equal sample size?" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Ttest_indResult(statistic=1.1797681843227215, pvalue=0.2380961849995745)" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "No, the result is insignificant because given the pre-split-year data, observing the post-split-year data has a 23.81% probability.\n" ] } ], "source": [ "res = ttest_ind(\n", " a=data_prop_actresses_timespan_presplit['prop_actresses'].sample(num_samples, replace=True, random_state=42),\n", " b=data_prop_actresses_timespan_postsplit['prop_actresses'].sample(num_samples, replace=True, random_state=42),\n", " equal_var=True\n", ")\n", "display(res)\n", "\n", "print_result_two_sided(res.pvalue)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Are the means $\\mu_1 \\neq \\mu_0$ under the given unequal sample size?" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Ttest_indResult(statistic=0.4871844269145407, pvalue=0.6261284618829022)" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "No, the result is insignificant because given the pre-split-year data, observing the post-split-year data has a 62.61% probability.\n" ] } ], "source": [ "res = ttest_ind(\n", " a=data_prop_actresses_timespan_presplit['prop_actresses'],\n", " b=data_prop_actresses_timespan_postsplit['prop_actresses'],\n", " equal_var=True\n", ")\n", "display(res)\n", "\n", "print_result_one_sided(res.statistic, res.pvalue)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Are the means $\\mu_1 \\neq \\mu_0$ under an uniformly sampled but equal sample size?" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Ttest_indResult(statistic=1.1797681843227215, pvalue=0.2380961849995745)" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "No, the result is insignificant because given the pre-split-year data, observing the post-split-year data has a 23.81% probability.\n" ] } ], "source": [ "res = ttest_ind(\n", " a=data_prop_actresses_timespan_presplit['prop_actresses'].sample(num_samples, replace=True, random_state=42),\n", " b=data_prop_actresses_timespan_postsplit['prop_actresses'].sample(num_samples, replace=True, random_state=42),\n", " equal_var=True\n", ")\n", "display(res)\n", "\n", "print_result_one_sided(res.statistic, res.pvalue)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Visualize data" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "sns.set_style('whitegrid')" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "box_plot = sns.boxplot(x='year_span', y='prop_actresses', data=data_movie_gender_stat)\n", "\n", "medians = data_movie_gender_stat.groupby(['year_span'])['prop_actresses'].median()\n", "vertical_offset = data_movie_gender_stat['prop_actresses'].median() * 0.05 # offset from median for display\n", "\n", "for xtick in box_plot.get_xticks():\n", " box_plot.text(xtick,medians[xtick] + vertical_offset,medians[xtick], \n", " horizontalalignment='center',size='x-small',color='w',weight='semibold')" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "viol_plot = sns.violinplot(x='year_span', y='prop_actresses', data=data_movie_gender_stat)\n", "\n", "medians = data_movie_gender_stat.groupby(['year_span'])['prop_actresses'].median()\n", "vertical_offset = data_movie_gender_stat['prop_actresses'].median() * 0.05 # offset from median for display\n", "\n", "for xtick in box_plot.get_xticks():\n", " box_plot.text(xtick,medians[xtick] + vertical_offset,medians[xtick], \n", " horizontalalignment='center',size='x-small',color='w',weight='semibold')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Result" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The t-tests as well as the plots suggest that the equality $\\mu_1 = \\mu_0$ but also the inequality $\\mu_1 = \\mu_0$ cannot be rejected. One reason for this could be a too discrete distribution of proportions or proportions between actors and actresses, i.e., a too strongly violated requirement of the t-test.\n", "The number of main actors in movies is typically in the single digits." ] } ], "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.8.8" } }, "nbformat": 4, "nbformat_minor": 4 }