Team project "Analyzing Gender Share in Casting Actors" as part of the lecture "Data Literacy"

exp-003_T-Test-Hypothesis-Testing.ipynb 148KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "markdown",
  5. "metadata": {},
  6. "source": [
  7. "# Data Literacy - Project\n",
  8. "## Gender Share in Movies\n",
  9. "#### Tobias Stumpp, Sophia Herrmann"
  10. ]
  11. },
  12. {
  13. "cell_type": "markdown",
  14. "metadata": {},
  15. "source": [
  16. "## t-Test Hypothesis Testing"
  17. ]
  18. },
  19. {
  20. "cell_type": "markdown",
  21. "metadata": {},
  22. "source": [
  23. "### Parameters"
  24. ]
  25. },
  26. {
  27. "cell_type": "code",
  28. "execution_count": 1,
  29. "metadata": {},
  30. "outputs": [],
  31. "source": [
  32. "# Starting year of the period of years covered by the test\n",
  33. "start_year = 1980\n",
  34. "# Ending year of the period of years covered by the test\n",
  35. "end_year = start_year + 40\n",
  36. "\n",
  37. "# Split year of the period of years covered by the test that separates\n",
  38. "# indicative data (>= start_year and < split_year)\n",
  39. "# from\n",
  40. "# data to be verified (>= split_year and < end_year).\n",
  41. "split_year = start_year + 20\n",
  42. "\n",
  43. "# Option to ignore movies where the average rating or the number of votes is below the respective 5% quantile.\n",
  44. "ignore_irrelevant_movies = False"
  45. ]
  46. },
  47. {
  48. "cell_type": "markdown",
  49. "metadata": {},
  50. "source": [
  51. "### Meta"
  52. ]
  53. },
  54. {
  55. "cell_type": "code",
  56. "execution_count": 2,
  57. "metadata": {},
  58. "outputs": [],
  59. "source": [
  60. "%matplotlib inline\n",
  61. "import numpy as np\n",
  62. "import pandas as pd\n",
  63. "import os\n",
  64. "import matplotlib.pyplot as plt\n",
  65. "import seaborn as sns"
  66. ]
  67. },
  68. {
  69. "cell_type": "code",
  70. "execution_count": 3,
  71. "metadata": {},
  72. "outputs": [],
  73. "source": [
  74. "path = '../dat/'\n",
  75. "os.chdir(path)"
  76. ]
  77. },
  78. {
  79. "cell_type": "markdown",
  80. "metadata": {},
  81. "source": [
  82. "### Read Data"
  83. ]
  84. },
  85. {
  86. "cell_type": "code",
  87. "execution_count": 4,
  88. "metadata": {},
  89. "outputs": [
  90. {
  91. "name": "stdout",
  92. "output_type": "stream",
  93. "text": [
  94. "['tconst', 'startYear', 'runtimeMinutes', 'genres', 'averageRating', 'numVotes', 'category']\n"
  95. ]
  96. }
  97. ],
  98. "source": [
  99. "columns = list(pd.read_csv('data_movie.csv', nrows =1))\n",
  100. "print(columns)"
  101. ]
  102. },
  103. {
  104. "cell_type": "code",
  105. "execution_count": 5,
  106. "metadata": {},
  107. "outputs": [
  108. {
  109. "name": "stdout",
  110. "output_type": "stream",
  111. "text": [
  112. "<class 'pandas.core.frame.DataFrame'>\n",
  113. "RangeIndex: 854511 entries, 0 to 854510\n",
  114. "Data columns (total 6 columns):\n",
  115. " # Column Non-Null Count Dtype \n",
  116. "--- ------ -------------- ----- \n",
  117. " 0 tconst 854511 non-null object \n",
  118. " 1 startYear 854511 non-null int64 \n",
  119. " 2 runtimeMinutes 854511 non-null int64 \n",
  120. " 3 averageRating 854511 non-null float64\n",
  121. " 4 numVotes 854511 non-null int64 \n",
  122. " 5 category 854511 non-null object \n",
  123. "dtypes: float64(1), int64(3), object(2)\n",
  124. "memory usage: 39.1+ MB\n"
  125. ]
  126. },
  127. {
  128. "data": {
  129. "text/plain": [
  130. "None"
  131. ]
  132. },
  133. "metadata": {},
  134. "output_type": "display_data"
  135. },
  136. {
  137. "data": {
  138. "text/html": [
  139. "<div>\n",
  140. "<style scoped>\n",
  141. " .dataframe tbody tr th:only-of-type {\n",
  142. " vertical-align: middle;\n",
  143. " }\n",
  144. "\n",
  145. " .dataframe tbody tr th {\n",
  146. " vertical-align: top;\n",
  147. " }\n",
  148. "\n",
  149. " .dataframe thead th {\n",
  150. " text-align: right;\n",
  151. " }\n",
  152. "</style>\n",
  153. "<table border=\"1\" class=\"dataframe\">\n",
  154. " <thead>\n",
  155. " <tr style=\"text-align: right;\">\n",
  156. " <th></th>\n",
  157. " <th>tconst</th>\n",
  158. " <th>startYear</th>\n",
  159. " <th>runtimeMinutes</th>\n",
  160. " <th>averageRating</th>\n",
  161. " <th>numVotes</th>\n",
  162. " <th>category</th>\n",
  163. " </tr>\n",
  164. " </thead>\n",
  165. " <tbody>\n",
  166. " <tr>\n",
  167. " <th>0</th>\n",
  168. " <td>tt0000502</td>\n",
  169. " <td>1905</td>\n",
  170. " <td>100</td>\n",
  171. " <td>4.5</td>\n",
  172. " <td>14</td>\n",
  173. " <td>actor</td>\n",
  174. " </tr>\n",
  175. " <tr>\n",
  176. " <th>1</th>\n",
  177. " <td>tt0000502</td>\n",
  178. " <td>1905</td>\n",
  179. " <td>100</td>\n",
  180. " <td>4.5</td>\n",
  181. " <td>14</td>\n",
  182. " <td>actor</td>\n",
  183. " </tr>\n",
  184. " <tr>\n",
  185. " <th>2</th>\n",
  186. " <td>tt0000574</td>\n",
  187. " <td>1906</td>\n",
  188. " <td>70</td>\n",
  189. " <td>6.1</td>\n",
  190. " <td>747</td>\n",
  191. " <td>actress</td>\n",
  192. " </tr>\n",
  193. " <tr>\n",
  194. " <th>3</th>\n",
  195. " <td>tt0000574</td>\n",
  196. " <td>1906</td>\n",
  197. " <td>70</td>\n",
  198. " <td>6.1</td>\n",
  199. " <td>747</td>\n",
  200. " <td>actor</td>\n",
  201. " </tr>\n",
  202. " <tr>\n",
  203. " <th>4</th>\n",
  204. " <td>tt0000574</td>\n",
  205. " <td>1906</td>\n",
  206. " <td>70</td>\n",
  207. " <td>6.1</td>\n",
  208. " <td>747</td>\n",
  209. " <td>actor</td>\n",
  210. " </tr>\n",
  211. " </tbody>\n",
  212. "</table>\n",
  213. "</div>"
  214. ],
  215. "text/plain": [
  216. " tconst startYear runtimeMinutes averageRating numVotes category\n",
  217. "0 tt0000502 1905 100 4.5 14 actor\n",
  218. "1 tt0000502 1905 100 4.5 14 actor\n",
  219. "2 tt0000574 1906 70 6.1 747 actress\n",
  220. "3 tt0000574 1906 70 6.1 747 actor\n",
  221. "4 tt0000574 1906 70 6.1 747 actor"
  222. ]
  223. },
  224. "metadata": {},
  225. "output_type": "display_data"
  226. }
  227. ],
  228. "source": [
  229. "columns_to_read = [c for c in columns if c != 'genres']\n",
  230. "\n",
  231. "data_movie = pd.read_csv('data_movie.csv', usecols = columns_to_read)\n",
  232. "\n",
  233. "display(data_movie.info())\n",
  234. "display(data_movie.head())"
  235. ]
  236. },
  237. {
  238. "cell_type": "markdown",
  239. "metadata": {},
  240. "source": [
  241. "---"
  242. ]
  243. },
  244. {
  245. "cell_type": "markdown",
  246. "metadata": {},
  247. "source": [
  248. "#### Provide the option to only include movies that are relevant based on the average rating and number of votes."
  249. ]
  250. },
  251. {
  252. "cell_type": "code",
  253. "execution_count": 6,
  254. "metadata": {},
  255. "outputs": [
  256. {
  257. "data": {
  258. "text/html": [
  259. "<div>\n",
  260. "<style scoped>\n",
  261. " .dataframe tbody tr th:only-of-type {\n",
  262. " vertical-align: middle;\n",
  263. " }\n",
  264. "\n",
  265. " .dataframe tbody tr th {\n",
  266. " vertical-align: top;\n",
  267. " }\n",
  268. "\n",
  269. " .dataframe thead th {\n",
  270. " text-align: right;\n",
  271. " }\n",
  272. "</style>\n",
  273. "<table border=\"1\" class=\"dataframe\">\n",
  274. " <thead>\n",
  275. " <tr style=\"text-align: right;\">\n",
  276. " <th></th>\n",
  277. " <th>numVotes</th>\n",
  278. " <th>averageRating</th>\n",
  279. " </tr>\n",
  280. " </thead>\n",
  281. " <tbody>\n",
  282. " <tr>\n",
  283. " <th>count</th>\n",
  284. " <td>8.545110e+05</td>\n",
  285. " <td>854511.000000</td>\n",
  286. " </tr>\n",
  287. " <tr>\n",
  288. " <th>mean</th>\n",
  289. " <td>3.579196e+03</td>\n",
  290. " <td>5.928503</td>\n",
  291. " </tr>\n",
  292. " <tr>\n",
  293. " <th>std</th>\n",
  294. " <td>2.920979e+04</td>\n",
  295. " <td>1.263788</td>\n",
  296. " </tr>\n",
  297. " <tr>\n",
  298. " <th>min</th>\n",
  299. " <td>5.000000e+00</td>\n",
  300. " <td>1.000000</td>\n",
  301. " </tr>\n",
  302. " <tr>\n",
  303. " <th>25%</th>\n",
  304. " <td>2.300000e+01</td>\n",
  305. " <td>5.200000</td>\n",
  306. " </tr>\n",
  307. " <tr>\n",
  308. " <th>50%</th>\n",
  309. " <td>7.800000e+01</td>\n",
  310. " <td>6.100000</td>\n",
  311. " </tr>\n",
  312. " <tr>\n",
  313. " <th>75%</th>\n",
  314. " <td>3.820000e+02</td>\n",
  315. " <td>6.800000</td>\n",
  316. " </tr>\n",
  317. " <tr>\n",
  318. " <th>max</th>\n",
  319. " <td>1.555039e+06</td>\n",
  320. " <td>10.000000</td>\n",
  321. " </tr>\n",
  322. " </tbody>\n",
  323. "</table>\n",
  324. "</div>"
  325. ],
  326. "text/plain": [
  327. " numVotes averageRating\n",
  328. "count 8.545110e+05 854511.000000\n",
  329. "mean 3.579196e+03 5.928503\n",
  330. "std 2.920979e+04 1.263788\n",
  331. "min 5.000000e+00 1.000000\n",
  332. "25% 2.300000e+01 5.200000\n",
  333. "50% 7.800000e+01 6.100000\n",
  334. "75% 3.820000e+02 6.800000\n",
  335. "max 1.555039e+06 10.000000"
  336. ]
  337. },
  338. "execution_count": 6,
  339. "metadata": {},
  340. "output_type": "execute_result"
  341. }
  342. ],
  343. "source": [
  344. "data_movie[['numVotes','averageRating']].describe()"
  345. ]
  346. },
  347. {
  348. "cell_type": "code",
  349. "execution_count": 7,
  350. "metadata": {},
  351. "outputs": [
  352. {
  353. "data": {
  354. "text/plain": [
  355. "9.0"
  356. ]
  357. },
  358. "execution_count": 7,
  359. "metadata": {},
  360. "output_type": "execute_result"
  361. }
  362. ],
  363. "source": [
  364. "numVotes_split = data_movie['numVotes'].quantile(0.05)\n",
  365. "numVotes_split"
  366. ]
  367. },
  368. {
  369. "cell_type": "code",
  370. "execution_count": 8,
  371. "metadata": {},
  372. "outputs": [
  373. {
  374. "data": {
  375. "text/plain": [
  376. "3.6"
  377. ]
  378. },
  379. "execution_count": 8,
  380. "metadata": {},
  381. "output_type": "execute_result"
  382. }
  383. ],
  384. "source": [
  385. "averageRating_split = data_movie['averageRating'].quantile(0.05)\n",
  386. "averageRating_split"
  387. ]
  388. },
  389. {
  390. "cell_type": "code",
  391. "execution_count": 9,
  392. "metadata": {},
  393. "outputs": [
  394. {
  395. "data": {
  396. "text/plain": [
  397. "(854511, 6)"
  398. ]
  399. },
  400. "metadata": {},
  401. "output_type": "display_data"
  402. }
  403. ],
  404. "source": [
  405. "display(data_movie.shape)"
  406. ]
  407. },
  408. {
  409. "cell_type": "code",
  410. "execution_count": 10,
  411. "metadata": {},
  412. "outputs": [],
  413. "source": [
  414. "if ignore_irrelevant_movies:\n",
  415. " data_movie = data_movie[(data_movie['numVotes'] > numVotes_split) & (data_movie['averageRating'] > averageRating_split)]"
  416. ]
  417. },
  418. {
  419. "cell_type": "code",
  420. "execution_count": 11,
  421. "metadata": {},
  422. "outputs": [
  423. {
  424. "data": {
  425. "text/plain": [
  426. "(854511, 6)"
  427. ]
  428. },
  429. "metadata": {},
  430. "output_type": "display_data"
  431. }
  432. ],
  433. "source": [
  434. "display(data_movie.shape)"
  435. ]
  436. },
  437. {
  438. "cell_type": "markdown",
  439. "metadata": {},
  440. "source": [
  441. "---"
  442. ]
  443. },
  444. {
  445. "cell_type": "markdown",
  446. "metadata": {},
  447. "source": [
  448. "#### Only include the data to movies of the selected range of years."
  449. ]
  450. },
  451. {
  452. "cell_type": "code",
  453. "execution_count": 12,
  454. "metadata": {},
  455. "outputs": [
  456. {
  457. "data": {
  458. "text/plain": [
  459. "(854511, 6)"
  460. ]
  461. },
  462. "metadata": {},
  463. "output_type": "display_data"
  464. }
  465. ],
  466. "source": [
  467. "display(data_movie.shape)"
  468. ]
  469. },
  470. {
  471. "cell_type": "code",
  472. "execution_count": 13,
  473. "metadata": {},
  474. "outputs": [],
  475. "source": [
  476. "data_movie = data_movie[(data_movie['startYear'] >= start_year) & (data_movie['startYear'] < end_year)]"
  477. ]
  478. },
  479. {
  480. "cell_type": "code",
  481. "execution_count": 14,
  482. "metadata": {},
  483. "outputs": [
  484. {
  485. "data": {
  486. "text/plain": [
  487. "(545043, 6)"
  488. ]
  489. },
  490. "metadata": {},
  491. "output_type": "display_data"
  492. }
  493. ],
  494. "source": [
  495. "display(data_movie.shape)"
  496. ]
  497. },
  498. {
  499. "cell_type": "markdown",
  500. "metadata": {},
  501. "source": [
  502. "---"
  503. ]
  504. },
  505. {
  506. "cell_type": "markdown",
  507. "metadata": {},
  508. "source": [
  509. "### Prepare Data"
  510. ]
  511. },
  512. {
  513. "cell_type": "markdown",
  514. "metadata": {},
  515. "source": [
  516. "##### Add year span as a column"
  517. ]
  518. },
  519. {
  520. "cell_type": "code",
  521. "execution_count": 15,
  522. "metadata": {},
  523. "outputs": [
  524. {
  525. "data": {
  526. "text/html": [
  527. "<div>\n",
  528. "<style scoped>\n",
  529. " .dataframe tbody tr th:only-of-type {\n",
  530. " vertical-align: middle;\n",
  531. " }\n",
  532. "\n",
  533. " .dataframe tbody tr th {\n",
  534. " vertical-align: top;\n",
  535. " }\n",
  536. "\n",
  537. " .dataframe thead th {\n",
  538. " text-align: right;\n",
  539. " }\n",
  540. "</style>\n",
  541. "<table border=\"1\" class=\"dataframe\">\n",
  542. " <thead>\n",
  543. " <tr style=\"text-align: right;\">\n",
  544. " <th></th>\n",
  545. " <th>tconst</th>\n",
  546. " <th>year_span</th>\n",
  547. " <th>startYear</th>\n",
  548. " <th>runtimeMinutes</th>\n",
  549. " <th>averageRating</th>\n",
  550. " <th>numVotes</th>\n",
  551. " <th>category</th>\n",
  552. " </tr>\n",
  553. " </thead>\n",
  554. " <tbody>\n",
  555. " <tr>\n",
  556. " <th>2495</th>\n",
  557. " <td>tt0011216</td>\n",
  558. " <td>2000-2020</td>\n",
  559. " <td>2019</td>\n",
  560. " <td>67</td>\n",
  561. " <td>6.9</td>\n",
  562. " <td>30</td>\n",
  563. " <td>actress</td>\n",
  564. " </tr>\n",
  565. " <tr>\n",
  566. " <th>2496</th>\n",
  567. " <td>tt0011216</td>\n",
  568. " <td>2000-2020</td>\n",
  569. " <td>2019</td>\n",
  570. " <td>67</td>\n",
  571. " <td>6.9</td>\n",
  572. " <td>30</td>\n",
  573. " <td>actor</td>\n",
  574. " </tr>\n",
  575. " <tr>\n",
  576. " <th>2497</th>\n",
  577. " <td>tt0011216</td>\n",
  578. " <td>2000-2020</td>\n",
  579. " <td>2019</td>\n",
  580. " <td>67</td>\n",
  581. " <td>6.9</td>\n",
  582. " <td>30</td>\n",
  583. " <td>actor</td>\n",
  584. " </tr>\n",
  585. " <tr>\n",
  586. " <th>2498</th>\n",
  587. " <td>tt0011216</td>\n",
  588. " <td>2000-2020</td>\n",
  589. " <td>2019</td>\n",
  590. " <td>67</td>\n",
  591. " <td>6.9</td>\n",
  592. " <td>30</td>\n",
  593. " <td>actor</td>\n",
  594. " </tr>\n",
  595. " <tr>\n",
  596. " <th>6056</th>\n",
  597. " <td>tt0015724</td>\n",
  598. " <td>1980-2000</td>\n",
  599. " <td>1993</td>\n",
  600. " <td>102</td>\n",
  601. " <td>6.2</td>\n",
  602. " <td>25</td>\n",
  603. " <td>actor</td>\n",
  604. " </tr>\n",
  605. " <tr>\n",
  606. " <th>...</th>\n",
  607. " <td>...</td>\n",
  608. " <td>...</td>\n",
  609. " <td>...</td>\n",
  610. " <td>...</td>\n",
  611. " <td>...</td>\n",
  612. " <td>...</td>\n",
  613. " <td>...</td>\n",
  614. " </tr>\n",
  615. " <tr>\n",
  616. " <th>854494</th>\n",
  617. " <td>tt9915872</td>\n",
  618. " <td>2000-2020</td>\n",
  619. " <td>2019</td>\n",
  620. " <td>97</td>\n",
  621. " <td>6.9</td>\n",
  622. " <td>8</td>\n",
  623. " <td>actress</td>\n",
  624. " </tr>\n",
  625. " <tr>\n",
  626. " <th>854507</th>\n",
  627. " <td>tt9916538</td>\n",
  628. " <td>2000-2020</td>\n",
  629. " <td>2019</td>\n",
  630. " <td>123</td>\n",
  631. " <td>8.3</td>\n",
  632. " <td>6</td>\n",
  633. " <td>actress</td>\n",
  634. " </tr>\n",
  635. " <tr>\n",
  636. " <th>854508</th>\n",
  637. " <td>tt9916538</td>\n",
  638. " <td>2000-2020</td>\n",
  639. " <td>2019</td>\n",
  640. " <td>123</td>\n",
  641. " <td>8.3</td>\n",
  642. " <td>6</td>\n",
  643. " <td>actress</td>\n",
  644. " </tr>\n",
  645. " <tr>\n",
  646. " <th>854509</th>\n",
  647. " <td>tt9916538</td>\n",
  648. " <td>2000-2020</td>\n",
  649. " <td>2019</td>\n",
  650. " <td>123</td>\n",
  651. " <td>8.3</td>\n",
  652. " <td>6</td>\n",
  653. " <td>actor</td>\n",
  654. " </tr>\n",
  655. " <tr>\n",
  656. " <th>854510</th>\n",
  657. " <td>tt9916538</td>\n",
  658. " <td>2000-2020</td>\n",
  659. " <td>2019</td>\n",
  660. " <td>123</td>\n",
  661. " <td>8.3</td>\n",
  662. " <td>6</td>\n",
  663. " <td>actress</td>\n",
  664. " </tr>\n",
  665. " </tbody>\n",
  666. "</table>\n",
  667. "<p>545043 rows × 7 columns</p>\n",
  668. "</div>"
  669. ],
  670. "text/plain": [
  671. " tconst year_span startYear runtimeMinutes averageRating \\\n",
  672. "2495 tt0011216 2000-2020 2019 67 6.9 \n",
  673. "2496 tt0011216 2000-2020 2019 67 6.9 \n",
  674. "2497 tt0011216 2000-2020 2019 67 6.9 \n",
  675. "2498 tt0011216 2000-2020 2019 67 6.9 \n",
  676. "6056 tt0015724 1980-2000 1993 102 6.2 \n",
  677. "... ... ... ... ... ... \n",
  678. "854494 tt9915872 2000-2020 2019 97 6.9 \n",
  679. "854507 tt9916538 2000-2020 2019 123 8.3 \n",
  680. "854508 tt9916538 2000-2020 2019 123 8.3 \n",
  681. "854509 tt9916538 2000-2020 2019 123 8.3 \n",
  682. "854510 tt9916538 2000-2020 2019 123 8.3 \n",
  683. "\n",
  684. " numVotes category \n",
  685. "2495 30 actress \n",
  686. "2496 30 actor \n",
  687. "2497 30 actor \n",
  688. "2498 30 actor \n",
  689. "6056 25 actor \n",
  690. "... ... ... \n",
  691. "854494 8 actress \n",
  692. "854507 6 actress \n",
  693. "854508 6 actress \n",
  694. "854509 6 actor \n",
  695. "854510 6 actress \n",
  696. "\n",
  697. "[545043 rows x 7 columns]"
  698. ]
  699. },
  700. "metadata": {},
  701. "output_type": "display_data"
  702. }
  703. ],
  704. "source": [
  705. "year_span_presplit = f\"{start_year}-{split_year}\"\n",
  706. "year_span_postsplit = f\"{split_year}-{end_year}\"\n",
  707. "year_span = np.where(data_movie['startYear'] < split_year, year_span_presplit, year_span_postsplit)\n",
  708. "data_movie.insert(1, 'year_span' , year_span)\n",
  709. "\n",
  710. "display(data_movie)"
  711. ]
  712. },
  713. {
  714. "cell_type": "markdown",
  715. "metadata": {},
  716. "source": [
  717. "##### Add counts and proportions on crew members"
  718. ]
  719. },
  720. {
  721. "cell_type": "code",
  722. "execution_count": 16,
  723. "metadata": {},
  724. "outputs": [
  725. {
  726. "data": {
  727. "text/html": [
  728. "<div>\n",
  729. "<style scoped>\n",
  730. " .dataframe tbody tr th:only-of-type {\n",
  731. " vertical-align: middle;\n",
  732. " }\n",
  733. "\n",
  734. " .dataframe tbody tr th {\n",
  735. " vertical-align: top;\n",
  736. " }\n",
  737. "\n",
  738. " .dataframe thead th {\n",
  739. " text-align: right;\n",
  740. " }\n",
  741. "</style>\n",
  742. "<table border=\"1\" class=\"dataframe\">\n",
  743. " <thead>\n",
  744. " <tr style=\"text-align: right;\">\n",
  745. " <th>category</th>\n",
  746. " <th>tconst</th>\n",
  747. " <th>num_actors</th>\n",
  748. " <th>num_actresses</th>\n",
  749. " <th>prop_actors</th>\n",
  750. " <th>prop_actresses</th>\n",
  751. " </tr>\n",
  752. " </thead>\n",
  753. " <tbody>\n",
  754. " <tr>\n",
  755. " <th>0</th>\n",
  756. " <td>tt0011216</td>\n",
  757. " <td>3</td>\n",
  758. " <td>1</td>\n",
  759. " <td>0.75</td>\n",
  760. " <td>0.25</td>\n",
  761. " </tr>\n",
  762. " <tr>\n",
  763. " <th>1</th>\n",
  764. " <td>tt0015724</td>\n",
  765. " <td>2</td>\n",
  766. " <td>2</td>\n",
  767. " <td>0.50</td>\n",
  768. " <td>0.50</td>\n",
  769. " </tr>\n",
  770. " <tr>\n",
  771. " <th>2</th>\n",
  772. " <td>tt0035423</td>\n",
  773. " <td>3</td>\n",
  774. " <td>1</td>\n",
  775. " <td>0.75</td>\n",
  776. " <td>0.25</td>\n",
  777. " </tr>\n",
  778. " <tr>\n",
  779. " <th>3</th>\n",
  780. " <td>tt0036177</td>\n",
  781. " <td>3</td>\n",
  782. " <td>1</td>\n",
  783. " <td>0.75</td>\n",
  784. " <td>0.25</td>\n",
  785. " </tr>\n",
  786. " <tr>\n",
  787. " <th>4</th>\n",
  788. " <td>tt0036606</td>\n",
  789. " <td>3</td>\n",
  790. " <td>1</td>\n",
  791. " <td>0.75</td>\n",
  792. " <td>0.25</td>\n",
  793. " </tr>\n",
  794. " <tr>\n",
  795. " <th>...</th>\n",
  796. " <td>...</td>\n",
  797. " <td>...</td>\n",
  798. " <td>...</td>\n",
  799. " <td>...</td>\n",
  800. " <td>...</td>\n",
  801. " </tr>\n",
  802. " <tr>\n",
  803. " <th>129988</th>\n",
  804. " <td>tt9913936</td>\n",
  805. " <td>4</td>\n",
  806. " <td>0</td>\n",
  807. " <td>1.00</td>\n",
  808. " <td>0.00</td>\n",
  809. " </tr>\n",
  810. " <tr>\n",
  811. " <th>129989</th>\n",
  812. " <td>tt9914286</td>\n",
  813. " <td>3</td>\n",
  814. " <td>1</td>\n",
  815. " <td>0.75</td>\n",
  816. " <td>0.25</td>\n",
  817. " </tr>\n",
  818. " <tr>\n",
  819. " <th>129990</th>\n",
  820. " <td>tt9914942</td>\n",
  821. " <td>3</td>\n",
  822. " <td>1</td>\n",
  823. " <td>0.75</td>\n",
  824. " <td>0.25</td>\n",
  825. " </tr>\n",
  826. " <tr>\n",
  827. " <th>129991</th>\n",
  828. " <td>tt9915872</td>\n",
  829. " <td>0</td>\n",
  830. " <td>2</td>\n",
  831. " <td>0.00</td>\n",
  832. " <td>1.00</td>\n",
  833. " </tr>\n",
  834. " <tr>\n",
  835. " <th>129992</th>\n",
  836. " <td>tt9916538</td>\n",
  837. " <td>1</td>\n",
  838. " <td>3</td>\n",
  839. " <td>0.25</td>\n",
  840. " <td>0.75</td>\n",
  841. " </tr>\n",
  842. " </tbody>\n",
  843. "</table>\n",
  844. "<p>129993 rows × 5 columns</p>\n",
  845. "</div>"
  846. ],
  847. "text/plain": [
  848. "category tconst num_actors num_actresses prop_actors prop_actresses\n",
  849. "0 tt0011216 3 1 0.75 0.25\n",
  850. "1 tt0015724 2 2 0.50 0.50\n",
  851. "2 tt0035423 3 1 0.75 0.25\n",
  852. "3 tt0036177 3 1 0.75 0.25\n",
  853. "4 tt0036606 3 1 0.75 0.25\n",
  854. "... ... ... ... ... ...\n",
  855. "129988 tt9913936 4 0 1.00 0.00\n",
  856. "129989 tt9914286 3 1 0.75 0.25\n",
  857. "129990 tt9914942 3 1 0.75 0.25\n",
  858. "129991 tt9915872 0 2 0.00 1.00\n",
  859. "129992 tt9916538 1 3 0.25 0.75\n",
  860. "\n",
  861. "[129993 rows x 5 columns]"
  862. ]
  863. },
  864. "execution_count": 16,
  865. "metadata": {},
  866. "output_type": "execute_result"
  867. }
  868. ],
  869. "source": [
  870. "data_cast_numbers = pd.crosstab(data_movie['tconst'], data_movie['category']).reset_index().rename(columns = {\n",
  871. " 'actor':'num_actors',\n",
  872. " 'actress':'num_actresses',\n",
  873. "})\n",
  874. "\n",
  875. "data_cast_proportion = data_movie.groupby(['tconst'])['category'].value_counts(normalize=True).unstack().reset_index().fillna(0).rename(columns = {\n",
  876. " 'actor':'prop_actors',\n",
  877. " 'actress':'prop_actresses',\n",
  878. "})\n",
  879. "\n",
  880. "data_cast_gender_stat = pd.merge(data_cast_numbers, data_cast_proportion)\n",
  881. "data_cast_gender_stat"
  882. ]
  883. },
  884. {
  885. "cell_type": "code",
  886. "execution_count": 17,
  887. "metadata": {},
  888. "outputs": [
  889. {
  890. "data": {
  891. "text/html": [
  892. "<div>\n",
  893. "<style scoped>\n",
  894. " .dataframe tbody tr th:only-of-type {\n",
  895. " vertical-align: middle;\n",
  896. " }\n",
  897. "\n",
  898. " .dataframe tbody tr th {\n",
  899. " vertical-align: top;\n",
  900. " }\n",
  901. "\n",
  902. " .dataframe thead th {\n",
  903. " text-align: right;\n",
  904. " }\n",
  905. "</style>\n",
  906. "<table border=\"1\" class=\"dataframe\">\n",
  907. " <thead>\n",
  908. " <tr style=\"text-align: right;\">\n",
  909. " <th></th>\n",
  910. " <th>tconst</th>\n",
  911. " <th>year_span</th>\n",
  912. " <th>startYear</th>\n",
  913. " <th>runtimeMinutes</th>\n",
  914. " <th>averageRating</th>\n",
  915. " <th>numVotes</th>\n",
  916. " </tr>\n",
  917. " </thead>\n",
  918. " <tbody>\n",
  919. " <tr>\n",
  920. " <th>0</th>\n",
  921. " <td>tt0011216</td>\n",
  922. " <td>2000-2020</td>\n",
  923. " <td>2019</td>\n",
  924. " <td>67</td>\n",
  925. " <td>6.9</td>\n",
  926. " <td>30</td>\n",
  927. " </tr>\n",
  928. " <tr>\n",
  929. " <th>1</th>\n",
  930. " <td>tt0015724</td>\n",
  931. " <td>1980-2000</td>\n",
  932. " <td>1993</td>\n",
  933. " <td>102</td>\n",
  934. " <td>6.2</td>\n",
  935. " <td>25</td>\n",
  936. " </tr>\n",
  937. " <tr>\n",
  938. " <th>2</th>\n",
  939. " <td>tt0035423</td>\n",
  940. " <td>2000-2020</td>\n",
  941. " <td>2001</td>\n",
  942. " <td>118</td>\n",
  943. " <td>6.4</td>\n",
  944. " <td>82687</td>\n",
  945. " </tr>\n",
  946. " <tr>\n",
  947. " <th>3</th>\n",
  948. " <td>tt0036177</td>\n",
  949. " <td>2000-2020</td>\n",
  950. " <td>2008</td>\n",
  951. " <td>100</td>\n",
  952. " <td>7.3</td>\n",
  953. " <td>118</td>\n",
  954. " </tr>\n",
  955. " <tr>\n",
  956. " <th>4</th>\n",
  957. " <td>tt0036606</td>\n",
  958. " <td>1980-2000</td>\n",
  959. " <td>1983</td>\n",
  960. " <td>118</td>\n",
  961. " <td>6.5</td>\n",
  962. " <td>312</td>\n",
  963. " </tr>\n",
  964. " <tr>\n",
  965. " <th>...</th>\n",
  966. " <td>...</td>\n",
  967. " <td>...</td>\n",
  968. " <td>...</td>\n",
  969. " <td>...</td>\n",
  970. " <td>...</td>\n",
  971. " <td>...</td>\n",
  972. " </tr>\n",
  973. " <tr>\n",
  974. " <th>129988</th>\n",
  975. " <td>tt9913936</td>\n",
  976. " <td>2000-2020</td>\n",
  977. " <td>2019</td>\n",
  978. " <td>135</td>\n",
  979. " <td>7.2</td>\n",
  980. " <td>58</td>\n",
  981. " </tr>\n",
  982. " <tr>\n",
  983. " <th>129989</th>\n",
  984. " <td>tt9914286</td>\n",
  985. " <td>2000-2020</td>\n",
  986. " <td>2019</td>\n",
  987. " <td>98</td>\n",
  988. " <td>7.6</td>\n",
  989. " <td>218</td>\n",
  990. " </tr>\n",
  991. " <tr>\n",
  992. " <th>129990</th>\n",
  993. " <td>tt9914942</td>\n",
  994. " <td>2000-2020</td>\n",
  995. " <td>2019</td>\n",
  996. " <td>74</td>\n",
  997. " <td>6.9</td>\n",
  998. " <td>138</td>\n",
  999. " </tr>\n",
  1000. " <tr>\n",
  1001. " <th>129991</th>\n",
  1002. " <td>tt9915872</td>\n",
  1003. " <td>2000-2020</td>\n",
  1004. " <td>2019</td>\n",
  1005. " <td>97</td>\n",
  1006. " <td>6.9</td>\n",
  1007. " <td>8</td>\n",
  1008. " </tr>\n",
  1009. " <tr>\n",
  1010. " <th>129992</th>\n",
  1011. " <td>tt9916538</td>\n",
  1012. " <td>2000-2020</td>\n",
  1013. " <td>2019</td>\n",
  1014. " <td>123</td>\n",
  1015. " <td>8.3</td>\n",
  1016. " <td>6</td>\n",
  1017. " </tr>\n",
  1018. " </tbody>\n",
  1019. "</table>\n",
  1020. "<p>129993 rows × 6 columns</p>\n",
  1021. "</div>"
  1022. ],
  1023. "text/plain": [
  1024. " tconst year_span startYear runtimeMinutes averageRating \\\n",
  1025. "0 tt0011216 2000-2020 2019 67 6.9 \n",
  1026. "1 tt0015724 1980-2000 1993 102 6.2 \n",
  1027. "2 tt0035423 2000-2020 2001 118 6.4 \n",
  1028. "3 tt0036177 2000-2020 2008 100 7.3 \n",
  1029. "4 tt0036606 1980-2000 1983 118 6.5 \n",
  1030. "... ... ... ... ... ... \n",
  1031. "129988 tt9913936 2000-2020 2019 135 7.2 \n",
  1032. "129989 tt9914286 2000-2020 2019 98 7.6 \n",
  1033. "129990 tt9914942 2000-2020 2019 74 6.9 \n",
  1034. "129991 tt9915872 2000-2020 2019 97 6.9 \n",
  1035. "129992 tt9916538 2000-2020 2019 123 8.3 \n",
  1036. "\n",
  1037. " numVotes \n",
  1038. "0 30 \n",
  1039. "1 25 \n",
  1040. "2 82687 \n",
  1041. "3 118 \n",
  1042. "4 312 \n",
  1043. "... ... \n",
  1044. "129988 58 \n",
  1045. "129989 218 \n",
  1046. "129990 138 \n",
  1047. "129991 8 \n",
  1048. "129992 6 \n",
  1049. "\n",
  1050. "[129993 rows x 6 columns]"
  1051. ]
  1052. },
  1053. "metadata": {},
  1054. "output_type": "display_data"
  1055. },
  1056. {
  1057. "data": {
  1058. "text/html": [
  1059. "<div>\n",
  1060. "<style scoped>\n",
  1061. " .dataframe tbody tr th:only-of-type {\n",
  1062. " vertical-align: middle;\n",
  1063. " }\n",
  1064. "\n",
  1065. " .dataframe tbody tr th {\n",
  1066. " vertical-align: top;\n",
  1067. " }\n",
  1068. "\n",
  1069. " .dataframe thead th {\n",
  1070. " text-align: right;\n",
  1071. " }\n",
  1072. "</style>\n",
  1073. "<table border=\"1\" class=\"dataframe\">\n",
  1074. " <thead>\n",
  1075. " <tr style=\"text-align: right;\">\n",
  1076. " <th></th>\n",
  1077. " <th>tconst</th>\n",
  1078. " <th>year_span</th>\n",
  1079. " <th>startYear</th>\n",
  1080. " <th>runtimeMinutes</th>\n",
  1081. " <th>averageRating</th>\n",
  1082. " <th>numVotes</th>\n",
  1083. " <th>num_actors</th>\n",
  1084. " <th>num_actresses</th>\n",
  1085. " <th>prop_actors</th>\n",
  1086. " <th>prop_actresses</th>\n",
  1087. " </tr>\n",
  1088. " </thead>\n",
  1089. " <tbody>\n",
  1090. " <tr>\n",
  1091. " <th>1</th>\n",
  1092. " <td>tt0015724</td>\n",
  1093. " <td>1980-2000</td>\n",
  1094. " <td>1993</td>\n",
  1095. " <td>102</td>\n",
  1096. " <td>6.2</td>\n",
  1097. " <td>25</td>\n",
  1098. " <td>2</td>\n",
  1099. " <td>2</td>\n",
  1100. " <td>0.50</td>\n",
  1101. " <td>0.50</td>\n",
  1102. " </tr>\n",
  1103. " <tr>\n",
  1104. " <th>4</th>\n",
  1105. " <td>tt0036606</td>\n",
  1106. " <td>1980-2000</td>\n",
  1107. " <td>1983</td>\n",
  1108. " <td>118</td>\n",
  1109. " <td>6.5</td>\n",
  1110. " <td>312</td>\n",
  1111. " <td>3</td>\n",
  1112. " <td>1</td>\n",
  1113. " <td>0.75</td>\n",
  1114. " <td>0.25</td>\n",
  1115. " </tr>\n",
  1116. " <tr>\n",
  1117. " <th>5</th>\n",
  1118. " <td>tt0038687</td>\n",
  1119. " <td>1980-2000</td>\n",
  1120. " <td>1980</td>\n",
  1121. " <td>58</td>\n",
  1122. " <td>7.5</td>\n",
  1123. " <td>1828</td>\n",
  1124. " <td>1</td>\n",
  1125. " <td>0</td>\n",
  1126. " <td>1.00</td>\n",
  1127. " <td>0.00</td>\n",
  1128. " </tr>\n",
  1129. " <tr>\n",
  1130. " <th>6</th>\n",
  1131. " <td>tt0057461</td>\n",
  1132. " <td>1980-2000</td>\n",
  1133. " <td>1983</td>\n",
  1134. " <td>84</td>\n",
  1135. " <td>4.9</td>\n",
  1136. " <td>21</td>\n",
  1137. " <td>4</td>\n",
  1138. " <td>0</td>\n",
  1139. " <td>1.00</td>\n",
  1140. " <td>0.00</td>\n",
  1141. " </tr>\n",
  1142. " <tr>\n",
  1143. " <th>7</th>\n",
  1144. " <td>tt0059325</td>\n",
  1145. " <td>1980-2000</td>\n",
  1146. " <td>1990</td>\n",
  1147. " <td>100</td>\n",
  1148. " <td>6.5</td>\n",
  1149. " <td>240</td>\n",
  1150. " <td>3</td>\n",
  1151. " <td>1</td>\n",
  1152. " <td>0.75</td>\n",
  1153. " <td>0.25</td>\n",
  1154. " </tr>\n",
  1155. " <tr>\n",
  1156. " <th>...</th>\n",
  1157. " <td>...</td>\n",
  1158. " <td>...</td>\n",
  1159. " <td>...</td>\n",
  1160. " <td>...</td>\n",
  1161. " <td>...</td>\n",
  1162. " <td>...</td>\n",
  1163. " <td>...</td>\n",
  1164. " <td>...</td>\n",
  1165. " <td>...</td>\n",
  1166. " <td>...</td>\n",
  1167. " </tr>\n",
  1168. " <tr>\n",
  1169. " <th>129718</th>\n",
  1170. " <td>tt9799878</td>\n",
  1171. " <td>1980-2000</td>\n",
  1172. " <td>1996</td>\n",
  1173. " <td>65</td>\n",
  1174. " <td>1.8</td>\n",
  1175. " <td>41</td>\n",
  1176. " <td>3</td>\n",
  1177. " <td>1</td>\n",
  1178. " <td>0.75</td>\n",
  1179. " <td>0.25</td>\n",
  1180. " </tr>\n",
  1181. " <tr>\n",
  1182. " <th>129797</th>\n",
  1183. " <td>tt9828802</td>\n",
  1184. " <td>1980-2000</td>\n",
  1185. " <td>1980</td>\n",
  1186. " <td>93</td>\n",
  1187. " <td>6.0</td>\n",
  1188. " <td>48</td>\n",
  1189. " <td>3</td>\n",
  1190. " <td>1</td>\n",
  1191. " <td>0.75</td>\n",
  1192. " <td>0.25</td>\n",
  1193. " </tr>\n",
  1194. " <tr>\n",
  1195. " <th>129804</th>\n",
  1196. " <td>tt9832396</td>\n",
  1197. " <td>1980-2000</td>\n",
  1198. " <td>1988</td>\n",
  1199. " <td>71</td>\n",
  1200. " <td>6.0</td>\n",
  1201. " <td>15</td>\n",
  1202. " <td>3</td>\n",
  1203. " <td>1</td>\n",
  1204. " <td>0.75</td>\n",
  1205. " <td>0.25</td>\n",
  1206. " </tr>\n",
  1207. " <tr>\n",
  1208. " <th>129857</th>\n",
  1209. " <td>tt9855210</td>\n",
  1210. " <td>1980-2000</td>\n",
  1211. " <td>1985</td>\n",
  1212. " <td>91</td>\n",
  1213. " <td>7.8</td>\n",
  1214. " <td>5</td>\n",
  1215. " <td>3</td>\n",
  1216. " <td>1</td>\n",
  1217. " <td>0.75</td>\n",
  1218. " <td>0.25</td>\n",
  1219. " </tr>\n",
  1220. " <tr>\n",
  1221. " <th>129892</th>\n",
  1222. " <td>tt9870502</td>\n",
  1223. " <td>1980-2000</td>\n",
  1224. " <td>1994</td>\n",
  1225. " <td>108</td>\n",
  1226. " <td>5.0</td>\n",
  1227. " <td>9</td>\n",
  1228. " <td>3</td>\n",
  1229. " <td>1</td>\n",
  1230. " <td>0.75</td>\n",
  1231. " <td>0.25</td>\n",
  1232. " </tr>\n",
  1233. " </tbody>\n",
  1234. "</table>\n",
  1235. "<p>37339 rows × 10 columns</p>\n",
  1236. "</div>"
  1237. ],
  1238. "text/plain": [
  1239. " tconst year_span startYear runtimeMinutes averageRating \\\n",
  1240. "1 tt0015724 1980-2000 1993 102 6.2 \n",
  1241. "4 tt0036606 1980-2000 1983 118 6.5 \n",
  1242. "5 tt0038687 1980-2000 1980 58 7.5 \n",
  1243. "6 tt0057461 1980-2000 1983 84 4.9 \n",
  1244. "7 tt0059325 1980-2000 1990 100 6.5 \n",
  1245. "... ... ... ... ... ... \n",
  1246. "129718 tt9799878 1980-2000 1996 65 1.8 \n",
  1247. "129797 tt9828802 1980-2000 1980 93 6.0 \n",
  1248. "129804 tt9832396 1980-2000 1988 71 6.0 \n",
  1249. "129857 tt9855210 1980-2000 1985 91 7.8 \n",
  1250. "129892 tt9870502 1980-2000 1994 108 5.0 \n",
  1251. "\n",
  1252. " numVotes num_actors num_actresses prop_actors prop_actresses \n",
  1253. "1 25 2 2 0.50 0.50 \n",
  1254. "4 312 3 1 0.75 0.25 \n",
  1255. "5 1828 1 0 1.00 0.00 \n",
  1256. "6 21 4 0 1.00 0.00 \n",
  1257. "7 240 3 1 0.75 0.25 \n",
  1258. "... ... ... ... ... ... \n",
  1259. "129718 41 3 1 0.75 0.25 \n",
  1260. "129797 48 3 1 0.75 0.25 \n",
  1261. "129804 15 3 1 0.75 0.25 \n",
  1262. "129857 5 3 1 0.75 0.25 \n",
  1263. "129892 9 3 1 0.75 0.25 \n",
  1264. "\n",
  1265. "[37339 rows x 10 columns]"
  1266. ]
  1267. },
  1268. "metadata": {},
  1269. "output_type": "display_data"
  1270. },
  1271. {
  1272. "data": {
  1273. "text/html": [
  1274. "<div>\n",
  1275. "<style scoped>\n",
  1276. " .dataframe tbody tr th:only-of-type {\n",
  1277. " vertical-align: middle;\n",
  1278. " }\n",
  1279. "\n",
  1280. " .dataframe tbody tr th {\n",
  1281. " vertical-align: top;\n",
  1282. " }\n",
  1283. "\n",
  1284. " .dataframe thead th {\n",
  1285. " text-align: right;\n",
  1286. " }\n",
  1287. "</style>\n",
  1288. "<table border=\"1\" class=\"dataframe\">\n",
  1289. " <thead>\n",
  1290. " <tr style=\"text-align: right;\">\n",
  1291. " <th></th>\n",
  1292. " <th>tconst</th>\n",
  1293. " <th>year_span</th>\n",
  1294. " <th>startYear</th>\n",
  1295. " <th>runtimeMinutes</th>\n",
  1296. " <th>averageRating</th>\n",
  1297. " <th>numVotes</th>\n",
  1298. " <th>num_actors</th>\n",
  1299. " <th>num_actresses</th>\n",
  1300. " <th>prop_actors</th>\n",
  1301. " <th>prop_actresses</th>\n",
  1302. " </tr>\n",
  1303. " </thead>\n",
  1304. " <tbody>\n",
  1305. " <tr>\n",
  1306. " <th>0</th>\n",
  1307. " <td>tt0011216</td>\n",
  1308. " <td>2000-2020</td>\n",
  1309. " <td>2019</td>\n",
  1310. " <td>67</td>\n",
  1311. " <td>6.9</td>\n",
  1312. " <td>30</td>\n",
  1313. " <td>3</td>\n",
  1314. " <td>1</td>\n",
  1315. " <td>0.75</td>\n",
  1316. " <td>0.25</td>\n",
  1317. " </tr>\n",
  1318. " <tr>\n",
  1319. " <th>2</th>\n",
  1320. " <td>tt0035423</td>\n",
  1321. " <td>2000-2020</td>\n",
  1322. " <td>2001</td>\n",
  1323. " <td>118</td>\n",
  1324. " <td>6.4</td>\n",
  1325. " <td>82687</td>\n",
  1326. " <td>3</td>\n",
  1327. " <td>1</td>\n",
  1328. " <td>0.75</td>\n",
  1329. " <td>0.25</td>\n",
  1330. " </tr>\n",
  1331. " <tr>\n",
  1332. " <th>3</th>\n",
  1333. " <td>tt0036177</td>\n",
  1334. " <td>2000-2020</td>\n",
  1335. " <td>2008</td>\n",
  1336. " <td>100</td>\n",
  1337. " <td>7.3</td>\n",
  1338. " <td>118</td>\n",
  1339. " <td>3</td>\n",
  1340. " <td>1</td>\n",
  1341. " <td>0.75</td>\n",
  1342. " <td>0.25</td>\n",
  1343. " </tr>\n",
  1344. " <tr>\n",
  1345. " <th>23</th>\n",
  1346. " <td>tt0069049</td>\n",
  1347. " <td>2000-2020</td>\n",
  1348. " <td>2018</td>\n",
  1349. " <td>122</td>\n",
  1350. " <td>6.7</td>\n",
  1351. " <td>7065</td>\n",
  1352. " <td>2</td>\n",
  1353. " <td>2</td>\n",
  1354. " <td>0.50</td>\n",
  1355. " <td>0.50</td>\n",
  1356. " </tr>\n",
  1357. " <tr>\n",
  1358. " <th>2023</th>\n",
  1359. " <td>tt0083721</td>\n",
  1360. " <td>2000-2020</td>\n",
  1361. " <td>2009</td>\n",
  1362. " <td>102</td>\n",
  1363. " <td>6.2</td>\n",
  1364. " <td>55</td>\n",
  1365. " <td>3</td>\n",
  1366. " <td>1</td>\n",
  1367. " <td>0.75</td>\n",
  1368. " <td>0.25</td>\n",
  1369. " </tr>\n",
  1370. " <tr>\n",
  1371. " <th>...</th>\n",
  1372. " <td>...</td>\n",
  1373. " <td>...</td>\n",
  1374. " <td>...</td>\n",
  1375. " <td>...</td>\n",
  1376. " <td>...</td>\n",
  1377. " <td>...</td>\n",
  1378. " <td>...</td>\n",
  1379. " <td>...</td>\n",
  1380. " <td>...</td>\n",
  1381. " <td>...</td>\n",
  1382. " </tr>\n",
  1383. " <tr>\n",
  1384. " <th>129988</th>\n",
  1385. " <td>tt9913936</td>\n",
  1386. " <td>2000-2020</td>\n",
  1387. " <td>2019</td>\n",
  1388. " <td>135</td>\n",
  1389. " <td>7.2</td>\n",
  1390. " <td>58</td>\n",
  1391. " <td>4</td>\n",
  1392. " <td>0</td>\n",
  1393. " <td>1.00</td>\n",
  1394. " <td>0.00</td>\n",
  1395. " </tr>\n",
  1396. " <tr>\n",
  1397. " <th>129989</th>\n",
  1398. " <td>tt9914286</td>\n",
  1399. " <td>2000-2020</td>\n",
  1400. " <td>2019</td>\n",
  1401. " <td>98</td>\n",
  1402. " <td>7.6</td>\n",
  1403. " <td>218</td>\n",
  1404. " <td>3</td>\n",
  1405. " <td>1</td>\n",
  1406. " <td>0.75</td>\n",
  1407. " <td>0.25</td>\n",
  1408. " </tr>\n",
  1409. " <tr>\n",
  1410. " <th>129990</th>\n",
  1411. " <td>tt9914942</td>\n",
  1412. " <td>2000-2020</td>\n",
  1413. " <td>2019</td>\n",
  1414. " <td>74</td>\n",
  1415. " <td>6.9</td>\n",
  1416. " <td>138</td>\n",
  1417. " <td>3</td>\n",
  1418. " <td>1</td>\n",
  1419. " <td>0.75</td>\n",
  1420. " <td>0.25</td>\n",
  1421. " </tr>\n",
  1422. " <tr>\n",
  1423. " <th>129991</th>\n",
  1424. " <td>tt9915872</td>\n",
  1425. " <td>2000-2020</td>\n",
  1426. " <td>2019</td>\n",
  1427. " <td>97</td>\n",
  1428. " <td>6.9</td>\n",
  1429. " <td>8</td>\n",
  1430. " <td>0</td>\n",
  1431. " <td>2</td>\n",
  1432. " <td>0.00</td>\n",
  1433. " <td>1.00</td>\n",
  1434. " </tr>\n",
  1435. " <tr>\n",
  1436. " <th>129992</th>\n",
  1437. " <td>tt9916538</td>\n",
  1438. " <td>2000-2020</td>\n",
  1439. " <td>2019</td>\n",
  1440. " <td>123</td>\n",
  1441. " <td>8.3</td>\n",
  1442. " <td>6</td>\n",
  1443. " <td>1</td>\n",
  1444. " <td>3</td>\n",
  1445. " <td>0.25</td>\n",
  1446. " <td>0.75</td>\n",
  1447. " </tr>\n",
  1448. " </tbody>\n",
  1449. "</table>\n",
  1450. "<p>92654 rows × 10 columns</p>\n",
  1451. "</div>"
  1452. ],
  1453. "text/plain": [
  1454. " tconst year_span startYear runtimeMinutes averageRating \\\n",
  1455. "0 tt0011216 2000-2020 2019 67 6.9 \n",
  1456. "2 tt0035423 2000-2020 2001 118 6.4 \n",
  1457. "3 tt0036177 2000-2020 2008 100 7.3 \n",
  1458. "23 tt0069049 2000-2020 2018 122 6.7 \n",
  1459. "2023 tt0083721 2000-2020 2009 102 6.2 \n",
  1460. "... ... ... ... ... ... \n",
  1461. "129988 tt9913936 2000-2020 2019 135 7.2 \n",
  1462. "129989 tt9914286 2000-2020 2019 98 7.6 \n",
  1463. "129990 tt9914942 2000-2020 2019 74 6.9 \n",
  1464. "129991 tt9915872 2000-2020 2019 97 6.9 \n",
  1465. "129992 tt9916538 2000-2020 2019 123 8.3 \n",
  1466. "\n",
  1467. " numVotes num_actors num_actresses prop_actors prop_actresses \n",
  1468. "0 30 3 1 0.75 0.25 \n",
  1469. "2 82687 3 1 0.75 0.25 \n",
  1470. "3 118 3 1 0.75 0.25 \n",
  1471. "23 7065 2 2 0.50 0.50 \n",
  1472. "2023 55 3 1 0.75 0.25 \n",
  1473. "... ... ... ... ... ... \n",
  1474. "129988 58 4 0 1.00 0.00 \n",
  1475. "129989 218 3 1 0.75 0.25 \n",
  1476. "129990 138 3 1 0.75 0.25 \n",
  1477. "129991 8 0 2 0.00 1.00 \n",
  1478. "129992 6 1 3 0.25 0.75 \n",
  1479. "\n",
  1480. "[92654 rows x 10 columns]"
  1481. ]
  1482. },
  1483. "metadata": {},
  1484. "output_type": "display_data"
  1485. },
  1486. {
  1487. "data": {
  1488. "text/html": [
  1489. "<div>\n",
  1490. "<style scoped>\n",
  1491. " .dataframe tbody tr th:only-of-type {\n",
  1492. " vertical-align: middle;\n",
  1493. " }\n",
  1494. "\n",
  1495. " .dataframe tbody tr th {\n",
  1496. " vertical-align: top;\n",
  1497. " }\n",
  1498. "\n",
  1499. " .dataframe thead th {\n",
  1500. " text-align: right;\n",
  1501. " }\n",
  1502. "</style>\n",
  1503. "<table border=\"1\" class=\"dataframe\">\n",
  1504. " <thead>\n",
  1505. " <tr style=\"text-align: right;\">\n",
  1506. " <th></th>\n",
  1507. " </tr>\n",
  1508. " </thead>\n",
  1509. " <tbody>\n",
  1510. " </tbody>\n",
  1511. "</table>\n",
  1512. "</div>"
  1513. ],
  1514. "text/plain": [
  1515. "Empty DataFrame\n",
  1516. "Columns: []\n",
  1517. "Index: []"
  1518. ]
  1519. },
  1520. "execution_count": 17,
  1521. "metadata": {},
  1522. "output_type": "execute_result"
  1523. }
  1524. ],
  1525. "source": [
  1526. "data_movie_distinct = data_movie.drop(columns=['category']).drop_duplicates(['tconst']).reset_index(drop = True)\n",
  1527. "display(data_movie_distinct)\n",
  1528. "\n",
  1529. "data_movie_gender_stat = pd.merge(data_movie_distinct, data_cast_gender_stat)\n",
  1530. "data_movie_gender_stat.groupby('year_span').apply(display)"
  1531. ]
  1532. },
  1533. {
  1534. "cell_type": "markdown",
  1535. "metadata": {},
  1536. "source": [
  1537. "---"
  1538. ]
  1539. },
  1540. {
  1541. "cell_type": "markdown",
  1542. "metadata": {},
  1543. "source": [
  1544. "##### Split data into their year spans"
  1545. ]
  1546. },
  1547. {
  1548. "cell_type": "code",
  1549. "execution_count": 18,
  1550. "metadata": {},
  1551. "outputs": [],
  1552. "source": [
  1553. "data_movie_gender_stat_timespan_presplit, data_movie_gender_stat_timespan_postsplit = [\n",
  1554. " g for _, g in data_movie_gender_stat.groupby(['year_span'])\n",
  1555. "]"
  1556. ]
  1557. },
  1558. {
  1559. "cell_type": "code",
  1560. "execution_count": 19,
  1561. "metadata": {},
  1562. "outputs": [
  1563. {
  1564. "data": {
  1565. "text/html": [
  1566. "<div>\n",
  1567. "<style scoped>\n",
  1568. " .dataframe tbody tr th:only-of-type {\n",
  1569. " vertical-align: middle;\n",
  1570. " }\n",
  1571. "\n",
  1572. " .dataframe tbody tr th {\n",
  1573. " vertical-align: top;\n",
  1574. " }\n",
  1575. "\n",
  1576. " .dataframe thead th {\n",
  1577. " text-align: right;\n",
  1578. " }\n",
  1579. "</style>\n",
  1580. "<table border=\"1\" class=\"dataframe\">\n",
  1581. " <thead>\n",
  1582. " <tr style=\"text-align: right;\">\n",
  1583. " <th></th>\n",
  1584. " <th>tconst</th>\n",
  1585. " <th>year_span</th>\n",
  1586. " <th>startYear</th>\n",
  1587. " <th>runtimeMinutes</th>\n",
  1588. " <th>averageRating</th>\n",
  1589. " <th>numVotes</th>\n",
  1590. " <th>num_actors</th>\n",
  1591. " <th>num_actresses</th>\n",
  1592. " <th>prop_actors</th>\n",
  1593. " <th>prop_actresses</th>\n",
  1594. " </tr>\n",
  1595. " </thead>\n",
  1596. " <tbody>\n",
  1597. " <tr>\n",
  1598. " <th>1</th>\n",
  1599. " <td>tt0015724</td>\n",
  1600. " <td>1980-2000</td>\n",
  1601. " <td>1993</td>\n",
  1602. " <td>102</td>\n",
  1603. " <td>6.2</td>\n",
  1604. " <td>25</td>\n",
  1605. " <td>2</td>\n",
  1606. " <td>2</td>\n",
  1607. " <td>0.50</td>\n",
  1608. " <td>0.50</td>\n",
  1609. " </tr>\n",
  1610. " <tr>\n",
  1611. " <th>4</th>\n",
  1612. " <td>tt0036606</td>\n",
  1613. " <td>1980-2000</td>\n",
  1614. " <td>1983</td>\n",
  1615. " <td>118</td>\n",
  1616. " <td>6.5</td>\n",
  1617. " <td>312</td>\n",
  1618. " <td>3</td>\n",
  1619. " <td>1</td>\n",
  1620. " <td>0.75</td>\n",
  1621. " <td>0.25</td>\n",
  1622. " </tr>\n",
  1623. " <tr>\n",
  1624. " <th>5</th>\n",
  1625. " <td>tt0038687</td>\n",
  1626. " <td>1980-2000</td>\n",
  1627. " <td>1980</td>\n",
  1628. " <td>58</td>\n",
  1629. " <td>7.5</td>\n",
  1630. " <td>1828</td>\n",
  1631. " <td>1</td>\n",
  1632. " <td>0</td>\n",
  1633. " <td>1.00</td>\n",
  1634. " <td>0.00</td>\n",
  1635. " </tr>\n",
  1636. " <tr>\n",
  1637. " <th>6</th>\n",
  1638. " <td>tt0057461</td>\n",
  1639. " <td>1980-2000</td>\n",
  1640. " <td>1983</td>\n",
  1641. " <td>84</td>\n",
  1642. " <td>4.9</td>\n",
  1643. " <td>21</td>\n",
  1644. " <td>4</td>\n",
  1645. " <td>0</td>\n",
  1646. " <td>1.00</td>\n",
  1647. " <td>0.00</td>\n",
  1648. " </tr>\n",
  1649. " <tr>\n",
  1650. " <th>7</th>\n",
  1651. " <td>tt0059325</td>\n",
  1652. " <td>1980-2000</td>\n",
  1653. " <td>1990</td>\n",
  1654. " <td>100</td>\n",
  1655. " <td>6.5</td>\n",
  1656. " <td>240</td>\n",
  1657. " <td>3</td>\n",
  1658. " <td>1</td>\n",
  1659. " <td>0.75</td>\n",
  1660. " <td>0.25</td>\n",
  1661. " </tr>\n",
  1662. " <tr>\n",
  1663. " <th>...</th>\n",
  1664. " <td>...</td>\n",
  1665. " <td>...</td>\n",
  1666. " <td>...</td>\n",
  1667. " <td>...</td>\n",
  1668. " <td>...</td>\n",
  1669. " <td>...</td>\n",
  1670. " <td>...</td>\n",
  1671. " <td>...</td>\n",
  1672. " <td>...</td>\n",
  1673. " <td>...</td>\n",
  1674. " </tr>\n",
  1675. " <tr>\n",
  1676. " <th>129718</th>\n",
  1677. " <td>tt9799878</td>\n",
  1678. " <td>1980-2000</td>\n",
  1679. " <td>1996</td>\n",
  1680. " <td>65</td>\n",
  1681. " <td>1.8</td>\n",
  1682. " <td>41</td>\n",
  1683. " <td>3</td>\n",
  1684. " <td>1</td>\n",
  1685. " <td>0.75</td>\n",
  1686. " <td>0.25</td>\n",
  1687. " </tr>\n",
  1688. " <tr>\n",
  1689. " <th>129797</th>\n",
  1690. " <td>tt9828802</td>\n",
  1691. " <td>1980-2000</td>\n",
  1692. " <td>1980</td>\n",
  1693. " <td>93</td>\n",
  1694. " <td>6.0</td>\n",
  1695. " <td>48</td>\n",
  1696. " <td>3</td>\n",
  1697. " <td>1</td>\n",
  1698. " <td>0.75</td>\n",
  1699. " <td>0.25</td>\n",
  1700. " </tr>\n",
  1701. " <tr>\n",
  1702. " <th>129804</th>\n",
  1703. " <td>tt9832396</td>\n",
  1704. " <td>1980-2000</td>\n",
  1705. " <td>1988</td>\n",
  1706. " <td>71</td>\n",
  1707. " <td>6.0</td>\n",
  1708. " <td>15</td>\n",
  1709. " <td>3</td>\n",
  1710. " <td>1</td>\n",
  1711. " <td>0.75</td>\n",
  1712. " <td>0.25</td>\n",
  1713. " </tr>\n",
  1714. " <tr>\n",
  1715. " <th>129857</th>\n",
  1716. " <td>tt9855210</td>\n",
  1717. " <td>1980-2000</td>\n",
  1718. " <td>1985</td>\n",
  1719. " <td>91</td>\n",
  1720. " <td>7.8</td>\n",
  1721. " <td>5</td>\n",
  1722. " <td>3</td>\n",
  1723. " <td>1</td>\n",
  1724. " <td>0.75</td>\n",
  1725. " <td>0.25</td>\n",
  1726. " </tr>\n",
  1727. " <tr>\n",
  1728. " <th>129892</th>\n",
  1729. " <td>tt9870502</td>\n",
  1730. " <td>1980-2000</td>\n",
  1731. " <td>1994</td>\n",
  1732. " <td>108</td>\n",
  1733. " <td>5.0</td>\n",
  1734. " <td>9</td>\n",
  1735. " <td>3</td>\n",
  1736. " <td>1</td>\n",
  1737. " <td>0.75</td>\n",
  1738. " <td>0.25</td>\n",
  1739. " </tr>\n",
  1740. " </tbody>\n",
  1741. "</table>\n",
  1742. "<p>37339 rows × 10 columns</p>\n",
  1743. "</div>"
  1744. ],
  1745. "text/plain": [
  1746. " tconst year_span startYear runtimeMinutes averageRating \\\n",
  1747. "1 tt0015724 1980-2000 1993 102 6.2 \n",
  1748. "4 tt0036606 1980-2000 1983 118 6.5 \n",
  1749. "5 tt0038687 1980-2000 1980 58 7.5 \n",
  1750. "6 tt0057461 1980-2000 1983 84 4.9 \n",
  1751. "7 tt0059325 1980-2000 1990 100 6.5 \n",
  1752. "... ... ... ... ... ... \n",
  1753. "129718 tt9799878 1980-2000 1996 65 1.8 \n",
  1754. "129797 tt9828802 1980-2000 1980 93 6.0 \n",
  1755. "129804 tt9832396 1980-2000 1988 71 6.0 \n",
  1756. "129857 tt9855210 1980-2000 1985 91 7.8 \n",
  1757. "129892 tt9870502 1980-2000 1994 108 5.0 \n",
  1758. "\n",
  1759. " numVotes num_actors num_actresses prop_actors prop_actresses \n",
  1760. "1 25 2 2 0.50 0.50 \n",
  1761. "4 312 3 1 0.75 0.25 \n",
  1762. "5 1828 1 0 1.00 0.00 \n",
  1763. "6 21 4 0 1.00 0.00 \n",
  1764. "7 240 3 1 0.75 0.25 \n",
  1765. "... ... ... ... ... ... \n",
  1766. "129718 41 3 1 0.75 0.25 \n",
  1767. "129797 48 3 1 0.75 0.25 \n",
  1768. "129804 15 3 1 0.75 0.25 \n",
  1769. "129857 5 3 1 0.75 0.25 \n",
  1770. "129892 9 3 1 0.75 0.25 \n",
  1771. "\n",
  1772. "[37339 rows x 10 columns]"
  1773. ]
  1774. },
  1775. "metadata": {},
  1776. "output_type": "display_data"
  1777. },
  1778. {
  1779. "data": {
  1780. "text/html": [
  1781. "<div>\n",
  1782. "<style scoped>\n",
  1783. " .dataframe tbody tr th:only-of-type {\n",
  1784. " vertical-align: middle;\n",
  1785. " }\n",
  1786. "\n",
  1787. " .dataframe tbody tr th {\n",
  1788. " vertical-align: top;\n",
  1789. " }\n",
  1790. "\n",
  1791. " .dataframe thead th {\n",
  1792. " text-align: right;\n",
  1793. " }\n",
  1794. "</style>\n",
  1795. "<table border=\"1\" class=\"dataframe\">\n",
  1796. " <thead>\n",
  1797. " <tr style=\"text-align: right;\">\n",
  1798. " <th></th>\n",
  1799. " <th>tconst</th>\n",
  1800. " <th>year_span</th>\n",
  1801. " <th>startYear</th>\n",
  1802. " <th>runtimeMinutes</th>\n",
  1803. " <th>averageRating</th>\n",
  1804. " <th>numVotes</th>\n",
  1805. " <th>num_actors</th>\n",
  1806. " <th>num_actresses</th>\n",
  1807. " <th>prop_actors</th>\n",
  1808. " <th>prop_actresses</th>\n",
  1809. " </tr>\n",
  1810. " </thead>\n",
  1811. " <tbody>\n",
  1812. " <tr>\n",
  1813. " <th>0</th>\n",
  1814. " <td>tt0011216</td>\n",
  1815. " <td>2000-2020</td>\n",
  1816. " <td>2019</td>\n",
  1817. " <td>67</td>\n",
  1818. " <td>6.9</td>\n",
  1819. " <td>30</td>\n",
  1820. " <td>3</td>\n",
  1821. " <td>1</td>\n",
  1822. " <td>0.75</td>\n",
  1823. " <td>0.25</td>\n",
  1824. " </tr>\n",
  1825. " <tr>\n",
  1826. " <th>2</th>\n",
  1827. " <td>tt0035423</td>\n",
  1828. " <td>2000-2020</td>\n",
  1829. " <td>2001</td>\n",
  1830. " <td>118</td>\n",
  1831. " <td>6.4</td>\n",
  1832. " <td>82687</td>\n",
  1833. " <td>3</td>\n",
  1834. " <td>1</td>\n",
  1835. " <td>0.75</td>\n",
  1836. " <td>0.25</td>\n",
  1837. " </tr>\n",
  1838. " <tr>\n",
  1839. " <th>3</th>\n",
  1840. " <td>tt0036177</td>\n",
  1841. " <td>2000-2020</td>\n",
  1842. " <td>2008</td>\n",
  1843. " <td>100</td>\n",
  1844. " <td>7.3</td>\n",
  1845. " <td>118</td>\n",
  1846. " <td>3</td>\n",
  1847. " <td>1</td>\n",
  1848. " <td>0.75</td>\n",
  1849. " <td>0.25</td>\n",
  1850. " </tr>\n",
  1851. " <tr>\n",
  1852. " <th>23</th>\n",
  1853. " <td>tt0069049</td>\n",
  1854. " <td>2000-2020</td>\n",
  1855. " <td>2018</td>\n",
  1856. " <td>122</td>\n",
  1857. " <td>6.7</td>\n",
  1858. " <td>7065</td>\n",
  1859. " <td>2</td>\n",
  1860. " <td>2</td>\n",
  1861. " <td>0.50</td>\n",
  1862. " <td>0.50</td>\n",
  1863. " </tr>\n",
  1864. " <tr>\n",
  1865. " <th>2023</th>\n",
  1866. " <td>tt0083721</td>\n",
  1867. " <td>2000-2020</td>\n",
  1868. " <td>2009</td>\n",
  1869. " <td>102</td>\n",
  1870. " <td>6.2</td>\n",
  1871. " <td>55</td>\n",
  1872. " <td>3</td>\n",
  1873. " <td>1</td>\n",
  1874. " <td>0.75</td>\n",
  1875. " <td>0.25</td>\n",
  1876. " </tr>\n",
  1877. " <tr>\n",
  1878. " <th>...</th>\n",
  1879. " <td>...</td>\n",
  1880. " <td>...</td>\n",
  1881. " <td>...</td>\n",
  1882. " <td>...</td>\n",
  1883. " <td>...</td>\n",
  1884. " <td>...</td>\n",
  1885. " <td>...</td>\n",
  1886. " <td>...</td>\n",
  1887. " <td>...</td>\n",
  1888. " <td>...</td>\n",
  1889. " </tr>\n",
  1890. " <tr>\n",
  1891. " <th>129988</th>\n",
  1892. " <td>tt9913936</td>\n",
  1893. " <td>2000-2020</td>\n",
  1894. " <td>2019</td>\n",
  1895. " <td>135</td>\n",
  1896. " <td>7.2</td>\n",
  1897. " <td>58</td>\n",
  1898. " <td>4</td>\n",
  1899. " <td>0</td>\n",
  1900. " <td>1.00</td>\n",
  1901. " <td>0.00</td>\n",
  1902. " </tr>\n",
  1903. " <tr>\n",
  1904. " <th>129989</th>\n",
  1905. " <td>tt9914286</td>\n",
  1906. " <td>2000-2020</td>\n",
  1907. " <td>2019</td>\n",
  1908. " <td>98</td>\n",
  1909. " <td>7.6</td>\n",
  1910. " <td>218</td>\n",
  1911. " <td>3</td>\n",
  1912. " <td>1</td>\n",
  1913. " <td>0.75</td>\n",
  1914. " <td>0.25</td>\n",
  1915. " </tr>\n",
  1916. " <tr>\n",
  1917. " <th>129990</th>\n",
  1918. " <td>tt9914942</td>\n",
  1919. " <td>2000-2020</td>\n",
  1920. " <td>2019</td>\n",
  1921. " <td>74</td>\n",
  1922. " <td>6.9</td>\n",
  1923. " <td>138</td>\n",
  1924. " <td>3</td>\n",
  1925. " <td>1</td>\n",
  1926. " <td>0.75</td>\n",
  1927. " <td>0.25</td>\n",
  1928. " </tr>\n",
  1929. " <tr>\n",
  1930. " <th>129991</th>\n",
  1931. " <td>tt9915872</td>\n",
  1932. " <td>2000-2020</td>\n",
  1933. " <td>2019</td>\n",
  1934. " <td>97</td>\n",
  1935. " <td>6.9</td>\n",
  1936. " <td>8</td>\n",
  1937. " <td>0</td>\n",
  1938. " <td>2</td>\n",
  1939. " <td>0.00</td>\n",
  1940. " <td>1.00</td>\n",
  1941. " </tr>\n",
  1942. " <tr>\n",
  1943. " <th>129992</th>\n",
  1944. " <td>tt9916538</td>\n",
  1945. " <td>2000-2020</td>\n",
  1946. " <td>2019</td>\n",
  1947. " <td>123</td>\n",
  1948. " <td>8.3</td>\n",
  1949. " <td>6</td>\n",
  1950. " <td>1</td>\n",
  1951. " <td>3</td>\n",
  1952. " <td>0.25</td>\n",
  1953. " <td>0.75</td>\n",
  1954. " </tr>\n",
  1955. " </tbody>\n",
  1956. "</table>\n",
  1957. "<p>92654 rows × 10 columns</p>\n",
  1958. "</div>"
  1959. ],
  1960. "text/plain": [
  1961. " tconst year_span startYear runtimeMinutes averageRating \\\n",
  1962. "0 tt0011216 2000-2020 2019 67 6.9 \n",
  1963. "2 tt0035423 2000-2020 2001 118 6.4 \n",
  1964. "3 tt0036177 2000-2020 2008 100 7.3 \n",
  1965. "23 tt0069049 2000-2020 2018 122 6.7 \n",
  1966. "2023 tt0083721 2000-2020 2009 102 6.2 \n",
  1967. "... ... ... ... ... ... \n",
  1968. "129988 tt9913936 2000-2020 2019 135 7.2 \n",
  1969. "129989 tt9914286 2000-2020 2019 98 7.6 \n",
  1970. "129990 tt9914942 2000-2020 2019 74 6.9 \n",
  1971. "129991 tt9915872 2000-2020 2019 97 6.9 \n",
  1972. "129992 tt9916538 2000-2020 2019 123 8.3 \n",
  1973. "\n",
  1974. " numVotes num_actors num_actresses prop_actors prop_actresses \n",
  1975. "0 30 3 1 0.75 0.25 \n",
  1976. "2 82687 3 1 0.75 0.25 \n",
  1977. "3 118 3 1 0.75 0.25 \n",
  1978. "23 7065 2 2 0.50 0.50 \n",
  1979. "2023 55 3 1 0.75 0.25 \n",
  1980. "... ... ... ... ... ... \n",
  1981. "129988 58 4 0 1.00 0.00 \n",
  1982. "129989 218 3 1 0.75 0.25 \n",
  1983. "129990 138 3 1 0.75 0.25 \n",
  1984. "129991 8 0 2 0.00 1.00 \n",
  1985. "129992 6 1 3 0.25 0.75 \n",
  1986. "\n",
  1987. "[92654 rows x 10 columns]"
  1988. ]
  1989. },
  1990. "metadata": {},
  1991. "output_type": "display_data"
  1992. }
  1993. ],
  1994. "source": [
  1995. "display(data_movie_gender_stat_timespan_presplit)\n",
  1996. "display(data_movie_gender_stat_timespan_postsplit)"
  1997. ]
  1998. },
  1999. {
  2000. "cell_type": "code",
  2001. "execution_count": 20,
  2002. "metadata": {},
  2003. "outputs": [
  2004. {
  2005. "data": {
  2006. "text/html": [
  2007. "<div>\n",
  2008. "<style scoped>\n",
  2009. " .dataframe tbody tr th:only-of-type {\n",
  2010. " vertical-align: middle;\n",
  2011. " }\n",
  2012. "\n",
  2013. " .dataframe tbody tr th {\n",
  2014. " vertical-align: top;\n",
  2015. " }\n",
  2016. "\n",
  2017. " .dataframe thead th {\n",
  2018. " text-align: right;\n",
  2019. " }\n",
  2020. "</style>\n",
  2021. "<table border=\"1\" class=\"dataframe\">\n",
  2022. " <thead>\n",
  2023. " <tr style=\"text-align: right;\">\n",
  2024. " <th></th>\n",
  2025. " <th>startYear</th>\n",
  2026. " <th>runtimeMinutes</th>\n",
  2027. " <th>averageRating</th>\n",
  2028. " <th>numVotes</th>\n",
  2029. " <th>num_actors</th>\n",
  2030. " <th>num_actresses</th>\n",
  2031. " <th>prop_actors</th>\n",
  2032. " <th>prop_actresses</th>\n",
  2033. " </tr>\n",
  2034. " </thead>\n",
  2035. " <tbody>\n",
  2036. " <tr>\n",
  2037. " <th>count</th>\n",
  2038. " <td>37339.000000</td>\n",
  2039. " <td>37339.000000</td>\n",
  2040. " <td>37339.000000</td>\n",
  2041. " <td>3.733900e+04</td>\n",
  2042. " <td>37339.000000</td>\n",
  2043. " <td>37339.000000</td>\n",
  2044. " <td>37339.000000</td>\n",
  2045. " <td>37339.000000</td>\n",
  2046. " </tr>\n",
  2047. " <tr>\n",
  2048. " <th>mean</th>\n",
  2049. " <td>1989.652133</td>\n",
  2050. " <td>94.122258</td>\n",
  2051. " <td>5.888034</td>\n",
  2052. " <td>4.388853e+03</td>\n",
  2053. " <td>2.715847</td>\n",
  2054. " <td>1.667720</td>\n",
  2055. " <td>0.623368</td>\n",
  2056. " <td>0.376632</td>\n",
  2057. " </tr>\n",
  2058. " <tr>\n",
  2059. " <th>std</th>\n",
  2060. " <td>5.796338</td>\n",
  2061. " <td>14.771530</td>\n",
  2062. " <td>1.203386</td>\n",
  2063. " <td>3.438555e+04</td>\n",
  2064. " <td>1.217245</td>\n",
  2065. " <td>1.127883</td>\n",
  2066. " <td>0.227290</td>\n",
  2067. " <td>0.227290</td>\n",
  2068. " </tr>\n",
  2069. " <tr>\n",
  2070. " <th>min</th>\n",
  2071. " <td>1980.000000</td>\n",
  2072. " <td>52.000000</td>\n",
  2073. " <td>1.000000</td>\n",
  2074. " <td>5.000000e+00</td>\n",
  2075. " <td>0.000000</td>\n",
  2076. " <td>0.000000</td>\n",
  2077. " <td>0.000000</td>\n",
  2078. " <td>0.000000</td>\n",
  2079. " </tr>\n",
  2080. " <tr>\n",
  2081. " <th>25%</th>\n",
  2082. " <td>1985.000000</td>\n",
  2083. " <td>86.000000</td>\n",
  2084. " <td>5.100000</td>\n",
  2085. " <td>2.400000e+01</td>\n",
  2086. " <td>2.000000</td>\n",
  2087. " <td>1.000000</td>\n",
  2088. " <td>0.500000</td>\n",
  2089. " <td>0.250000</td>\n",
  2090. " </tr>\n",
  2091. " <tr>\n",
  2092. " <th>50%</th>\n",
  2093. " <td>1989.000000</td>\n",
  2094. " <td>92.000000</td>\n",
  2095. " <td>6.000000</td>\n",
  2096. " <td>8.500000e+01</td>\n",
  2097. " <td>3.000000</td>\n",
  2098. " <td>2.000000</td>\n",
  2099. " <td>0.666667</td>\n",
  2100. " <td>0.333333</td>\n",
  2101. " </tr>\n",
  2102. " <tr>\n",
  2103. " <th>75%</th>\n",
  2104. " <td>1995.000000</td>\n",
  2105. " <td>102.000000</td>\n",
  2106. " <td>6.800000</td>\n",
  2107. " <td>4.130000e+02</td>\n",
  2108. " <td>3.000000</td>\n",
  2109. " <td>2.000000</td>\n",
  2110. " <td>0.750000</td>\n",
  2111. " <td>0.500000</td>\n",
  2112. " </tr>\n",
  2113. " <tr>\n",
  2114. " <th>max</th>\n",
  2115. " <td>1999.000000</td>\n",
  2116. " <td>135.000000</td>\n",
  2117. " <td>9.700000</td>\n",
  2118. " <td>1.555039e+06</td>\n",
  2119. " <td>9.000000</td>\n",
  2120. " <td>9.000000</td>\n",
  2121. " <td>1.000000</td>\n",
  2122. " <td>1.000000</td>\n",
  2123. " </tr>\n",
  2124. " </tbody>\n",
  2125. "</table>\n",
  2126. "</div>"
  2127. ],
  2128. "text/plain": [
  2129. " startYear runtimeMinutes averageRating numVotes \\\n",
  2130. "count 37339.000000 37339.000000 37339.000000 3.733900e+04 \n",
  2131. "mean 1989.652133 94.122258 5.888034 4.388853e+03 \n",
  2132. "std 5.796338 14.771530 1.203386 3.438555e+04 \n",
  2133. "min 1980.000000 52.000000 1.000000 5.000000e+00 \n",
  2134. "25% 1985.000000 86.000000 5.100000 2.400000e+01 \n",
  2135. "50% 1989.000000 92.000000 6.000000 8.500000e+01 \n",
  2136. "75% 1995.000000 102.000000 6.800000 4.130000e+02 \n",
  2137. "max 1999.000000 135.000000 9.700000 1.555039e+06 \n",
  2138. "\n",
  2139. " num_actors num_actresses prop_actors prop_actresses \n",
  2140. "count 37339.000000 37339.000000 37339.000000 37339.000000 \n",
  2141. "mean 2.715847 1.667720 0.623368 0.376632 \n",
  2142. "std 1.217245 1.127883 0.227290 0.227290 \n",
  2143. "min 0.000000 0.000000 0.000000 0.000000 \n",
  2144. "25% 2.000000 1.000000 0.500000 0.250000 \n",
  2145. "50% 3.000000 2.000000 0.666667 0.333333 \n",
  2146. "75% 3.000000 2.000000 0.750000 0.500000 \n",
  2147. "max 9.000000 9.000000 1.000000 1.000000 "
  2148. ]
  2149. },
  2150. "metadata": {},
  2151. "output_type": "display_data"
  2152. },
  2153. {
  2154. "data": {
  2155. "text/html": [
  2156. "<div>\n",
  2157. "<style scoped>\n",
  2158. " .dataframe tbody tr th:only-of-type {\n",
  2159. " vertical-align: middle;\n",
  2160. " }\n",
  2161. "\n",
  2162. " .dataframe tbody tr th {\n",
  2163. " vertical-align: top;\n",
  2164. " }\n",
  2165. "\n",
  2166. " .dataframe thead th {\n",
  2167. " text-align: right;\n",
  2168. " }\n",
  2169. "</style>\n",
  2170. "<table border=\"1\" class=\"dataframe\">\n",
  2171. " <thead>\n",
  2172. " <tr style=\"text-align: right;\">\n",
  2173. " <th></th>\n",
  2174. " <th>startYear</th>\n",
  2175. " <th>runtimeMinutes</th>\n",
  2176. " <th>averageRating</th>\n",
  2177. " <th>numVotes</th>\n",
  2178. " <th>num_actors</th>\n",
  2179. " <th>num_actresses</th>\n",
  2180. " <th>prop_actors</th>\n",
  2181. " <th>prop_actresses</th>\n",
  2182. " </tr>\n",
  2183. " </thead>\n",
  2184. " <tbody>\n",
  2185. " <tr>\n",
  2186. " <th>count</th>\n",
  2187. " <td>92654.000000</td>\n",
  2188. " <td>92654.000000</td>\n",
  2189. " <td>92654.000000</td>\n",
  2190. " <td>9.265400e+04</td>\n",
  2191. " <td>92654.000000</td>\n",
  2192. " <td>92654.000000</td>\n",
  2193. " <td>92654.000000</td>\n",
  2194. " <td>92654.000000</td>\n",
  2195. " </tr>\n",
  2196. " <tr>\n",
  2197. " <th>mean</th>\n",
  2198. " <td>2011.457552</td>\n",
  2199. " <td>93.993514</td>\n",
  2200. " <td>5.951174</td>\n",
  2201. " <td>5.469363e+03</td>\n",
  2202. " <td>2.550392</td>\n",
  2203. " <td>1.565620</td>\n",
  2204. " <td>0.624090</td>\n",
  2205. " <td>0.375910</td>\n",
  2206. " </tr>\n",
  2207. " <tr>\n",
  2208. " <th>std</th>\n",
  2209. " <td>5.393341</td>\n",
  2210. " <td>16.013381</td>\n",
  2211. " <td>1.373883</td>\n",
  2212. " <td>3.664108e+04</td>\n",
  2213. " <td>1.248609</td>\n",
  2214. " <td>1.088531</td>\n",
  2215. " <td>0.247325</td>\n",
  2216. " <td>0.247325</td>\n",
  2217. " </tr>\n",
  2218. " <tr>\n",
  2219. " <th>min</th>\n",
  2220. " <td>2000.000000</td>\n",
  2221. " <td>52.000000</td>\n",
  2222. " <td>1.000000</td>\n",
  2223. " <td>5.000000e+00</td>\n",
  2224. " <td>0.000000</td>\n",
  2225. " <td>0.000000</td>\n",
  2226. " <td>0.000000</td>\n",
  2227. " <td>0.000000</td>\n",
  2228. " </tr>\n",
  2229. " <tr>\n",
  2230. " <th>25%</th>\n",
  2231. " <td>2007.000000</td>\n",
  2232. " <td>85.000000</td>\n",
  2233. " <td>5.100000</td>\n",
  2234. " <td>2.700000e+01</td>\n",
  2235. " <td>2.000000</td>\n",
  2236. " <td>1.000000</td>\n",
  2237. " <td>0.500000</td>\n",
  2238. " <td>0.250000</td>\n",
  2239. " </tr>\n",
  2240. " <tr>\n",
  2241. " <th>50%</th>\n",
  2242. " <td>2012.000000</td>\n",
  2243. " <td>93.000000</td>\n",
  2244. " <td>6.100000</td>\n",
  2245. " <td>1.150000e+02</td>\n",
  2246. " <td>2.000000</td>\n",
  2247. " <td>1.000000</td>\n",
  2248. " <td>0.666667</td>\n",
  2249. " <td>0.333333</td>\n",
  2250. " </tr>\n",
  2251. " <tr>\n",
  2252. " <th>75%</th>\n",
  2253. " <td>2016.000000</td>\n",
  2254. " <td>104.000000</td>\n",
  2255. " <td>6.900000</td>\n",
  2256. " <td>5.990000e+02</td>\n",
  2257. " <td>3.000000</td>\n",
  2258. " <td>2.000000</td>\n",
  2259. " <td>0.750000</td>\n",
  2260. " <td>0.500000</td>\n",
  2261. " </tr>\n",
  2262. " <tr>\n",
  2263. " <th>max</th>\n",
  2264. " <td>2019.000000</td>\n",
  2265. " <td>135.000000</td>\n",
  2266. " <td>10.000000</td>\n",
  2267. " <td>1.272676e+06</td>\n",
  2268. " <td>10.000000</td>\n",
  2269. " <td>9.000000</td>\n",
  2270. " <td>1.000000</td>\n",
  2271. " <td>1.000000</td>\n",
  2272. " </tr>\n",
  2273. " </tbody>\n",
  2274. "</table>\n",
  2275. "</div>"
  2276. ],
  2277. "text/plain": [
  2278. " startYear runtimeMinutes averageRating numVotes \\\n",
  2279. "count 92654.000000 92654.000000 92654.000000 9.265400e+04 \n",
  2280. "mean 2011.457552 93.993514 5.951174 5.469363e+03 \n",
  2281. "std 5.393341 16.013381 1.373883 3.664108e+04 \n",
  2282. "min 2000.000000 52.000000 1.000000 5.000000e+00 \n",
  2283. "25% 2007.000000 85.000000 5.100000 2.700000e+01 \n",
  2284. "50% 2012.000000 93.000000 6.100000 1.150000e+02 \n",
  2285. "75% 2016.000000 104.000000 6.900000 5.990000e+02 \n",
  2286. "max 2019.000000 135.000000 10.000000 1.272676e+06 \n",
  2287. "\n",
  2288. " num_actors num_actresses prop_actors prop_actresses \n",
  2289. "count 92654.000000 92654.000000 92654.000000 92654.000000 \n",
  2290. "mean 2.550392 1.565620 0.624090 0.375910 \n",
  2291. "std 1.248609 1.088531 0.247325 0.247325 \n",
  2292. "min 0.000000 0.000000 0.000000 0.000000 \n",
  2293. "25% 2.000000 1.000000 0.500000 0.250000 \n",
  2294. "50% 2.000000 1.000000 0.666667 0.333333 \n",
  2295. "75% 3.000000 2.000000 0.750000 0.500000 \n",
  2296. "max 10.000000 9.000000 1.000000 1.000000 "
  2297. ]
  2298. },
  2299. "metadata": {},
  2300. "output_type": "display_data"
  2301. }
  2302. ],
  2303. "source": [
  2304. "display(data_movie_gender_stat_timespan_presplit.describe())\n",
  2305. "display(data_movie_gender_stat_timespan_postsplit.describe())"
  2306. ]
  2307. },
  2308. {
  2309. "cell_type": "markdown",
  2310. "metadata": {},
  2311. "source": [
  2312. "---"
  2313. ]
  2314. },
  2315. {
  2316. "cell_type": "markdown",
  2317. "metadata": {},
  2318. "source": [
  2319. "##### Reduce data to proportion of actresses"
  2320. ]
  2321. },
  2322. {
  2323. "cell_type": "code",
  2324. "execution_count": 21,
  2325. "metadata": {},
  2326. "outputs": [
  2327. {
  2328. "data": {
  2329. "text/html": [
  2330. "<div>\n",
  2331. "<style scoped>\n",
  2332. " .dataframe tbody tr th:only-of-type {\n",
  2333. " vertical-align: middle;\n",
  2334. " }\n",
  2335. "\n",
  2336. " .dataframe tbody tr th {\n",
  2337. " vertical-align: top;\n",
  2338. " }\n",
  2339. "\n",
  2340. " .dataframe thead th {\n",
  2341. " text-align: right;\n",
  2342. " }\n",
  2343. "</style>\n",
  2344. "<table border=\"1\" class=\"dataframe\">\n",
  2345. " <thead>\n",
  2346. " <tr style=\"text-align: right;\">\n",
  2347. " <th></th>\n",
  2348. " <th>prop_actresses</th>\n",
  2349. " </tr>\n",
  2350. " </thead>\n",
  2351. " <tbody>\n",
  2352. " <tr>\n",
  2353. " <th>0</th>\n",
  2354. " <td>0.50</td>\n",
  2355. " </tr>\n",
  2356. " <tr>\n",
  2357. " <th>1</th>\n",
  2358. " <td>0.25</td>\n",
  2359. " </tr>\n",
  2360. " <tr>\n",
  2361. " <th>2</th>\n",
  2362. " <td>0.00</td>\n",
  2363. " </tr>\n",
  2364. " <tr>\n",
  2365. " <th>3</th>\n",
  2366. " <td>0.00</td>\n",
  2367. " </tr>\n",
  2368. " <tr>\n",
  2369. " <th>4</th>\n",
  2370. " <td>0.25</td>\n",
  2371. " </tr>\n",
  2372. " <tr>\n",
  2373. " <th>...</th>\n",
  2374. " <td>...</td>\n",
  2375. " </tr>\n",
  2376. " <tr>\n",
  2377. " <th>37334</th>\n",
  2378. " <td>0.25</td>\n",
  2379. " </tr>\n",
  2380. " <tr>\n",
  2381. " <th>37335</th>\n",
  2382. " <td>0.25</td>\n",
  2383. " </tr>\n",
  2384. " <tr>\n",
  2385. " <th>37336</th>\n",
  2386. " <td>0.25</td>\n",
  2387. " </tr>\n",
  2388. " <tr>\n",
  2389. " <th>37337</th>\n",
  2390. " <td>0.25</td>\n",
  2391. " </tr>\n",
  2392. " <tr>\n",
  2393. " <th>37338</th>\n",
  2394. " <td>0.25</td>\n",
  2395. " </tr>\n",
  2396. " </tbody>\n",
  2397. "</table>\n",
  2398. "<p>37339 rows × 1 columns</p>\n",
  2399. "</div>"
  2400. ],
  2401. "text/plain": [
  2402. " prop_actresses\n",
  2403. "0 0.50\n",
  2404. "1 0.25\n",
  2405. "2 0.00\n",
  2406. "3 0.00\n",
  2407. "4 0.25\n",
  2408. "... ...\n",
  2409. "37334 0.25\n",
  2410. "37335 0.25\n",
  2411. "37336 0.25\n",
  2412. "37337 0.25\n",
  2413. "37338 0.25\n",
  2414. "\n",
  2415. "[37339 rows x 1 columns]"
  2416. ]
  2417. },
  2418. "metadata": {},
  2419. "output_type": "display_data"
  2420. },
  2421. {
  2422. "data": {
  2423. "text/html": [
  2424. "<div>\n",
  2425. "<style scoped>\n",
  2426. " .dataframe tbody tr th:only-of-type {\n",
  2427. " vertical-align: middle;\n",
  2428. " }\n",
  2429. "\n",
  2430. " .dataframe tbody tr th {\n",
  2431. " vertical-align: top;\n",
  2432. " }\n",
  2433. "\n",
  2434. " .dataframe thead th {\n",
  2435. " text-align: right;\n",
  2436. " }\n",
  2437. "</style>\n",
  2438. "<table border=\"1\" class=\"dataframe\">\n",
  2439. " <thead>\n",
  2440. " <tr style=\"text-align: right;\">\n",
  2441. " <th></th>\n",
  2442. " <th>prop_actresses</th>\n",
  2443. " </tr>\n",
  2444. " </thead>\n",
  2445. " <tbody>\n",
  2446. " <tr>\n",
  2447. " <th>0</th>\n",
  2448. " <td>0.25</td>\n",
  2449. " </tr>\n",
  2450. " <tr>\n",
  2451. " <th>1</th>\n",
  2452. " <td>0.25</td>\n",
  2453. " </tr>\n",
  2454. " <tr>\n",
  2455. " <th>2</th>\n",
  2456. " <td>0.25</td>\n",
  2457. " </tr>\n",
  2458. " <tr>\n",
  2459. " <th>3</th>\n",
  2460. " <td>0.50</td>\n",
  2461. " </tr>\n",
  2462. " <tr>\n",
  2463. " <th>4</th>\n",
  2464. " <td>0.25</td>\n",
  2465. " </tr>\n",
  2466. " <tr>\n",
  2467. " <th>...</th>\n",
  2468. " <td>...</td>\n",
  2469. " </tr>\n",
  2470. " <tr>\n",
  2471. " <th>92649</th>\n",
  2472. " <td>0.00</td>\n",
  2473. " </tr>\n",
  2474. " <tr>\n",
  2475. " <th>92650</th>\n",
  2476. " <td>0.25</td>\n",
  2477. " </tr>\n",
  2478. " <tr>\n",
  2479. " <th>92651</th>\n",
  2480. " <td>0.25</td>\n",
  2481. " </tr>\n",
  2482. " <tr>\n",
  2483. " <th>92652</th>\n",
  2484. " <td>1.00</td>\n",
  2485. " </tr>\n",
  2486. " <tr>\n",
  2487. " <th>92653</th>\n",
  2488. " <td>0.75</td>\n",
  2489. " </tr>\n",
  2490. " </tbody>\n",
  2491. "</table>\n",
  2492. "<p>92654 rows × 1 columns</p>\n",
  2493. "</div>"
  2494. ],
  2495. "text/plain": [
  2496. " prop_actresses\n",
  2497. "0 0.25\n",
  2498. "1 0.25\n",
  2499. "2 0.25\n",
  2500. "3 0.50\n",
  2501. "4 0.25\n",
  2502. "... ...\n",
  2503. "92649 0.00\n",
  2504. "92650 0.25\n",
  2505. "92651 0.25\n",
  2506. "92652 1.00\n",
  2507. "92653 0.75\n",
  2508. "\n",
  2509. "[92654 rows x 1 columns]"
  2510. ]
  2511. },
  2512. "metadata": {},
  2513. "output_type": "display_data"
  2514. }
  2515. ],
  2516. "source": [
  2517. "data_prop_actresses_timespan_presplit = data_movie_gender_stat_timespan_presplit['prop_actresses'].to_frame().reset_index(drop=True)\n",
  2518. "data_prop_actresses_timespan_postsplit = data_movie_gender_stat_timespan_postsplit['prop_actresses'].to_frame().reset_index(drop=True)\n",
  2519. "\n",
  2520. "display(data_prop_actresses_timespan_presplit)\n",
  2521. "display(data_prop_actresses_timespan_postsplit)"
  2522. ]
  2523. },
  2524. {
  2525. "cell_type": "markdown",
  2526. "metadata": {},
  2527. "source": [
  2528. "---"
  2529. ]
  2530. },
  2531. {
  2532. "cell_type": "markdown",
  2533. "metadata": {},
  2534. "source": [
  2535. "### Analyze Data"
  2536. ]
  2537. },
  2538. {
  2539. "cell_type": "markdown",
  2540. "metadata": {},
  2541. "source": [
  2542. "#### Visualize whether the data is Gaussian distributed."
  2543. ]
  2544. },
  2545. {
  2546. "cell_type": "code",
  2547. "execution_count": 22,
  2548. "metadata": {},
  2549. "outputs": [],
  2550. "source": [
  2551. "np.random.seed(42)"
  2552. ]
  2553. },
  2554. {
  2555. "cell_type": "code",
  2556. "execution_count": 23,
  2557. "metadata": {},
  2558. "outputs": [
  2559. {
  2560. "data": {
  2561. "image/png": "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\n",
  2562. "text/plain": [
  2563. "<Figure size 432x288 with 1 Axes>"
  2564. ]
  2565. },
  2566. "metadata": {
  2567. "needs_background": "light"
  2568. },
  2569. "output_type": "display_data"
  2570. }
  2571. ],
  2572. "source": [
  2573. "plt.hist(data_prop_actresses_timespan_presplit['prop_actresses'], density=True, bins=30)\n",
  2574. "plt.ylabel('Probability')\n",
  2575. "plt.xlabel('Proportion of actresses pre-split-year');"
  2576. ]
  2577. },
  2578. {
  2579. "cell_type": "code",
  2580. "execution_count": 24,
  2581. "metadata": {},
  2582. "outputs": [
  2583. {
  2584. "data": {
  2585. "image/png": "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\n",
  2586. "text/plain": [
  2587. "<Figure size 432x288 with 1 Axes>"
  2588. ]
  2589. },
  2590. "metadata": {
  2591. "needs_background": "light"
  2592. },
  2593. "output_type": "display_data"
  2594. }
  2595. ],
  2596. "source": [
  2597. "plt.hist(data_prop_actresses_timespan_postsplit['prop_actresses'], density=True, bins=30)\n",
  2598. "plt.ylabel('Probability')\n",
  2599. "plt.xlabel('Proportion of actresses pre-split-year');"
  2600. ]
  2601. },
  2602. {
  2603. "cell_type": "markdown",
  2604. "metadata": {},
  2605. "source": [
  2606. "#### Compute t-statistic\n",
  2607. "\n",
  2608. "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."
  2609. ]
  2610. },
  2611. {
  2612. "cell_type": "markdown",
  2613. "metadata": {},
  2614. "source": [
  2615. "We perform a t-test unter the null hypothesis $H_0: \\mu_1 = \\mu_0$.\n",
  2616. "\n",
  2617. "This tells us the probability to observe $m_1$, given $m_0$."
  2618. ]
  2619. },
  2620. {
  2621. "cell_type": "code",
  2622. "execution_count": 25,
  2623. "metadata": {},
  2624. "outputs": [],
  2625. "source": [
  2626. "from scipy.stats import ttest_ind"
  2627. ]
  2628. },
  2629. {
  2630. "cell_type": "code",
  2631. "execution_count": 26,
  2632. "metadata": {},
  2633. "outputs": [],
  2634. "source": [
  2635. "def print_result_two_sided(p_val):\n",
  2636. " alpha = 0.05\n",
  2637. " # Significant results?\n",
  2638. " significant = p_val <= alpha\n",
  2639. " 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",
  2640. " \n",
  2641. "def print_result_one_sided(t_val, p_val):\n",
  2642. " alpha = 0.05\n",
  2643. " # Significant results?\n",
  2644. " significant = p_val/2 <= alpha\n",
  2645. " direction = ('of being' + 'greater' if (t_val < 0) else 'smaller') if significant else ''\n",
  2646. " 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.\")"
  2647. ]
  2648. },
  2649. {
  2650. "cell_type": "code",
  2651. "execution_count": 27,
  2652. "metadata": {},
  2653. "outputs": [
  2654. {
  2655. "data": {
  2656. "text/plain": [
  2657. "37339"
  2658. ]
  2659. },
  2660. "execution_count": 27,
  2661. "metadata": {},
  2662. "output_type": "execute_result"
  2663. }
  2664. ],
  2665. "source": [
  2666. "num_samples = np.min([\n",
  2667. " data_prop_actresses_timespan_presplit['prop_actresses'].shape[0],\n",
  2668. " data_prop_actresses_timespan_postsplit['prop_actresses'].shape[0]\n",
  2669. "])\n",
  2670. "num_samples"
  2671. ]
  2672. },
  2673. {
  2674. "cell_type": "markdown",
  2675. "metadata": {},
  2676. "source": [
  2677. "#### Are the means $\\mu_1 = \\mu_0$ under the given unequal sample size?"
  2678. ]
  2679. },
  2680. {
  2681. "cell_type": "code",
  2682. "execution_count": 28,
  2683. "metadata": {},
  2684. "outputs": [
  2685. {
  2686. "data": {
  2687. "text/plain": [
  2688. "Ttest_indResult(statistic=0.4871844269145407, pvalue=0.6261284618829022)"
  2689. ]
  2690. },
  2691. "metadata": {},
  2692. "output_type": "display_data"
  2693. },
  2694. {
  2695. "name": "stdout",
  2696. "output_type": "stream",
  2697. "text": [
  2698. "No, the result is insignificant because given the pre-split-year data, observing the post-split-year data has a 62.61% probability.\n"
  2699. ]
  2700. }
  2701. ],
  2702. "source": [
  2703. "res = ttest_ind(\n",
  2704. " a=data_prop_actresses_timespan_presplit['prop_actresses'],\n",
  2705. " b=data_prop_actresses_timespan_postsplit['prop_actresses'],\n",
  2706. " equal_var=True\n",
  2707. ")\n",
  2708. "display(res)\n",
  2709. "\n",
  2710. "print_result_two_sided(res.pvalue)"
  2711. ]
  2712. },
  2713. {
  2714. "cell_type": "markdown",
  2715. "metadata": {},
  2716. "source": [
  2717. "#### Are the means $\\mu_1 = \\mu_0$ under an uniformly sampled but equal sample size?"
  2718. ]
  2719. },
  2720. {
  2721. "cell_type": "code",
  2722. "execution_count": 29,
  2723. "metadata": {
  2724. "scrolled": true
  2725. },
  2726. "outputs": [
  2727. {
  2728. "data": {
  2729. "text/plain": [
  2730. "Ttest_indResult(statistic=1.1797681843227215, pvalue=0.2380961849995745)"
  2731. ]
  2732. },
  2733. "metadata": {},
  2734. "output_type": "display_data"
  2735. },
  2736. {
  2737. "name": "stdout",
  2738. "output_type": "stream",
  2739. "text": [
  2740. "No, the result is insignificant because given the pre-split-year data, observing the post-split-year data has a 23.81% probability.\n"
  2741. ]
  2742. }
  2743. ],
  2744. "source": [
  2745. "res = ttest_ind(\n",
  2746. " a=data_prop_actresses_timespan_presplit['prop_actresses'].sample(num_samples, replace=True, random_state=42),\n",
  2747. " b=data_prop_actresses_timespan_postsplit['prop_actresses'].sample(num_samples, replace=True, random_state=42),\n",
  2748. " equal_var=True\n",
  2749. ")\n",
  2750. "display(res)\n",
  2751. "\n",
  2752. "print_result_two_sided(res.pvalue)"
  2753. ]
  2754. },
  2755. {
  2756. "cell_type": "markdown",
  2757. "metadata": {},
  2758. "source": [
  2759. "#### Are the means $\\mu_1 \\neq \\mu_0$ under the given unequal sample size?"
  2760. ]
  2761. },
  2762. {
  2763. "cell_type": "code",
  2764. "execution_count": 30,
  2765. "metadata": {},
  2766. "outputs": [
  2767. {
  2768. "data": {
  2769. "text/plain": [
  2770. "Ttest_indResult(statistic=0.4871844269145407, pvalue=0.6261284618829022)"
  2771. ]
  2772. },
  2773. "metadata": {},
  2774. "output_type": "display_data"
  2775. },
  2776. {
  2777. "name": "stdout",
  2778. "output_type": "stream",
  2779. "text": [
  2780. "No, the result is insignificant because given the pre-split-year data, observing the post-split-year data has a 62.61% probability.\n"
  2781. ]
  2782. }
  2783. ],
  2784. "source": [
  2785. "res = ttest_ind(\n",
  2786. " a=data_prop_actresses_timespan_presplit['prop_actresses'],\n",
  2787. " b=data_prop_actresses_timespan_postsplit['prop_actresses'],\n",
  2788. " equal_var=True\n",
  2789. ")\n",
  2790. "display(res)\n",
  2791. "\n",
  2792. "print_result_one_sided(res.statistic, res.pvalue)"
  2793. ]
  2794. },
  2795. {
  2796. "cell_type": "markdown",
  2797. "metadata": {},
  2798. "source": [
  2799. "#### Are the means $\\mu_1 \\neq \\mu_0$ under an uniformly sampled but equal sample size?"
  2800. ]
  2801. },
  2802. {
  2803. "cell_type": "code",
  2804. "execution_count": 31,
  2805. "metadata": {
  2806. "scrolled": true
  2807. },
  2808. "outputs": [
  2809. {
  2810. "data": {
  2811. "text/plain": [
  2812. "Ttest_indResult(statistic=1.1797681843227215, pvalue=0.2380961849995745)"
  2813. ]
  2814. },
  2815. "metadata": {},
  2816. "output_type": "display_data"
  2817. },
  2818. {
  2819. "name": "stdout",
  2820. "output_type": "stream",
  2821. "text": [
  2822. "No, the result is insignificant because given the pre-split-year data, observing the post-split-year data has a 23.81% probability.\n"
  2823. ]
  2824. }
  2825. ],
  2826. "source": [
  2827. "res = ttest_ind(\n",
  2828. " a=data_prop_actresses_timespan_presplit['prop_actresses'].sample(num_samples, replace=True, random_state=42),\n",
  2829. " b=data_prop_actresses_timespan_postsplit['prop_actresses'].sample(num_samples, replace=True, random_state=42),\n",
  2830. " equal_var=True\n",
  2831. ")\n",
  2832. "display(res)\n",
  2833. "\n",
  2834. "print_result_one_sided(res.statistic, res.pvalue)"
  2835. ]
  2836. },
  2837. {
  2838. "cell_type": "markdown",
  2839. "metadata": {},
  2840. "source": [
  2841. "---"
  2842. ]
  2843. },
  2844. {
  2845. "cell_type": "markdown",
  2846. "metadata": {},
  2847. "source": [
  2848. "#### Visualize data"
  2849. ]
  2850. },
  2851. {
  2852. "cell_type": "code",
  2853. "execution_count": 32,
  2854. "metadata": {},
  2855. "outputs": [],
  2856. "source": [
  2857. "sns.set_style('whitegrid')"
  2858. ]
  2859. },
  2860. {
  2861. "cell_type": "code",
  2862. "execution_count": 33,
  2863. "metadata": {},
  2864. "outputs": [
  2865. {
  2866. "data": {
  2867. "image/png": "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\n",
  2868. "text/plain": [
  2869. "<Figure size 432x288 with 1 Axes>"
  2870. ]
  2871. },
  2872. "metadata": {},
  2873. "output_type": "display_data"
  2874. }
  2875. ],
  2876. "source": [
  2877. "box_plot = sns.boxplot(x='year_span', y='prop_actresses', data=data_movie_gender_stat)\n",
  2878. "\n",
  2879. "medians = data_movie_gender_stat.groupby(['year_span'])['prop_actresses'].median()\n",
  2880. "vertical_offset = data_movie_gender_stat['prop_actresses'].median() * 0.05 # offset from median for display\n",
  2881. "\n",
  2882. "for xtick in box_plot.get_xticks():\n",
  2883. " box_plot.text(xtick,medians[xtick] + vertical_offset,medians[xtick], \n",
  2884. " horizontalalignment='center',size='x-small',color='w',weight='semibold')"
  2885. ]
  2886. },
  2887. {
  2888. "cell_type": "code",
  2889. "execution_count": 34,
  2890. "metadata": {},
  2891. "outputs": [
  2892. {
  2893. "data": {
  2894. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEECAYAAADAoTRlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABd9klEQVR4nO3dd3hb1fnA8e/Vli157xk7cfZ0QgIZhAxWgDBSCFCgdDBLC5RVOoAyAhQobaHQwq8FGlYoO2yyyCQhzp6OZ7xHvCRr697fH7KViDiJQyzLts7nefTYlq6k1/bVe88995z3SIqiKAiCIAhhRRXqAARBEITeJ5K/IAhCGBLJXxAEIQyJ5C8IghCGRPIXBEEIQ5pQB9Ad27ZtQ6/XhzoMQRCEfsXpdDJ+/PguH+sXyV+v1zNixIhQhyEIgtCv7N2795iPiW4fQRCEMCSSvyAIQhgSyV8QBCEMieQvCIIQhkTyFwRBCEMi+QuCIIQhkfwFQRDCkEj+giD0GbIsI6rM9w6R/MOMxWLh0KFD2Gy2UIciCAHeeOMNZs+ezQUXzKO2tjbU4Qx4IvmHkS+//JL58+ezYMECLr3sMvbv3x/qkAQBAEVRWPrxR6RFeLHZ7KxYsSLUIQ14IvmHiZaWFv7+9+fwRibgyD4Dl6zi6Weewev1hjo0QWD37t3U1tVzfpadwdFeln39lej+CTKR/MOAx+PhiSeeoN1mwz5oOu6kEdgyTuNAYSGvvvpqqMMTBN54/XVMOpic5GR2mp2S0jI2bNgQ6rAGNJH8BzhFUfjLX/7Ct99+iyNrCrIxFgBPXC6uhDwWL17MRx99FOIohXC2b98+Nnz7Ledl2DBq4IxkJ4lGhVdf+Q+yLIc6vAFLJP8BTFEUXnzxRT777DOcqeNwJx1RGVWScA6ahicmk2f/+leWLVsWukCFsKUoCi/843mi9HB2hgMAjQouHWSl8EARy5cvD3GEA5dI/gOUoii8/PLLvPPOO7iSRuBKzz96I0mFPXcWXnMKjz32GCtXruz9QIWwtmHDBnbs3MVlg6wYNYf7+KemuBgUJfPyS//C4/GEMMKBK2jJf/v27Vx77bVH3b9ixQoWLFjAwoULeeedd4L19mHv888/580338SVOAxn1ukgSV1vqNZgGzIXrymZRx59VIwAEnrV22+/RbwRZqY6A+5XSXDZICv1DY2sWrUqNMENcEFJ/i+//DJ/+MMfcDoD/6Fut5vHH3+c//znPyxevJglS5bQ0NAQjBDCWn19Pc899zxecwrO7KnHTvyd1Frah8xB0Rh4/PEncLvdvROoENZKS0vZsWMn56a3o+4iE42Nd5MWqfDhB+/3fnBhICjJPysri+eee+6o+4uLi8nKyiI6OhqdTsfEiRPZvHlzMEIIa++++y4OpxP7oOknTvydNHpsmadTVlbKN998E9wABQEoLCwEYFy8q8vHVRKMiXNw4MABceE3CIKyjOO5555LZWXlUfdbrVbMZrP/58jISKxW6wlfz+l0Hnc5MiFQRUUFitaAYog6qed5TUkAFBUVkZ6eHozQBMFv27ZtSECi8diJPdnoxely8+233xIbG9t7wYWBXl3D12Qy0d7e7v+5vb094GBwLGIN35OTkJCA5HGBxwEaQ7efJzktAKSnp4u/txB0hYWFfP7557Q4VSQc4wDQ7FShVquYOHEier2+lyPs//rMGr6DBw+mvLyclpYWXC4XmzdvZsKECb0ZQli4+OKLkRQZw8FN3X+SLBNxcAMxsXGcddZZQYtNEDoNGzYMgP0tx26D7mvRkZOTIxJ/EPRK8l+6dClLlixBq9Xy29/+lp///OdceeWVLFiwgOTk5N4IIawMGTKEq6++Cu2hIrR1e078BEVBX74Oqf0Qd/3mzm6djQnCqcrLyyMjPY0vKiPpqpJDcZuGA60a5s49u/eDCwOS0g8KaOzdu1d0Q5wkj8fDAw8+yPp163BkT8WdNLzrDRUFffl6dA37+clPfsJPf/rT3g1UCGufffYZf/7zn7ljTBv5iYGjzJ7ZbqbEGcuSd/5HREREiCLs346XO8UkrwFKo9Hw0IMPMnnKFAzl69EcKu5yO33lZnQN+/nxj3/M9ddf37tBCmHvnHPOIT0tjXdKzHiP6Pbf06Rh+yEdV139Y5H4g0Qk/wFMp9PxyMMPM2bMWIxla1C3VgU8rq3Zia52JxdffDG/+MUvkLo7LFQQeohGo+HmW26hul1idY2vX19RYEmJieSkRBYsWBDiCAcukfwHOL1ez6JFjzEoexCRJauQ3HYA1JY6DJXfMXPmTH7961+LxC+EzPTp0xk2bCifVkTilWFXk5bSNjXX/eR6caE3iETyDwNms5k/PfQgKsWD/uAmkGWMBzcQn5DIfffdh1qtDnWIQhiTJIkf//ga6m0SWw/p+KLCSHxcLGefLS70BpNI/mEiOzubq6++Gm1TMbrqrUi2Ju64/deiP1XoE6ZNm0Z0lJlvqvXsbtZy7nnno9PpQh3WgCaSfxiZP38+APqa7cTFxzNt2rQQRyQIPmq1mjOmTmP7IR2ygtg3e4FI/mEkMTGRoR0Ta2ZMn45KJf79Qt8xcuRI//edE8CE4BGf/jATHeWr9zNo0KDQBiII35Odne3/XqPp1cozYUkk/zDTeXE3ISEhxJEIQqC4uLhQhxBWRPIPU2KEj9DXmEymUIcQVkTyFwShTxBdPb1LJH9BEPoEcTbau0TyFwShT/B6vaEOIayI5C8IQp/g8XhCHUJYEclfEIQ+weXqei1fIThE8g9T4hRb6GucTmeoQwgrIvmHmYaGBkC0soS+Z8WKFaEOIayI5B9m6uvrAZH8hb5nzZo1oQ4hrIjkH6ZE8hf6GlmWT7yR0GNE8g9TIvkLfY24DtW7RPIPUyL5C33NkclfDPsMPpH8w5Tb7Q51CIIQ4Mjkb7VaQxhJeBDJP8woigKIlr/Q9xzZ2m9rawthJOFBJP8wI4vkL/RRR7b8W1tbQxhJeBDJP8zIHR8wm80W4kgEIZDb5UKFr3HS2NgY4mgGPpH8w0znqbVoWQl9jdPlwqjxJf/q6uoQRzPwiQLaYcRms/mTf0VlZYijEYTDmpqacLvdxBgUInUKe/fuDXVIA55o+YeRffv2AaCotFQcPIjFYglxRILg89133wEQoVEYFuVk+9YtOByOEEc1sAUl+cuyzAMPPMDChQu59tprKS8vD3j8448/5tJLL2XBggW8+eabwQhB6MK7770HSMh6E4qi8MEHH4Q6JEHA6/Xy5uuL0akUDBqFM9OcWNptLF26NNShDWhBSf7Lli3D5XKxZMkS7rrrLp544omAx//85z/zyiuv8NZbb/HKK6+I/udesH79etavW4esi0TR6PHEZvP6629QKbp/hBBbsmQJ5RWVJBi8SMCwGA8jYj0s/u9rYv8MoqAk/4KCAmbMmAHA+PHj2bVrV8Djw4YNw2Kx4HK5UBQFSZKCEYbQ4aOPPuIPf/gjSkQcsi4SAEfmZNwK3HzLLWzZsiXEEQrh6pNPPuGll15icpITs07x33/9UAuK08pdv7nTX4xQ6FlBueBrtVoxmUz+n9VqNR6Px79Ac15eHgsWLMBoNHL22WcTFRV13NdzOp3iAtAP0NLSwscff8yGDRvwRGdgz52JsWg5AIrejGX4RchFy7jrrru58MILmD17NgaDIcRRC+HA4/Hw6aef8uWXXzIm3s3NI638edvhPJAaKXP32BYe3wY333QjP7n+pwwdOjR0AQ9AQUn+JpOJ9vZ2/8+yLPsT/759+1i1ahXLly8nIiKCe+65h88//5zzzz//mK+n1+sZMWJEMEIdkGpqanj77bf55NNP8Xq9OFPH4krPBynwRE8xRGEdcRHG0jUsXbqUFStXsfCKy7n00ksxm80hil4Y6MrKynj00UcoKipmRoqD64a1o+miDyInystvx7fw4h6Fv/71Wa64YiE/+9nP0Ov1vR90P3W8RnNQkn9+fj4rV65k3rx5bNu2LeCIbTabMRgM6PV61Go1cXFxYip3D1AUhV27drF06VKWLVuOAjjjh+BKGYNiOM6ZlVqLfchsVNZ6PDU7+M9//sObb73FxfPnM2/ePLKzs3vtdxAGNovFwhtvvMF77/4Pg8rL7WPamJh4/BpTuVFeHpnUxNvFkSxZsoS1a1Zz8y23Mn36dNFdfIokpbPYSw+SZZmHHnqIwsJCFEVh0aJF7NmzB5vNxsKFC3nrrbd477330Gq1ZGVl8cgjj6DT6Y75env37hUt/2Oor6/nyy+/5LPPP6emuhpJrcWZkOdL+h39+0cy7vsMAPvweV2+nsrWhK5mO9rmMlAUho8Ywbzzz2fWrFnibED4QTweD5988gmv/OfftLVZmJ7i4IohNqJ1galn0RZfI+V3+V03Bnc1aXmjyESVVcW4sWP55W23ia6gEzhe7gxK8u9pIvkH8ng8rF+/ng8/+oitW7agKAreqFRc8UPwxA4CtfaYzz1R8u8kuW1oDhWjP1SEZGtGq9UyY8YMLrnkEsaMGSNaXUK37Ny5k7888zSlZeWMiPVw1RArg8xd1+0/UfIH8MrwTY2e98tMWFxw4YUXceONN4qGyTEcL3eKGb79SEtLC59++invf/AhhxobQG/CmToOd/yQ43ft/ACKNgJ3yhjcyaNR2Q6hbTzAytXrWLFiBbmDB7PgssuYM2eOuEAsdKm1tZV//etffPbZZ8Qb4fYxbeQnuDnVNoNaBbPTnZye7OKDUiOffrKUNd+s4tbbfsXZZ58tGiUnQbT8+wGn08lzzz3H5198gdfjwRuVhitpBJ6YzKMu4p5Id1v+XfK60TaVoK/fi2RrIjLSxI9/fDVXXXWV+NAJfocOHeKWm2/iUGMj52XauSTHhl594ud1p+X/feUWNa8WmiluVXPppZdy++23/9CwByTR8u/HXC4XDzzwIBs3fosrcTju5JHIxpjQBKPW4k4chjthKGprHZ6anbz00ktYrVZuuOEGcQAQcDqd/P5399Pa1Mgf8lsZHB3cFbmyzV7+mN/Cmwci+OCDD8jKyuLSSy8N6nsOFKK2Tx+3aNHjbNz4LY7sqTgHTQ1d4j+SJOE1p2DPm4srcRhvvvkmS5YsCXVUQh/w8ccfs29/ITeOsAQ98XdSSXB1no2x8W6ee+65gGHmwrGJ5N/HNTY2gkqNNyIu1KEcTZKQIxMBUX9d8ImL8+2nsXq5V99XJUG01kuk0SDmAXSTSP593COPPExKchKmomVoGotA7nqkRK/zONHV7MBQvo6JkyZx0003hToioQ+YPHkyarWKd4ojsbh6rxtwxyEt3zUamXz6Gf4JpcLxieTfx8XGxvLM00+TmZaMsXQ15p3/Q1e9DcltD0k8kqMVffkGona8g75yM5MmTeKRhx9Gqz328FIhfJjNZu6++x6KrXoeLIijtK0bV3pPgazAR6VGntkeRVpGNjfccENQ328gEYfIfiA9PZ3XXn2VzZs387///Y9NmzZhqNmOKzYHd+IwvKYkTnkM3fHIMprWCrQN+9G0VqLWaDj77LksWLCAvLy84L2v0C+df/755OTk8MAf/8DDW+D8TDsXD+reiJ+TcdCi5r8HTBS2aJg7dy533323GHp8EkTy7yckSeK0007jtNNOo7y8nPfee48vv/oK56EiMMbgiM/DkzAERWvsufd0tKJtKMTQVIzishETG8fFP/kJF198sb9vVxC6Mnz4cF56+f948cUX+eTLL1lfZ+SqwRYmJ7lOuZ3S7pZ4r9TI8iojUWYz9957C+eff74YbXaSxDj/fsxms/HNN9+wdOkn7NmzGyQV7thsXGkTjjkqqDvj/NVtNehrtqFuq0GlUnH66adz4YUXMnnyZNGfKpy0nTt38re/PktRcQnj4l38fLiVGP3Raac74/y3Nmp5ZX8UbS6J+RdfzM9+9rMTVgUOZ6K8QxgoKyvjs88+46OPP8bpdOKOG4wzbfxRM3+Pl/xV1noMVVtQt1UTFx/Pgssu47zzziM+Pr5Xfgdh4PJ6vbz//vu8/NJLaHHzk6EWTk92BWxzvORv80i8cSCCNTUGcnMG8dv7fyfq+nSDmOQVBgYNGsStt97K1VdfzVtvvcX777+PtqkEZ8qYjnLOxzkllj0YSlejbSojKiqaa3/5S+bPny+GzAk9Rq1Wc/nllzNlyhQeX/QYL+zeT3W7jctyTzxwweKSWLQthpp2Nddc82Ouu+664xaCFLpHjPYZYGJiYrjlllt4++23OefsuehrtqOv2ATHOsGTPUQcWIa2uZyf/vSnvP32W1x++eUi8QtBkZWVxXPP/4PzzjuPD8si+KLi+Bdo7R6Jp3dEU+/U8dTTT/OLX/xCJP4eIlr+A1R8fDz3338/JpOJ999/H0Wjx5U2/qjtjCXfoLbUcN+99x53QR1B6CkajYa7776b9vZ23lyzhrwozzFnA79xIIJyq5ZHH32YiRMn9nKkA5to+Q9gkiTxq1/9iilTpmBo3H9U619ytaNpLufaa64RiV/oVRqNhvvvv58Io4GvK7tu/VvcEhvqDFx00UVMnTq1lyMc+ETyH+AkSWLWrFkoznZUtkMBj2laKgCYPXt2KEITwlxERATnnHsemxr0uLqYuP5dvQ63DPPnz+/94MJAt5O/1Wqlvb2dDz/8kNbW1mDGJPSw3NxcAFSuwIJXUsfPgwYN6u2QBAGAESNG4JGhyXl0KqqzqdFptf79V+hZ3erzv/fee5k2bRpbt25FlmW+/vpr/vGPfwQ7NqGHqNUdUyuPuuiroFKrxeQYIWQSE32FAZu7SP7NThUJCXFi/wySbrX8q6qquPjiiykuLubhhx/GarUGOy6hB/knZimBlRYl2YtWI2ryCKETEREBgNN7dIJ3eCUiIk29HVLY6Fbyd7vdfPbZZwwZMoSmpiZaWlqCHJbQk/xD4+TvjaiQvWi0YsCXEDqd+6ZLPjr5u2TEkOMg6lby/8UvfsFXX33FTTfdxOLFi7njjjuCHJbQk2JjYwFQuW0B90tum6jRI4RUZ8vf4emq5a8mIiKyt0MKG91q9p1zzjnk5eWxf/9+Fi5cSHJycrDjEnqQwWAgNi6eekfgtHmty0JW5sgQRSUIEBnpS+62rrp9ZJX/4CD0vG4l/9dff52vv/6a1tZWLr30UsrLy3nggQeCHZvQg3JzBnFoXzmyquNfLnvB3ipG+gghZTT6qtB21fK3e1T+g4PQ87rV7fPpp5/y6quvYjab+clPfsL27duDHZfQw4YMGYLK3uwf8aNytIAii2F0QkhpNBp0Wi2Orlr+nsMHB6HndSv5dxb+7BxyJWpr9D8ZGRkge5E6RvyonBYAMjMzQxmWIADQ5WBOMcIzqLrV7XPhhRfy4x//mOrqam644Qbmzp0b7LiEHtY5nhrZCyo1kst38TcpKSmEUQnhTpZlPB4PaunowoMalW+koRAc3Ur+11xzDWeccQaFhYXk5uYybNiwYMcl9LDDp88dZ3Gy+3v3C0Lva25uRlYUYvTyUY9Fa70cOnSoi2cJPaFb3T4HDhygra2N1NRUFi1axIYNG4Idl9DDxCxJoS+qra0FIN5wdPJP0Huoqarq7ZDCRreS/4MPPohOp+Of//wnd955J88///xxt5dlmQceeICFCxdy7bXXUl5eHvD4jh07uPrqq7nqqqv49a9/jdPp/OG/gdAtdnvnohm+g4DSMern8P2C0PuKiooAyIg8urJbhsnLwYoK0fUTJN1K/hqNhry8PNxuN+PHj8fr7aIE3xGWLVuGy+ViyZIl3HXXXTzxxBP+xxRF4Y9//COPP/44b731FjNmzKBKHN2Dzl+SQ/L9yxW1b+akxWIJVUiCwIEDB4jUSSR00fLPNnnweL2UlpaGILKBr1t9/pIkcdddd3HmmWfy2WefnbCfuKCggBkzZgAwfvx4du3a5X+stLSUmJgYXnvtNQoLC5k5c+YJhxs6nU727t3bnVCFY9i3b5/vm87kr/XVUN++fbuo1SSEzNYtBeSanF2uMpob5StHsmLFihM2OIWT163k/+yzz7Jz507OPPNMNm3axLPPPnvc7a1WKybT4YJMarUaj8eDRqOhubmZrVu38sc//pHs7GxuvvlmRo8ezRlnnHHM19Pr9WIB91O0bt06kCSUzuSv8R3Ao6Ojxd9WCAmLxUJNTS2nZXe9ileCQSZGDw0NDWIf/YGO12juVrePx+MhPT2dsrIyPvroI2pqao67vclkor39cO14WZb9lSVjYmLIzs5myJAhaLVaZsyYEXBmIARHQ0MDkj7SP3Za0UX47xeEUNiyZQuyojAqrus+fUmCkTFONn+3CVk+ultIODXdSv733XcfjY2NPPvss0ybNo1FixYdd/v8/HxWr14NwLZt2xg6dKj/sczMTNrb2/0XgTdv3kxeXt4PjV/opsqqKjyaw1PlFY0BVBpxvUUImeXLlxOhhSFRXbf8AcbGu2hts1BQUNCLkYWHbrf8TzvtNNra2rjgggtOeBQ+++yz0el0XHnllTz++OPcf//9LF26lCVLlqDT6Xjssce46667WLBgASkpKZx11lk98bsIx9DS0sLePXvwmI8oyCdJeEzJrFu/3j+DWxB6y86dO1m9ejXnpNtQHycLTUp0kWBUePGFf4h+/x7WrT5/t9vN448/zqRJk/j2229P+E9QqVQ8/PDDAfcNHjzY//0ZZ5zBu++++wPCFU6Woii89tprvpmUcTmorfX+xzxxg6gtW8cXX3whFnAXes327dt55OE/EWuAC7KPP9RYp4aFuVb+sbuMhx/+E3fffQ9ms7mXIh3YutXyf+KJJ8jJyeHGG2+kqamJp556KthxCT3A6/Xy1FNP8cEHH+BKGolsDKzd744fjDcqlSeffJL3338/RFEK4cLj8fDKK69w5x13oHEc4s4xLejVJ37e5CQXVwxuZ+3q1fzi5z9j586dwQ82DHSr5Z+Zmemf5DVlyhRRZrWPq6mp4euvv+aLL7+kuqoKZ+o4XOn5HDWeTqXBlnc2xuJV/P3vf+frZcs495xzmDVrFtHR0aEJXhhQvF4v27dvZ+XKlXyzaiVtFivTUxxcN7QdQzcXkZMkuDDbwYgYDy/sVfjVr35F3pAhzJ4zh7POOovU1NTg/hIDlKR0o8P397//PUlJSaxfv56bbrqJt956i5dffrk34gN8w5XEUK/js1gsrFq1ii+//NI/esprTsGVOBxP/OF5FMZ9nwFgHz7v8JMVGW3dbvSHipFsTajVak4//XTOOeccTj/9dLGUnnBSXC4Xe/fuZeXKlaxauYKW1jb0GpgQ72R6ipOx8V2P7lm0JQqA3+W3dfk4gN0jsapaz8Z6AyVtvtOG4cOHMXv2HGbMmEFKSoooZXKE4+XObh17Dx48yGOPPUZBQQGzZ8/mpZde6tEAhe5TFIXa2lqKi4v9t8LCA9TWdgy/NcbgTJ+IO34wir6bi19LKtwpY3Anj0Zlb0LbWMT677aybt06VGo1WZlZ5OUNYfDgwQwZ4vvauTSkEN6cTifFxcUcOHCA/fv3U1i4n7LSMjxeLzo1jItzMmW0i3Hxrm518ZyIUaNwfpaD87McNNhVbKzXsbFqLy+8sJ8XXniBKLOJoUOHMXTYMIYOHUpeXh5paWnigNCFbiV/r9dLU1MT4JvApVJ161KBcIpsNhsHDx6kqKiI4uJiioqKKCouxm47Yi1eYzRuQyxyej6e6AzkiPiju3e6S5KQI+JxZsXjzDwNdVsNaksNRc3NlK9ez9dff+3fNDomlqF5Q/wHg8GDB5Oeni7WehjA2traKCsr48CBAxQWFlK4fx/lByv8o/9MOhgU6ebcdA+5UR7GxLm63bXzQyQaZS7MdnBhtoNam4pdTVrKLQ7KCtvYurUAb8egxMgII0OHDiNv6FCGDh3KkCFDSE9PR6vVBi+4fqBb/5o777yTq666ioaGBhYuXMjvf//7YMcVFiwWC7W1tdTV1VFXV+f/vrq6htq6WqxH1N2R1Fq8xlg8kVnIiXF4I+KQjbGgDtIOLKnwRqfjjU4HwA7gcaC2NaGyNeG2NdGyp4TvCrb41gjAVwYkOiaWtNQUUlJ8t+Tk5IDvDQZDcOIVeoTVaqWyspKqqioqKyt9t4oKKisrsFgPT9yM1sMgk4sLszwMMnsZZPIQb5B/cLvjVKVEyKREOAEn0I5bhkqrmjKLhnKrg7KSAj7YsQ13xwFBJUkkJSWSkZlFRkZGwC0lJcU/KXUg69ZvWFNTw5dffklTUxOxsbHiFKobFEWhpaUlIKn7k3tNLbW1tTjstoDnSGoNit6MRxuBbEhDiTYh66PxRsSh6M0/vEXfUzQGvFFpeKPS8PfayjIqRwsqWxMqpwWXy0pjZTN7SytRHFZQAueEmKOiSUlJJjXl8AGi88CQlJSEyWQS+1eQ2Wy2wOReWUllZQVVFRW0tAUW+oszQrLezaQoL8kpXlIjvAwye4jV9+25IVoV5ER5yYny4jsggEeGapuaCouaWruaOpuDusIadm8vwO4+/Puo1SpSkpLIyMomIyOD9PR0/4EhOTkZtboH+q/6gG4l/3feeYf58+cTFxd34o3DgKIoWCwW6uvrqa+vp6Ghwf+1rr6e2to6Dh1qxPO9UrSSRoesN+HVRiKbs5ETTCg6E7LejKKL9M267W+JT6VCjohDjgjcN+wAiozktqNyWpFcVlROKy6XleZaKwcqdiA516PIgbM79QYDiYmJpHQcDBITE0lKSvLfEhMTiYiI6L3fr586MsH7v1ZWUlVZQVNLa8C2sQZINrgZF+klJdFLcoRMitFLotHbI/30fYVGBVkmL1mmwHlKigIWt0StTU2dXU2tTUWd3U7tnmq2FahwHrGLatRqUlKSycjM8h8UOr8mJSX1qzOGbkXqcrm45JJLyMnJ8ff3P/PMM0ENLJScTidVVVU0NDT4E3vnrbaujsaGRlyu761BIKmQ9JF4NBHIugiU+OHIukgUXSSy3oSsM4EmzEbNSCoUXSReXSSQfPTjioLkcSA5rahcvgOEy9WO1drOweZy1Dv3ojjbj3qaMSKCpMQkUlIOHyA6DxKd3Uz96UP4Q7lcLsrKyvwJ3pfkK6iqrKC5JXDETIwBkg0eRhs9JMcdTvDJEQMrwf8QkgRROoUonYehMYGNEUWBVtfhA0OdXU2dzUb17kq2blbj9HzvjCE52d+VlJ6eTnp6OllZWX1yFFK3PiF33313sOMICafTSUVFBWVlZZSVlVFaWkpxSSl1tTWBJQ8kCUkXgVcbiVcbgRI7BFlnQtFFdCR4k69EsiQuhJ8USULRGlG0RmQSu95G9iK5bahc7UiudlSudlyudtpa2ylrLEbl3oHiCpwlqtZoyMzIJDc3h0GDBpGTk0N2djZpaWn9+qBQX1/P7t272bNnD7t37eLAgULcnsOt2M4W/Fijl+R4L8lGmWSR4E+JJEGMXiFG72F4bNcHBt/Zgpp6u4pam53aPVVHnTHExkQzctRoRo0axciRIxk2bFjIl1A97ifB6/Xi9Xr573//y7PPPouiKMiyzI033sh///vf3oqxR5SXl1NUVERpaSnl5eUUl5RQU119OMlLKt/IGX00cuo4ZEOMv+Wu6CIGRmJXFCSXDcnrQlu/D3fisL7fzaRSo+jNePXHmdIve5BcnQcIKyp7C0XNLZSv/w5lxQr/ZhqNlozMTAZ3HBQGDRrE8OHDDy9u34coisKePXvYtWuXL+Hv3kXjId+IO60acswezk5zkxvlISXCS3I/76JRFGh2qrB7JFZU6ZmV1nWN/77kyAPDsGOcMdTZ1VRa1RS1OSje1uIrrY6vBM7g3FxGjR7NyJEjmTBhQq/vh8ed5PXOO+/wz3/+k8bGRn9gKpWKiRMnBqzOFWynOslrz5493Hrrrb4fJAkM0bgN0cjGWF+SN8YiG6JA1Y8/Pd2grd+Lofzw+suO7DNwJw3wyXNeNypHKyp7M2p7Cyp7M1pnK4rDd2FTq9Xy0Ucf9bnrCMuWLePRRx8FIDECBpudDInyMCTaTZbJi2YAtEWOtLxSz2uFh+el/GSolTkZA295V4tLorhNQ1GrhqI2LSUWHQ6PQkSEkU8++bTHh9H/4EleV1xxBVdccQXvvvsuP/rRjwBfP2N/G8vd0tICgD13Jp7YQQM+yR+LpqXiqJ8HfPJXa5EjE5AjE+hsm9kBvG50NduhZgd2u73PJf/O5TUfn9JCehfr2w40Ww/pjvp5ICZ/s05hfIKb8QluwI6swNtFEXxR4Vv3pDfnUHV7kteiRYv43e9+x80338z8+fO55JJLghxaz+ns5zWWroaabbj9rf3wafUD8L2RNUf9PFAFtP6bUdlbAlr/fXHoXucEpEe3xh7R6vcwOMqDUdO3h1n+EC6vdNyfBwpFgXq7iqI2DUWtWootOg5aVGjU6l6/INyt5P/222/z9ttvA/Cvf/2La665pl8l//z8fB5++GGKioooKyujqLiYmurtXff3G2ORjTH+Pn80/essJ2x1jhxytaOyt6Cyt6D2d/EcHvmi0WjJzMpkcO4UcnJyGDlyJDExMaGL+xjOPvts1Gq1r89/104+KKtAURQkIN0kM9js8h8Mkoy+UgpC36IoYHVLVLar/d08xRYdbR0nNEaDnuEjRjJ91CgmT57c642QbiV/lUrlL+6l1Wr73JClE9FoNJx55pmceeaZ/vu+P9KnpKSE4pJS6mu2BYz0kTQ6FF3nEM6OoZv+ryYUXSSo++8Ikn7D4+oYDtoeMPJHcrWj8diQnO0BcwbUajUZGZnk5k4kJyeHnBzfRd7U1NR+MeJHr9dz/vnn+9dZsFqt7Nu3j927d7N7924Kdu/imxrfJEGJjslYBhfJRpmUCC9JRi8pETKJBnFgCKbOBF9rV1NvU/kmj9nV1Nk11Ns1tB8xeSwjPY0zJo7xj/jJyckJ6Vlntz4Fc+bM4eqrr2bs2LHs3r2b2bNnBzuuoNPr9QwZ4qtNcySHw8HBgweprKwMmMBVW1dHXV09bY0tR72WpDUg6yLxfv8A0TG+f8CMFgoW2eufBPb95K7x2JBc7SgeV8BTVCoVsXFxJGclk5w0PGAiWFaWbwJOf0jy3WUymZg0aRKTJk0CfP3DFRUVFBYWBkzi2lxZgaX68NyIwwcGt3/YZ7LRNwxUnDF0T+ckMN8Yf1XHVzV1Dg11dg22IxK8v2zE0CzGdYz1z8rKYvjw4X2uTHq3Ph233nors2bNorS0lEsuuYThw4cHO66QMRgMDO0oANUVl8tFY2PjUbN7Dx8gKrE1WAOfJElIehMere9sQdZ3zur1fa9oI2EgF8uTPUjOdlQuiy/Bd0zqUrmsaNztXU7kioqOITkliZTkXP9EruQjZv3GxcUNqOR+slQqFdnZ2WRnZx/1WFtb2xGTvjpm+FZUUFBVSVv14X1TAuI7zxiOmPTlm90rD7gRRSfS3tGCr7OpjpjUpaG2Gwm+c1JXampqvykY161PT3l5OatXr8btdlNSUsKbb7551DKN4UKn05GWlkZaWtoxt7Hb7f4DQ21tbcCtuqaW5prioyeR6U2+mj4d5R5kncl35mCMRdGGdjLICSlKR197s69rpiO5q11W1K52FFdgDSOVWk1iQiJp2b4PS2dtn87knpCQ0O9GlPUlUVFRREVFdTnEz2KxHFXXp6LiIJsqK7FWHf4/qSRIMEKKwdVxtuDrTkqL9BKvD10Bt1PllqG6XU2Nzdd6r7WrqLNrqLNrsbiO6O6VJJIS48nIy2ZsZqZ/tm5GRka/SvDH063kf9999zFr1iy2bNlCUlISNpvtxE8KY0aj8ZitMvCtiVxfXx9Q8K22tpaamhqqa2ppqikJvO6gj8Rt6KjkGRGHNyI+dIXe/IXcDqG2NaG2NaFxNKG4Dw/LU6vVJCYlk56TFVDVs/MWHx/fJ0fYhAOz2czw4cOPOntXFIXW1lb/gaGiooKqqioqKg6ytrISu+Pw/9esk8g2Ockxe8g2e8kxe0gIYUXPY3F5obLdV9mztE1DmVVHZbvKX+oZICE+loycLIZnZAZU9kxNTR3wixh1K/kbDAZuuukmysrKePzxx7n66quDHdeAptVq/S2Jrng8HhoaGqiqqqKkpKSjfvoBKip2+munSxodHmMsXmMcckQ8HnMyiqGH+xQVBVV7I+r2BlS2Q2jtzUj2Zn8JZ61WR25uLkOHTmLIkCHk5OSQmppKfHy8WPOhn5EkiZiYGGJiYhg1alTAY4qi0NTURGVlJaWlpf5a/p+VleH1dtbyl8iOdDHI7GGQ2UNetIc4g9zVWwWFrECpRUNpmy/Zl1l1VFlVeDvaUObICIYOH87UocPIy8vzl/sIdYmFUOpW8lcUhYaGBmw2GzabjdbW1hM/SfjBNBoNqamppKam+i/wgW+EUudiGkVFRRw4UERRcRHO+r0AyOZknPF5eOJyTqnOv+S2oW0sQn+oCOwtAJjNUQwdnkde3lz/hfKMjIyw7ncPF5IkER8fT3x8POPGjfPf73Q6KS0tZf/+/b6VvPbt5cuOVbwAhsV4OCPZwWmJLsy6np+boChQblWzoVbPtw1Gmh2++6PMJoYOG86MjtW8hg4d2icLq4Vatz65t912G8uWLWP+/PnMmTOnX43xH0j0ej3Dhg1j2LBh/vtkWaa6upq1a9ey9JNPqCpbi1SxEVfsIFxJI5AjE7r34oqCurUCXcN+NK2VoCiMGjWaefNuYPLkySQkJIgPjxBAr9cf1YXkcrkoLS3lu+++4+uvvuTV/RUsLoTRcS7OSHYyKdF1yiOM6mwq1tfp2VBvpLZdQqNWM+X005k9ezajR48mKSlJ7Kvd0K0F3I/l+eef57bbbuvJeLokFnDvHkVR2L17N5999hnLV6zA6XRiGzwHb2wW4Fu8XWOp9W/vMaf4F3LXVW9DX7WFmNg45p1/Hueddx5ZWVkh+T2EgUFRFEpKSli2bBnLl31NfUMj6SaZO0a3khwR2CW0aEsU+1oOn60Oj3F3uZD7yio9/z1gQlYkxo8bx5y5c5k5cyZm83EK/4WxU17A/Vg2bdp0Kk8XepgkSYwePZrRo0dzyy23cNfdd1N4YCW2IXP9yzF2RVu7G33VFs455xzuvfde0ZUj9AhJkvzrO99www18++23PL7oMR4sUHHryDbGxrtP/CIdPDIsLoxkZbWB006bxD333EtSUlIQox/4Tumq3CmcNAhBZjabefqpp8hMTyfi4IZjbie5HRgqNzF16lSR+IWgUalUTJ06lZde/j9SM3N4dkcU9fbup58Py4ysrDZw9dVX88QTT4rE3wNOKfmLfrW+LSoqivnzLwJHG5Lr6IlUAGprHSgKV155pUj8QtClpqbyxJN/BpWK5ZWGbj3H5YWV1RFMnzaNG2+8UQwT7iFBGY8nyzIPPPAACxcu5Nprr6W8vLzL7f74xz/y9NNPByMEocPIkSMBUNkOdfm4ynYISZICLiILQjAlJiYyffoM1tUb6U7nwc4mLRYXXHLppcEPLowEpdtn2bJluFwulixZwl133dXlwi9vv/02hYWFp/L2Qjd01hORvlcbp5PkdaE3GAf8hBahbxk9ejRtTl/NnBOptPrOSL8//0A4Nd06z3c4HLz99tuUlpaSl5fHwoUL0Wq1/PnPf+5y+4KCAmbMmAHA+PHj2bVrV8DjW7duZfv27SxcuJCSkpJT/BWE4zEYfKfW0rFq93s9/m0EobdkZmYCUGtTE6U7/roStXYVifFxYT0hKxi6lfx/85vfkJOTw4wZM9iyZQv3338/Tz/9NKmpqV1ub7VaMZkOL8mmVqvxeDxoNBrq6+t5/vnnef755/n888+7FaTT6WTv3r3d2lYIZLV2FPJSul4NSuq4X/x9hd7UWSLmkOPEnQ+HHGqi4mPEPtrDupX8W1pauOeeewCYO3fuCcs7mEwm2tsPX2CUZdl/MfGLL76gubmZG2+8kYaGBhwOB7m5uVx22WXHfD29Xi/G+f9A/v+Dcoyp9oqCwWAQf1+hV3XWvWpynjj5N7u1jB6UI/bRH+B4B8xuJf8hQ4ZQUFDAxIkT2b9/P2lpabjdbhRF6bL6Yn5+PitXrmTevHls27YtoDzyddddx3XXXQfA+++/T0lJyXETv3Bq3O6OsdTSMUZISCo8njBZzlHoMyIiItDrdbS67CfctsUpERcX1wtRhZduJf+CggLWrl2LVqv1J5Nzzz0XSZJYvnz5UdufffbZrFu3jiuvvBJFUVi0aBFLly7FZrOxcOHCnv0NhOPq7PZRVF3/qxW1FqvF6lsiUAzdFXpRlNmM1X30LN4juWVwepQ+txDKQNCt5P/pp5/6K/vFxsaesGKjSqU6qt7/4MGDj9pOtPiDr/OCumyM7fJx2RiDo34vDQ0NYuKM0KsUWUZ1gvZG58Od1WyFntOtoZ4bN25k7ty5/PznP2fu3LmsW7cu2HEJPaSgoABU6mMmf29EwuHtBKGXKIqC3eFAd4IMpJZ8N7GGSM/rVvL/61//yptvvsmHH37IW2+9xV//+tcghyX0BIfDwVdffY07dtAxF5mXIxPAGMNHH3/cu8EJYa2hoYF2m520yONfb5IkSDPJlJaW9lJk4aNbyV+tVpOcnAxAcnKymBDUTyxduhS73YY78TizdyUJR8Iw9u3dy44dO3ovOCGsdY5CyTZ3PQT5SNmRLvbv3SO6fnpYt5K/yWRi8eLF7Nu3j8WLF4uLL/2AzWZj8etv4I1Kw2tOOe627sRhoIvg5f/7P1GsT+gV69evJ1IHOeYTjzQbE+empc0ixvn3sG4l/6eeeorq6mqeffZZampqWLRoUbDjEk7Rl19+SVtrC460CSfeWK3BkTKGnTt2iA+YEHQej4cN69cxLtaJphsZaGy8G7UEq1evDn5wYaRbo30eeughnnnmmWDHIvQQRVF4/4MPkSMTkM3J3XqOO2EoxqotfPjhh/5icIIQDJs3b6bNYmXyIOeJNwYitQqj41ysWL6Mm266SawP3UO69Vd0uVzs27cPp9OJy+XC5eq6SJjQN1RVVVFxsBxXQl7gA14XBoOBH/3oR756Pt4j/o9qLc7YQaxZu1Z0/QhB9emnnxKphTFHLOZi90gB+6bdEzgG9IxkJw2Nh8SotB7UreRfVlbGzTffzGmnnca5557L+eefH+y4hFPQWS3Vawocty95XFx44YXcdtttXHDBBUdV+pRNSdhtNmpqanotViG8lJeXs3btGuak2dAekX1sHilg37R9L/mfluQi1gCvL17cyxEPXN1K/r/61a9QqVTk5uaiVqv505/+FOy4hFOwfft2JLUG2RATcL+i0fHJJ5/w3HPP+SbuaQJLc3gjE/3PF4Se1tLSwqOPPIxODedmOgIei9AoAftmhCbw7FOrgvMz29m+YweLFy8WZ6c9oFt9/i+88AL/+9//iI+Pp7GxkZtvvpnp06cHOzbhB3C5XKxduw6XOQ1U36vno9bhsDXx3nvv+X42xwQ8LBtjQW9i1apVnHfeeaLcg9Bjamtrufeeu6mtruJXo9sw6wKTt1Gj4LA6/PumMebo5H52uoOyNg3//ve/sVgs3HjjjWL1uVPQrZZ/TEwM8fHxACQkJASUaxb6jpqaGm795S85dKgRT8KQk38BScIZN5iNGzfy4IMPBVRmFYSTpSgKW7du5U9/+hPX/PjHNNRWcs+4FsadxMLtR1Kr4MaRVuZm2HnnnXe46sqFvPbaazQ0NPRw5OGhW4dNk8nEz3/+c0477TR2796Nw+HgL3/5C+Cr9S+EVnV1NevXr+c/r7yC3enBNmQu3tisH/RarvR8FLWO1WtWc6DoAD+9/npOO+00YmO7Lg8hCN9XX1/PN998w8cffUhFZRWRWpiTZufsDAdJxlObqKWS4No8G6Ni3ayocvPKK6/w2muvMW3aVC688CLGjRsnFifqpm4l/zlz5vi/75zpK4SO0+lk27ZtbNq0iQ3ffkt1VRXgu2BrG3EmiiHqh7+4JOFOHYNsSqSmdDWLFi1CkiSG5OVxxumnM2XKFIYPHy4W0RYAXwmRwsJC9uzZw+7du9m7ZxeNh5oBGBLt5cYRNiYnudD14O4iSTAx0c3ERDd1NhWrqg2s3riWNWvWdlybzGHUqNGMGDGCkSNHkpGRIYaHdkFS+sGVk71794btQg5Op5OqqioOHjzIwYMH2bVrF1u3bcPtciGpNLjNyXiiM/BEZ6Doo3yfjGMw7vsMjaXW/7PHnIJ9+Lxjv7mioLIdQtNaiba1ElV7AygKkSYzk0+bxLBhw8jKyiIrK4uUlBTR/zrAde6LhYWF7N27l927d1FSUuovu5AUAYPNTgZHeRgZ6ybDdOLSDZ0WbYliX4vW//PwGDe/yz9+uecjuWXY3aSlqE1DcZuWkjYt9o7Jw+bICIaPHMXIkSMZOXIkOTk5JCQkhMUB4Xi5U3xa+4iWlhZ/gu+8lZaVU19XGziywRiNK2YInpgMX9mGY9Tp7xGShByZgCsyAVfaePA40bRW4W6rYtX6TaxcudK/qVqjIT09nUHZ2f4DQuctIiIieDEKPcrr9VJfX8/BgweprKykoqKCysoKKg6WU99wyL8vGjWQG+Xmwiw3g6M8DI7yEKULXTtSq4LxCW7GJ7gBO7IC1e1qits0FLc5KN63kc2bv6Pzo6TXaUlPTyczK5vMzEwyMzPJyMggMzOTqKhTOHPuR0Ty7yUej4eGhgbq6ur8t9raWsrLD1J+sByrxeLfVlJpkI3RePRRyKnjkA0xyMZoZH0UqLXHeZcg0+jxxOfiic/FAeBxonK0+m72FopbWzn43Q5YswaOOGDFxsWTM8j3IUtOTiY5OZmUlBSSkpKIj48PixZYX6IoCocOHaK6utqf4CsqfAm+uroat+dwi92olUg1ehhs9DBtkJeUCC8ZkV7SIr0nrMUfSioJMkxeMkxeZqY5gXbsHii3aKi2qam1qalpa2f/5lLWrJaQjzhuRZlNZGZmkZGZSVZWFhkZGaSnp5OWljagGjIi+fcQm81GbW0tdXV11NfXU1tbS319PTW1tdTU1NLS3HTU2GRJH4FHF4XXkIYc05HgDdEoOtNxu2/6DI0e2ZSEfMRkMgeA7EXltHQcGFqot7dyqLCCrTt3o7gDp/Sr1WoSEhJJSU0hpePAcOQtKSlJVJH9AZxOJ7W1tVRXV1NTU0NVVZXva2UFtbW1OF2HR9xoVJAcoZBicDM6zZfgO29RWqVf7IrdYdTA8FgPw2MDi8l5ZGhwqKjtOCjU2hzUVjezqWQPXwZORyAmOoq0tHTSOg4GR97i4uL6VUNGJP9ucjqd1NTUUF1d7f9A1dbWUl1TQ11tHTbb94ZFSiokgwm3JhJFH4ecmomsM6HoTci6SBRdZHC7bEJJpUY2xiAbY4DswMe8blQuK5LTisrVjuS0UumyUl1Ug2ZvEYqrPeCsASAqOoaUlGRSU1JISUkhLS2N9PR0UlNTSU5ODttrDQ6Hg7KyMqqqqvz7ZXV1FdWVlTQ2NQc0NvQaiSSjlyS9hxHJXt/3RpmUCC8JhhOvqDWQaVSQGiGTGiEDgcNQHR6otaupt6ups6motztoqD3EtrK9LHcE7qo6rZbU1BTS0jMC9tHs7GxSUlL63IEhPD81XVAUhdbWVn8Lqbq62v+hqqyqormpKWB7Sa1F1pvxaiORTZkocSZknQlZb0LRmVC0xv7Reu9taq1vMpkxli4vB8oykrsdldOK5PIdIBqdVppqrBQe3A7OtSAffqZKpSIhMZHMjIyjWmJpaWlERkb22q8WLIqiUFtbS0lJCcXFxb6vRQeoqqpGPiL7xBggUe9hqNHD9EGyP8EnGQdWC743GTQwyOxlUBfrDnhkaHSoqLerqbf7vjbY2qncVc6WTSqcRzwlwmggJzeXwYOHMHjwYHJzc8nNzQ3p/hm2yb+5uZnVq1dTUFBARWUlNdU1OBz2gG0kfSQenQlZH4+cPghZb0bWm1H0ZhSNQST3YFCpUPRmvHpz148rCpLbhsrRhuS0oHJaqHJaqN1/EPWO3SjuwPN0k9lMeno6WZmZnH766UydOhWj0dgLv8gPV1xczO7duykpKaGo6AAlxcXY7Id/r6QIyIxwMTHbQ4bJS1qEl0SjF70YfdurNCpIiZBJiTh67oKiQJtbos6mpqpdTUW7nYqqHSwv3MvH7sMH7JSkRHKH5DF48GAGDx5Mfn5+r11wDqvkb7FYWLNmDcuWL2frli2+02JDFB59NHJUDnKiGdngS+6y3jxwu2X6M0lC0UXi1UUCqUc/7nH5rjc4LaicbbicFlqq2ygsWcfXX3+NTqdn2rSpzJ49m8mTJ/ep6wlut5uXX36Zd955B/BdbM2MdHNGnIdMk4dMk5eMSA9GsVv2eZIE0TqFaJ2HoTGHrzEoCjQ5VVRY1R03J+U76vl2w3pkBWJjovnDHx9g4sSJQY8xLHYjm83G448/zvr16/F6vWCIwpkyFk9cLnKEmLk6oGh0yJp45Mj4gLvtioLaWofrUAmr1m5g5cqVGI0RXHDBPG677bYQBXtYbW0tDz30IPv27WdOuoMLsuzEG2RxcjnASBLEG2TiDXLHsFQflxdKLRpe2a9w9913ce211/GTn/wkqJMp+9YViCBxuVwUl5T6Ej/g1UagaI0ooRw2GQrfP5MJszMbRa1H0RqRtb5uH7vdRnFJSYij8nnppZfYt28/Bo2CWlKosalxh9GStTq1ctyfBzqrR0WNTU2C3o2iwH//+9+gr6kdFp/+mJgY3nh9MUVFRaxZs4ZV33zDwfJv4eC3yJEJeCIS/H35ssGMrDPD98odDwSemEw0rZUBPw84ioLkcfivB6icFiSnBV17HdjbkCSJkaNGMfPMq5gxYwapqV10HYXAr371K0aPHs23325g1dZtfFXpRq+WGB7jZFy8i6HRHpIjBm6//oR4FzsO6QJ+Hqg6rwdUWdXsbNKxo1lPhcXXDk9MiOOii6Zx+umnM378+KDGEbblHSoqKlizZg1r166jrLwcW7s14HFJa8CrM+PVmw4fGDov+OoiQeqHJ02KQsTO95C8Llzp+b6F2/tjv4LsQXK2o3K2BSR4jduKymFB8QYO14uOiSUvbwhnzpjBtGnT/BVq+6rO2k0bN27k2w3rqa45XJIjzggpBrdvHL7RS3LHePxEg9yt9XD7KkWBe7+Nwe6RuCzXxqw0Z7/cNY/U7paosx8xf8Cups6uodamwe7xpV21WsXYMWOZcvrpTJ48mZycnB4tpX683Bm2yf/7LBYLNTU1/lvnuOnKqmrq6+uQvUeM2+ocw681fW/s/pFj+PtmE8247zOA49f0CTWv2zcHwHV4LoCq43uN24riCDxQa3U6UlNTyegYV52amkpaWhqpqamkpKT0+dE9J1JZWcmBAwc6Si1UUnHwIJUVB7G02/zbqCTfKKBkg+uIA4NMstFLnF5G3Q8ODIu2+Ea5nExNn1Cze6DBoabOpqbWpqLWrqbWpqHOoaXNeTi1SpJEclIimVnZ/jISGRkZjBo1KqjDPUVtn24wm82YzWaGDh161GMej4fGxkb/QcE/D6C6mtraOlobC496jqSPxKuNwKvtOCjoOw8Ovu9R6/tnq/tUKQqS296R2K2+FnxHote4fd9/f7imSqUiLj6elOwU0tPH+RN759e4uLgBvfBMRkYGGRkZR93f2tp6RP2dyo4DQzmrqqpwOg93m6glSDBCosFFklEm0XB4/H+SUcao6fPtv5CRFWhxqai3qXxJ3q6iwa6m3qGm4XsJHiAuNobMQVnMyAisF5SamopO17e6kkXy7waNRkNKx+zSCRMmHPW4y+Wivr6e+vp6f3mHzvo9NbW1NNQX4nYH9mFKai2KPhKPJhLZEIVsiPbffN1K/TiZyTKSq6O8g70VlbMVlaMNrcfma7UrgVcyDUYjyUnJpKbm+Us6HPk1Pj4+bGfxHk90dDTR0dGMGjUq4H5FUWhsbKSysjKgvEN1dRXfVVVhqQqcjW7WSyTqPSQZPSQdcWBIj/QeteLWQCQrUG/3XXANmLDl1NJgl3AfcdKvkiSSEhNIG5zJiI7GR2fdn4yMjH5V+yconyhZlnnooYfYv38/Op2ORx99lOzsw9P8P/nkE1577TXUajVDhw7loYce6nNTn0+GTqc7ZusMDs8ePrKoW+cBorq6horKUpz1h1u7klqDrI/yFXY74qAgG6L7zoXojgur/sJuHTeN0wKOtoAEbzJHkZWZQWrqKH9CP7J2j1gZrmdJkkRiYiKJiYldNlY6uziPLFVSXV1NWWUFmyoa/SWaAaL0EulGF+mRXtIjPR1f++dBoTPJV7WrqWrX+L7atNS0qwJGVhkNetLS0hicnsGMI2aLd3YjDpSGSFB+i2XLluFyuViyZAnbtm3jiSee4MUXXwR89Uj++te/snTpUoxGI7/5zW9YuXJlwIIxA40kScTExBATE8OwYcOOeryzyqK/umJFBQcPHqT8YAV1tTsCarRIugg8+mg8piS8UWl4TYm9M2TT40RtqUNjqUbT3oDa0YbiOVykTaPVkp6WTnb2WH+J3M5buJTI7S9O1MVZV1dHZWUl5eXllJWVUVZayvqyUmxVhxsoUXqJ9AgX6RG+g0KmyUtulKfPXHRudUkUtWr8Sb7apqXapgpoxSclJpAzcjCnZ2eTk5NDVlYW6enpREdHD+huxE5ByRoFBQXMmDEDgPHjx7Nr1y7/Yzqdjrffftt/Ec7j8ZxwlqXT6WTv3r3BCLVPMRgM5OXlkZeX57/vyFLQnWcLlZVVVFTsQKnZDiq170BgTsUTlYYckQA9cRbldaO21qFuq0FrqUXV3ggoaDQacnJySE0dEdCCP1ZFw6qqKqo6VhoT+o+oqCjGjBnDmDFjAF8Dpbm5+XuDIqpYW1ODo8rXpalTw7BoF6Pi3IyMdZNl6r2yz3aPxL4WDbubtOxp0VNpPbwvxsVGk5qVwcwjBgOkpKR0udxj5+8WDoKS/K1Wa8CpvFqtxuPxoNFofIW4EhIAWLx4MTabjWnTph339fR6fdiu5HUsVquVHTt2sHXrVjYXFFBasgV91RYktRZXVAbO9HwUY/RJv666rQZ9zTbU1jqQZdRqNSNGjmRi/jzy8/MZMWJEn7twJYSOoig0NDSwf/9+tmzZQsHm73i7yDeXxKSTGBnjYGSsm/wEFzH6nusqUhQoatOw45CW3c06Sto0yIqvsuaYsWM4P38i48ePJycnp1/1w/e04zWag5L8TSYT7e2HLyrJshzQTybLMk899RSlpaU899xzYXGK1dNMJhNTp05l6tSpgG8lsO3bt7Nlyxa+/OortLs/wJU4HFfaeBTtiRe0lhytGCq+Q9NykPiERM5ZuJD8/HxGjx7d74dKCsEjSRJJSUkkJSX5z/YbGhrYunUrBQUFbNn8HZv2N/FGEcxOs3NBlv2UDgKKAnubNbxXFsmBFg0qSWLYsKFcfdFp5OfnM2rUqD5Vr6kvC0ryz8/PZ+XKlcybN49t27Yd1bf4wAMPoNPpeOGFF/r1hd6+JCYmhpkzZzJz5kyuv/56XnnlFZYuXYq+qZj2wbPwRqUd87nauj0YKjah1+u47oYb+NGPfiQ+QMIPlpiYyDnnnMM555yDoiiUlZWxZMkSvvrqK1ZWG5mTZufCQXbM2pM7CBS2aHi3JJJ9LRoS4uO4447rmDNnDmbzMSrACscVlElenaN9CgsLURSFRYsWsWfPHmw2G6NHj2bBggVMmjTJ3+K/7rrrOPvss4/5euG8gPupKC0t5Q9//CNVDS1YRl0Cat1Rk7xU9mYi93zE5EmT+O1vf0tcXFwIIxYGssrKSv773/+y7OuvSY308ocJLUQecQA43iSvrY1a/rozitiYGK659jouuOAC0UDpBjHDN4zt3r2bX952G66kkTizphyV/CP3fUYU7by+eDExMTEhjFQIFwUFBdx3773kRTm5e1wr2o6T/2Ml/+I2DY9vjSZncB7P/vVvYd2Hf7KOlztFn8sAN2rUKKaecQa6tsqjH/Q4UVlqueLyy0XiF3rNxIkTufe++9jbrGFZ5fGvRykKvLQ3iriEJB5/4kmR+HuQSP5hYNSoUWBvBc/3Fk+3HQJg5MiRoQhLCGPnnHMOo0eNZGV1BPJx+h72NmuoaZf42c9/Iboke5hI/mEgKysLAJXTEnC/ytEW8Lgg9Kb5F19CrU2iuO3Y407W1BowRUYwc+bMXowsPIjkHwaSkpIAULkCa7pIrnYkSRItKiEkzjjjDFQqFdsbu15USVZgR5OeKaefIS7uBoFI/mEgJSUFAOn7LX+nhYTEpAFTq0ToX8xmM6NHjWRbU9f9/qVtGiwuOP3003s5svAgkn8YiI6OJiLS5O/m6aR2tpGVOQBX8xL6janTpnPQoqLRfnQq2tKoRaVSMWXKlBBENvCJ5B8mBufmoLE3Hb5DkVHbW8jNzQldUELYmz59OgCbGwNLhigKFDQaGTd2rCgMGCQi+YeJ4cOHo7Y1+T5V+CZ3KbKnyyqjgtBbMjIyGJybw8b6wK6finY11e0SZ82aFaLIBj6R/MPEqFGjUGQPkuwBQG2tB8QwTyH0Zs+ZS3GrOqCm/sY6HSqVSozyCSKR/MNEZ2leyeMrv6u21BIXn0BqamoowxIEZnW07ttcvnSkKLCxwUj+hAli8mEQieQfJuLj40lLT0fyukABnbWO/AnjRUVVIeTS0tIYNmwoFrcvHZVb1dTbRJdPsInkH0byJ0xA8rqQZA+Ky8a4ceNCHZIgADBt2nQcXgmPDNs6Lv52lisXgkMk/zDiW+hbQfLYj/hZEEKvcyx/u0did7OOoXl5YvJhkInkH0Y6R/ZILhs6nZ7s7OwQRyQIPrm5uUiShMMrUW7VMlI0TIJOTO0MI+np6QBIKKSmpaFWq0MckSD4aDQa9Ho97S4Zl6yQm5sb6pAGPNHyDyN6vR5VR8JPTIgPcTSCEEitVvsrfIrSzcEnkn8YURQFWfYNprbbHSGORhACde6bAHa7PYSRhAeR/MNIdXW1f4bvwYoKXC5XiCMSBJ+WlhbsdjvROpkYA2zevDnUIQ14IvmHkZdffhkAWR+Fpa2V999/P8QRCYLPa6+9BoBZqzAhzsH6devYt29fiKMa2ETyDwMul4v/+7//Y9WqVcg6E7IuAk9MJv/5zyt8/vnn9INlnIUBbOnSpXzwwQfE6r0YNAoLcm1Eaz38/nf309DQEOrwBiyR/Ae4wsJCbrjxRl5//XXc8UOQdZEAOLKnYdfH8uSTT3Lfb38rPmRCr2tubuaxxx7jmWeeYWy8mySjr88/Sqdwx5gWrG3N/Oyn1/PZZ5+JBkoQSEo/+KsebwV64WgWi4XVq1ezbPlytm3dCloj7dnT8MZkYtz3GQD24fNAUdDW78FYVYBGJTF16lTmzp3L5MmTxcpJQtC43W6++OILXvrXP7HZ2rkg08b8QXae3u4r3fy7fN+6E5VWNa8Wmihs0TB2zGh+9evbycvLC2Xo/c7xcqcY5z9A2O121q9fz/Lly9m4cSNerxeM0ThTx+FKHgWaLpK5JOFOHoUnOhNd3W5Wb9jEN998g9EYwcyZZzJnzhwmTJggVvoSekRNTQ2ffPIJn36ylJbWNobFeLj+NCvpkd4ut88wefndhFbW1OhZsn8XN9xwA6NHjWL+xRczc+ZM0UA5RaLl30+1tbWxa9cuduzYwbbt2zlQWOhL+PpIXDGDcMcPRo6Ih+8Vbgto+X+fIqNuq0HbVIKupRzF40JvMDB61CjGjh3L2LFjGTFiBAZD18vuCcL3ud1uNm7cyNKlH7Np0yYAxse7mJ3mYGy8O2D3XLQlsOV/JKtbYk2NnhXVEdTZJKLMJs6fdwHz5s0TM9WPQ7T8+zlFUaivr2fHjh3s3LmTbdu3c7C83PegSo0cmYA7cSTe6Ay85pSjEn63SSq80el4o9NxyGegaa3C1VbN5r2lFBQUdLydmqF5eYwbN44xY8YwZswYoqOje+g3FQYCj8fDtm3bWLFiBWu++QZLezsxBrg428bMNCfxBvnEL/I9Jq3C+VkOzs10sKdZy8oqJ/97ZwlLlixhcG4Os+fMZfbs2aJE+UkQLf8+yOl0UlhYyO7du9mzZw87d+2iucm3BKOk0eGOTMRrSsFrTsYbmQCq7h/Dj9vyPx6PE7W1HrWlDk17Her2RpB9p+tp6emMGT2akSNHMnLkSHJyckRXUZhRFIXdu3ezbNkyVq1cQUtrGwYN5Mc7mZLsZEycG80Jhpccr+XflRanxKZ6Pd/WGyhq9c1cHzF8GLPnzGXOnDmiMBzHz50i+fcBNTU1/kS/a/duioqKkL0d/aCGKNwRiXhNiXjNycjGWJB++CCtH5z8v0/2oG5vRG2tQ2VtQGdrQHH5ZmXq9QaGDx/OqFEjGTVqFKNGjRKLcgxQFouFr7/+mo8/+pCy8oNo1TAh3smUJBfj4l3oTqJ81Mkm/yM12FVsqtfxbb2RcosKtVrF9OnTueii+eTn56NShefAxl7v9pFlmYceeoj9+/ej0+l49NFHA/rlVqxYwT/+8Q80Gg0LFizgiiuuCEYYfVplZSUrV65kxcqVlJaUACCptXgiE/AkjcIbmYRsSkTRGkMc6TGoNHjNKb5uJsChKEguK2prPS5rA1uLq9i+YwcoMpIkMXbsWGbPns2MGTNEi2wAOHDgAO+++y6rVq7A6XKTG+Xl58PtTE5yYgzBSV+iUeaCbAcXZDuoalfzTbWetRtW8803q0lLTeGi+Rdz8cUXi5pBRwhKy/+rr75ixYoVPPHEE2zbto1//etfvPjii4DvAtC8efN49913MRqNXHXVVfzzn/8kMTHxmK83UFr+1dXVrFy5kuUrVlBSXAyAbE7GFTMIb1TKKbfqu6PHWv7dIXtQtx9C3VaFvqUcbM1IksS4ceOYNWsWM2fOFGcE/dDq1at55OE/oUHmjGQ7Z6U5GGTuesTOyTiVln9XXF7Y3KBjVY2Rfc0ahgwZzFNPPU1sbGyPvH5/0Ost/4KCAmbMmAHA+PHj2bVrl/+x4uJisrKy/BcJJ06cyObNmzn//PODEUqfYbFYuPba6/B6PcimJFyZU/DEDULpmHQ1IKk0vusS5mRcaRNQ2VvQNJeybX8Z27Y9yzv/+x9vvP56qKMUTsIXX3zBn598ktwoD78Z24pJ23d7jXVqmJriYmqKi+2HtDy3q4Rf/+o2nvnLsyQlJYU6vJALSvK3Wq2YTCb/z2q1Go/Hg0ajwWq1Yjab/Y9FRkZitVqP+3pOp5O9e/cGI9Re097ejtfrwZkxCVfq2JDF4U4I0SQZSUKOiMUVEYsrbQKG4pXYbJZ+/38NJ4qi8MI/nkenkrlrbCuRPZz4z0wNXqXZcfFurhps4bXCKl599VUuuuiioL1XfxGU5G8ymWhvb/f/LMuyf/TH9x9rb28POBh0Ra/X9/tuH4/Hg1qtwVC7E5W9GU/sIDzR6Sc1UqdH4ghV8gfwONG0HETbXIamrZrEvCH9/v8abm6/404eeeQR3iqK4Pph7SccwXMypqcGr8psnU3FR+UmUpOTuPHGG8Omu/F4jaugZJ78/HxWrlzJvHnz2LZtG0OHDvU/NnjwYMrLy2lpaSEiIoLNmzfz85//PBhh9CkajYann36KL774grVr19FeVIyk1uKKzvAdCKLSup6F289JLhualoNomsvRWGpAkYlPSGTWZZdy4YUXhjo84STNmTOH0tJSXn/9dXY0GZiVZmNWmoMYfd/r/lEU2N+i4etKAwWNegwGA88+8WTYJP4TCcoF387RPoWFhSiKwqJFi9izZw82m42FCxf6R/soisKCBQv48Y9/fNzXGygXfDt5PB62bt3K6tWrWfXNaixtrb4HImJxRyTgNSXhjUxENsYE/QJwj5K9qGyHfPMBrA3o7I0oDgsAqalpnHXWTGbOnMmwYcOQfuhENCHkFEVh48aNfPD++2zctAm1Ck5LdDIn3UFetAdViP+1No/Exjody6ojqLCoMJsimXfBhVx66aWkpKSENrheJsb592Fer9dfpqFzQpfV4kuY/qGfkUm+cf6mJND0ndIKktM3tFPdXo+mvQGVrck/8SsxMYnRo0cxcuRI8vPz/Qt0CwNLZWUlH3zwAZ9/9hk2u504A0xJtDMl2UmO2fuDJ5ufLKcXtjbq2FinZ3uTDo8MuTmDuGzBj5g7d27YliQRyb8fURSFqqoq9uzZ45v0tWs3JSXF/iXulIhY3JG+ETReUzKK3nSCV+yxwFA5WlBb6lBb6tDa6sDhu1Cv1ekYPnw4o0eN8s/yjY8XawSHE5vNxrp161ixfDnfffcdHq+XpAiFKYl2pqa4jlm87VR4ZNh+SMuGOj3bDxlwehXiY2M5a/ZsZs+ezciRI8O+wSGSfz/ncDjYv38/O3fuZMeOHezYuRNH5xqnBjPuyCS8pmQ8UWkohqieeVNF8XXhWGpRW2oDZvBGx8Qwftw4xo0bx+jRo8nNzRXlHAQ/i8XCmjVrWLF8OVu2bkWWZYZEe5mZamdKkhPDKe4qNe0qvqkxsLbOSJsToqPMnDVrNrNmzWLMmDGo1ScxrXiAE8l/gPF6vZSUlPgOBDt2sHXbdtpaWwCQTYm4YnPxxOegaE9+NqNkb0XbVIy+qQQcvsk2KampjB83zl/ZMz09PexbVEL3NDc389VXX/HpJ0s5WFGJQQOnJzmYm+4g6yQmhnll+LbON2Frf4sGtVrF1KlTmTfvAk477TTR+DgGkfwHOEVRqKysZN26dXz99TKKi4tAkvCaU3HF5aLojz+UFkBlO4S+qQSpvRFJkhg/YQJz58xhypQpJCQk9MJvIQxknYXfPvnkE1auXIHL6WJ6qoPLc20nHCm045CWt4pNVFlVpKelceFFF3HOOeeIrsVuEMk/zJSXl7Ns2TK++vpr6mpru/28vKFDOefss5k1a5ZI+ELQWCwW3njjDd793//QSDLzMttJ6+KagKzAulo92w/pSEtN4ZZbf8n06dPFWedJEMk/TCmKQlFR0QlnUAMkJiaSkZHRC1EJgk9lZSX/fPFF1q5bd8xtIowGrvvJ9Vx22WXodLpejG5gEMlfEIQ+q6amBoej69IOiYmJAaVihJMjVvISBKHPEqtvhUY/mj4qCIIg9BSR/AVBEMKQSP6CIAhhSCR/QRCEMCSSvyAIQhgSyV8QBCEMieQvCIIQhvrFOP+BsIavIAhCb3M6ncd8rF/M8BUEQRB6luj2EQRBCEMi+QuCIIQhkfwFQRDCkEj+giAIYUgkf0EQhDAkkr8gCEIY6hfj/MON2+3md7/7HVVVVbhcLm655RaGDBnCb3/7WyRJIi8vjwcffBCVSsU777zD22+/jUaj4ZZbbmHWrFk4HA7uueceDh06RGRkJE8++SRxcXEB72GxWLjnnnuwWq243W5++9vfMmHCBLZt28Zjjz2GWq1m+vTp3HbbbQA8+eSTbNmyBY/Hw8KFC7niiitoamri7rvvxuFwkJSUxOOPP47RaAzFn0zoZdu3b+fpp59m8eLF7N69mwcffBCdTseIESP4/e9/j0ql4t///jeffvopkiRx8803c/bZZwdl33z++edZtWoVGo2G3/3ud4wdO1bsm92hCH3Ou+++qzz66KOKoihKU1OTMnPmTOWmm25Svv32W0VRFOWPf/yj8tVXXyn19fXKhRdeqDidTqWtrc3//X/+8x/l73//u6IoivLJJ58ojzzyyFHv8be//U155ZVXFEVRlOLiYuWSSy5RFEVR5s+fr5SXlyuyLCu/+MUvlF27dikbNmxQbr31VkVRFMXpdCpz585VWlpalEceeUR57733FEVRlH/961/+1xMGtpdeekm58MILlcsvv1xRFEW59NJLlYKCAkVRFOUvf/mL8uGHHyqtra3KzJkzFafTqbS0tChnnXWWoihKj++bu3btUq699lpFlmWlqqpKueyyyxRFUcS+2Q2i26cPOu+887j99tv9P6vVanbv3s3kyZMBOPPMM1m/fj07duxgwoQJ6HQ6zGYzWVlZ7Nu3j4KCAmbMmOHfdsOGDUe9x/XXX8+VV14JgNfrRa/XY7VacblcZGVlIUkS06dPZ8OGDUyYMIFFixb5n+v1etFoNEe9z/r164P2NxH6jqysLJ577jn/z3V1deTn5wOQn59PQUEBRqORtLQ07HY7drvdv+h6T++bBQUF/kXd09LS8Hq9NDU1iX2zG0Ty74MiIyMxmUxYrVZ+/etfc8cdd6Aoiv8DFBkZicViwWq1YjabA55ntVoD7u/c9vuioqIwGAw0NDRwzz338Jvf/Aar1RqwXmrnc/V6PdHR0f5T8IULF/rf60TvIww85557LhrN4R7jzMxMNm3aBMDKlSux2+2Ab3nGCy64gEsvvZTrrrsOoMf3zePdL/bN4xPJv4+qqanhuuuu4+KLL+aiiy5CpTr8r2pvbycqKgqTyUR7e3vA/WazOeD+zm3Ly8u59tprufbaa/nf//4HwP79+7n++uu58847mTx5cpevFxUVBUBrayu/+MUvGDx4MDfddBNAl+8jhJ9Fixbxr3/9ixtvvJH4+HhiY2NZvXo19fX1LF++nFWrVrFs2TJ27NjR4/vmyXwGhEAi+fdBjY2N/OxnP+Oee+7hRz/6EQAjR45k48aNAKxevZpJkyYxduxYCgoKcDqdWCwWiouLGTp0KPn5+XzzzTf+bSdOnEh2djaLFy9m8eLFXH755RQVFXH77bfzzDPPMHPmTMCXzLVaLQcPHkRRFNauXcukSZNwOBxcf/31LFiwgF/+8pf+OLt6HyH8fPPNNyxatIiXXnqJlpYWpk2bRnR0NAaDAZ1Oh16vx2w209bW1uP7Zn5+PmvXrkWWZaqrq5Flmbi4OLFvdoMo7NYHPfroo3z++efk5ub67/v973/Po48+itvtJjc3l0cffRS1Ws0777zDkiVLUBSFm266iXPPPRe73c59991HQ0MDWq2WZ555hsTExID3uOWWW9i/fz/p6emA78P14osvsm3bNhYtWoTX62X69OnceeedvPrqqzz//POMGDHC//xFixZhNBq57777aG9vJzY2lmeeeYaIiIje+SMJIVVZWclvfvMb3nnnHVasWMHf/vY3jEYjU6ZM4c477wTg73//O2vWrEGlUpGfn8+9996Lw+Ho0X0T4LnnnmP16tXIssz999/PpEmTaGxsFPvmCYjkLwiCEIZEt48gCEIYEslfEAQhDInkLwiCEIZE8hcEQQhDIvkLgiCEIZH8BUEQwpBI/oIgCGFIlHQWBry77rqLiy66iLPOOovi4mKefPJJEhISKC8vR5Zl7rjjDqZMmcIXX3zBG2+84X/e3/72Nw4cOMDTTz+NVqvliiuu4JJLLjnq9Zuamvz1l9xuN3/605+IjIzk9ttvJzExkbq6Os4880zuvPNOCgsLeeKJJ5Blmba2Nv7whz+Qn5/POeecQ35+PqWlpcTHx/Pcc8+hVqt78a8khBuR/IUB7/LLL+ett97irLPO4t1332XChAlYrVYWLVpEc3Mz11xzDZ9++illZWW89NJLGI1GHnjgAdauXUtycjJOp9Nfc6YrO3bswGw288wzz1BUVITVaiUyMpKqqir+/e9/Yzabufrqq9m9ezfl5eXcd999DBs2jKVLl/L++++Tn59PRUUFr732GqmpqVx55ZXs3LmT8ePH994fSQg7IvkLA96UKVN47LHHOHToEOvWrWPChAls2bKFHTt2AODxeGhubiY+Pp777ruPyMhISkpK/Mk3JyfnuK9/5plnUlZWxq233upfVAdg+PDhxMTEADB27FhKS0tJSUnhhRdewGAw0N7e7q9IGRsbS2pqKuCrhul0OoPwlxCEw0TyFwY8SZK46KKLeOyxx5g2bRqpqamkpqZy880343A4ePHFF9FoNPz9739n1apVAPz0pz+ls/LJkRVVu7Jx40aSkpL4z3/+w9atW/nLX/7C448/TnFxMXa7HZ1Ox44dO1iwYAH3338/Tz/9NIMHD+bvf/87VVVV/hgFoTeJ5C+Ehcsuu4yzzjqLjz76iMzMTP7whz9wzTXXYLVaufrqqzGZTOTn53PppZcSERFBVFQU9fX1ZGRknPC1hw8fzp133slrr72GSqXyVz7VarXcfvvtNDY2ct555zF8+HDmz5/PrbfeSnx8PCkpKTQ3Nwf7VxeELonCbkJYqKur49577+W1117rlfc7suqlIPRFouUvDHhffvklzz//PI899tgpvc7zzz/vX1PhSIsWLSIzM/OUXlsQepto+QuCIIQhMclLEAQhDInkLwiCEIZE8hcEQQhDIvkLgiCEIZH8BUEQwtD/A/1hg91KoUm+AAAAAElFTkSuQmCC\n",
  2895. "text/plain": [
  2896. "<Figure size 432x288 with 1 Axes>"
  2897. ]
  2898. },
  2899. "metadata": {},
  2900. "output_type": "display_data"
  2901. }
  2902. ],
  2903. "source": [
  2904. "viol_plot = sns.violinplot(x='year_span', y='prop_actresses', data=data_movie_gender_stat)\n",
  2905. "\n",
  2906. "medians = data_movie_gender_stat.groupby(['year_span'])['prop_actresses'].median()\n",
  2907. "vertical_offset = data_movie_gender_stat['prop_actresses'].median() * 0.05 # offset from median for display\n",
  2908. "\n",
  2909. "for xtick in box_plot.get_xticks():\n",
  2910. " box_plot.text(xtick,medians[xtick] + vertical_offset,medians[xtick], \n",
  2911. " horizontalalignment='center',size='x-small',color='w',weight='semibold')"
  2912. ]
  2913. },
  2914. {
  2915. "cell_type": "markdown",
  2916. "metadata": {},
  2917. "source": [
  2918. "### Result"
  2919. ]
  2920. },
  2921. {
  2922. "cell_type": "markdown",
  2923. "metadata": {},
  2924. "source": [
  2925. "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",
  2926. "The number of main actors in movies is typically in the single digits."
  2927. ]
  2928. }
  2929. ],
  2930. "metadata": {
  2931. "kernelspec": {
  2932. "display_name": "Python 3",
  2933. "language": "python",
  2934. "name": "python3"
  2935. },
  2936. "language_info": {
  2937. "codemirror_mode": {
  2938. "name": "ipython",
  2939. "version": 3
  2940. },
  2941. "file_extension": ".py",
  2942. "mimetype": "text/x-python",
  2943. "name": "python",
  2944. "nbconvert_exporter": "python",
  2945. "pygments_lexer": "ipython3",
  2946. "version": "3.8.8"
  2947. }
  2948. },
  2949. "nbformat": 4,
  2950. "nbformat_minor": 4
  2951. }

Powered by TurnKey Linux.