tag:blogger.com,1999:blog-31058432024-03-12T21:28:44.426-04:00Clueless BlogSome comments may be confusing without additional explanation. Others may be inaccurate and subject to change without notice.dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.comBlogger425125tag:blogger.com,1999:blog-3105843.post-68893393101576184092019-06-09T19:44:00.000-04:002019-06-11T06:31:40.032-04:00The Automation Death Trap Effect
<p>As a programmer and a data scientist, I've always been tempted by the prospect of having the computer do the thinking for me. Genetic algorithms especially fascinated me. They could test out various techniques, choose the best one, and I wouldn't have to strain myself too much trying to figure that out.</p>
<p>According to Wikipedia, the forgetting curve hypothesizes the decline of memory retention over time in a negatively convex shape that flattens out more when consciously reviewing the learned material:</p>
<p><a title="The original uploader was Icez at English Wikipedia. [Public domain], via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File:ForgettingCurve.svg"><img width="90%" alt="ForgettingCurve" src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/ForgettingCurve.svg/1197px-ForgettingCurve.svg.png"></a></p>
<p>This happens with every human memory task and most importantly with every human in a tasks-being-replaced-with-automation pipeline. The problem is when human capability degrades faster than automation capability increases. In that scenario, you get a transient death-trap period where risks are very high. Venkatesh Rao calls it the "automation death trap effect":</p>
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Has anyone named this effect? I have seen it implicitly discussed but not explicitly. Human capability degrading faster than automation capability increases, creating a transient death-trap period where risks are very high. I call it the automation death trap effect. <a href="https://t.co/t9e3rQPmb5">pic.twitter.com/t9e3rQPmb5</a></p>— Venkatesh “is moving to LA in a few weeks” Rao (@vgr) <a href="https://twitter.com/vgr/status/1137482734614396928?ref_src=twsrc%5Etfw">June 8, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p>For the military, when the rate of use of a now-automated skill is lower than the rate of practice needed to keep it usable, it is maintained at the minimum practice level regardless of mean time between automation failures (MTBF). Because the military trains constantly on loss-of-technology scenarios for their own infrastructure, their forgetting curves are flatter, possibly avoiding the death trap.</p>
<p>But civilians are <a href="https://99percentinvisible.org/episode/children-of-the-magenta-automation-paradox-pt-1/">Children of the Magenta Line</a>, referring to the over-dependence of commercial pilots on the autopilot software working correctly. “We appear to be locked into a cycle in which automation begets the erosion of skills or the lack of skills in the first place and this then begets more automation.” according to William Langewiesche.<div class="separator" style="clear: both; text-align: center;"><a href="https://99percentinvisible.org/app/uploads/2015/06/Screen-Shot-2015-06-22-at-11.54.13-AM-300x263.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://99percentinvisible.org/app/uploads/2015/06/Screen-Shot-2015-06-22-at-11.54.13-AM-300x263.png" data-original-width="300" data-original-height="263" /></a></div></p>
<p>I had my own "children of the magenta line" incident. I rented a car without a GPS and was driving to a re-booked hotel in a city I was unfamiliar with when my iPhone overheated and permanently shut down. And I discovered that I had never memorized my wife's new phone number. Or even the name of the hotel. I had to relearn the skill of following road signs to where I could get my laptop on WiFi, then email my wife to find out her phone number. And it took me a couple of tries before I relearned the skill of explicitly writing down a detailed set of directions to the hotel and to Best Buy and back to the hotel with a new phone.</p>
<p>I have abnormally bad working memory, so I'm probably an edge case. But you can't cram for an emergency and a critical mass of forgetfullness increases the risk for too much infrastructure being in the death-trap state at the same time due to a correlated automation wave causing systemic collapses via contagion and 2nd order effects as failures cascade, according to Rao.</p>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-46672297541835466142017-12-08T22:16:00.000-05:002017-12-08T22:18:01.755-05:00GapMinder Model Interpretation for ANOVA and post hoc ANOVA results<div class="container" id="notebook-container">
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [1]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 64px; overflow: hidden; position: relative; top: 22.5938px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="bottom: 0px; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; pointer-events: none;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 351px; min-width: 554.547px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors">
<div class="CodeMirror-cursor" style="height: 17px; left: 64px; top: 17px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">import</span> <span class="cm-variable">pickle</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">import</span> <span class="cm-variable">pandas</span> <span class="cm-keyword">as</span> <span class="cm-variable">pd</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># Handy list of the different types of encodings</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">encoding</span> = [<span class="cm-string">'latin1'</span>, <span class="cm-string">'iso8859-1'</span>, <span class="cm-string">'utf-8'</span>][<span class="cm-number">1</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># Change this to your data and saves folders</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">data_folder</span> = <span class="cm-string">r'../../data/'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">saves_folder</span> = <span class="cm-string">r'../../saves/'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">def</span> <span class="cm-def">load_object</span>(<span class="cm-variable">obj_name</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">pickle_path</span> = <span class="cm-variable">saves_folder</span> <span class="cm-operator">+</span> <span class="cm-string">'pickle/'</span> <span class="cm-operator">+</span> <span class="cm-variable">obj_name</span> <span class="cm-operator">+</span> <span class="cm-string">'.pickle'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">try</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">object</span> = <span class="cm-variable">pd</span>.<span class="cm-property">read_pickle</span>(<span class="cm-variable">pickle_path</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">except</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">with</span> <span class="cm-builtin">open</span>(<span class="cm-variable">pickle_path</span>, <span class="cm-string">'rb'</span>) <span class="cm-keyword">as</span> <span class="cm-variable">handle</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">object</span> = <span class="cm-variable">pickle</span>.<span class="cm-property">load</span>(<span class="cm-variable">handle</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">return</span>(<span class="cm-builtin">object</span>)</span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 351px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 381px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [2]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 207px; overflow: hidden; position: relative; top: 311.594px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="bottom: 0px; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; left: 0px; right: 0px;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 385px; min-width: 672px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors" style="visibility: hidden;">
<div class="CodeMirror-cursor" style="height: 17px; left: 207px; top: 306px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">from</span> <span class="cm-variable">sklearn</span>.<span class="cm-property">decomposition</span> <span class="cm-keyword">import</span> <span class="cm-variable">PCA</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">import</span> <span class="cm-variable">os</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">obj_path</span> = <span class="cm-variable">saves_folder</span> <span class="cm-operator">+</span> <span class="cm-string">'pickle/gapminder_df.pickle'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">if</span> <span class="cm-keyword">not</span> <span class="cm-variable">os</span>.<span class="cm-property">path</span>.<span class="cm-property">isfile</span>(<span class="cm-variable">obj_path</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">gapminder_df</span> = <span class="cm-variable">pd</span>.<span class="cm-property">read_csv</span>(<span class="cm-variable">data_folder</span> <span class="cm-operator">+</span> <span class="cm-string">'csv/gapminder.csv'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">low_memory</span>=<span class="cm-keyword">False</span>, <span class="cm-variable">encoding</span>=<span class="cm-variable">encoding</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">else</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">gapminder_df</span> = <span class="cm-variable">load_object</span>(<span class="cm-string">'gapminder_df'</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">gapminder_df</span>.<span class="cm-property">columns</span> = [<span class="cm-string">'country_name'</span>, <span class="cm-string">'income_per_person'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'alcohol_consumption'</span>, <span class="cm-string">'armed_forces_rate'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'breast_cancer_per_100th'</span>, <span class="cm-string">'co2_emissions'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'female_employment_rate'</span>, <span class="cm-string">'hiv_rate'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'internet_use_rate'</span>, <span class="cm-string">'life_expectancy'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'oil_per_person'</span>, <span class="cm-string">'polity_score'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'residential_electricity_per_person'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'suicide_per_100th'</span>, <span class="cm-string">'employment_rate'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'urban_rate'</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">number_column_list</span> = <span class="cm-builtin">list</span>(<span class="cm-builtin">set</span>(<span class="cm-variable">gapminder_df</span>.<span class="cm-property">columns</span>) <span class="cm-operator">-</span> <span class="cm-builtin">set</span>([<span class="cm-string">'country_name'</span>]))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">elite_df</span> = <span class="cm-variable">gapminder_df</span>.<span class="cm-property">dropna</span>(<span class="cm-variable">how</span>=<span class="cm-string">'any'</span>).<span class="cm-property">copy</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">elite_ndarray</span> = <span class="cm-variable">PCA</span>(<span class="cm-variable">n_components</span>=<span class="cm-number">2</span>).<span class="cm-property">fit_transform</span>(<span class="cm-variable">elite_df</span>[<span class="cm-variable">number_column_list</span>])</span></pre>
<pre class=" CodeMirror-line " role="presentation" style="display: none;"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">elite_ndarray</span> = <span class="cm-variable">PCA</span>(<span class="cm-variable">n_components</span>=<span class="cm-number">2</span>).<span class="cm-property">fit_transform</span>(<span class="cm-variable">elite_df</span>[<span class="cm-variable">number_column_list</span>])</span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 385px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 415px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [3]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 274px; overflow: hidden; position: relative; top: 158.594px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="bottom: 0px; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; left: 0px; right: 0px;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 929px; min-width: 680.672px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors">
<div class="CodeMirror-cursor" style="height: 17px; left: 274px; top: 153px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-operator">%</span><span class="cm-variable">matplotlib</span> <span class="cm-variable">inline</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">import</span> <span class="cm-variable">matplotlib</span>.<span class="cm-property">pyplot</span> <span class="cm-keyword">as</span> <span class="cm-variable">plt</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">from</span> <span class="cm-variable">sklearn</span>.<span class="cm-property">cluster</span> <span class="cm-keyword">import</span> <span class="cm-variable">DBSCAN</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># Compute DBSCAN</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">db</span> = <span class="cm-variable">DBSCAN</span>(<span class="cm-variable">eps</span>=<span class="cm-number">7750000000</span>, <span class="cm-variable">min_samples</span>=<span class="cm-number">2</span>).<span class="cm-property">fit</span>(<span class="cm-variable">elite_ndarray</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">labels</span> = <span class="cm-variable">db</span>.<span class="cm-property">labels_</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">fig</span> = <span class="cm-variable">plt</span>.<span class="cm-property">figure</span>(<span class="cm-variable">figsize</span>=(<span class="cm-number">13</span>, <span class="cm-number">13</span>))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ax</span> = <span class="cm-variable">fig</span>.<span class="cm-property">add_subplot</span>(<span class="cm-number">111</span>, <span class="cm-variable">autoscale_on</span>=<span class="cm-keyword">True</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">cmap</span> = <span class="cm-variable">plt</span>.<span class="cm-property">get_cmap</span>(<span class="cm-string">'viridis_r'</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">path_collection</span> = <span class="cm-variable">ax</span>.<span class="cm-property">scatter</span>(<span class="cm-variable">elite_ndarray</span>[:, <span class="cm-number">0</span>], <span class="cm-variable">elite_ndarray</span>[:, <span class="cm-number">1</span>],</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">s</span>=<span class="cm-variable">elite_df</span>[<span class="cm-string">'alcohol_consumption'</span>]<span class="cm-operator">*</span><span class="cm-number">10</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">c</span>=<span class="cm-variable">elite_df</span>[<span class="cm-string">'suicide_per_100th'</span>],</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">edgecolors</span>=(<span class="cm-number">0</span>, <span class="cm-number">0</span>, <span class="cm-number">0</span>), <span class="cm-variable">cmap</span>=<span class="cm-variable">cmap</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">for</span> <span class="cm-variable">col</span>, <span class="cm-variable">label</span>, <span class="cm-variable">x</span>, <span class="cm-variable">y</span> <span class="cm-keyword">in</span> <span class="cm-builtin">zip</span>(<span class="cm-variable">labels</span>, <span class="cm-variable">elite_df</span>[<span class="cm-string">'country_name'</span>],</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_ndarray</span>[:, <span class="cm-number">0</span>], <span class="cm-variable">elite_ndarray</span>[:, <span class="cm-number">1</span>]):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">if</span> (<span class="cm-variable">label</span> == <span class="cm-string">'Japan'</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">annotation</span> = <span class="cm-variable">plt</span>.<span class="cm-property">annotate</span>(<span class="cm-variable">label</span>, <span class="cm-variable">xy</span>=(<span class="cm-variable">x</span>, <span class="cm-variable">y</span>), <span class="cm-variable">xytext</span>=(<span class="cm-number">20</span>, <span class="cm-number">10</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">textcoords</span>=<span class="cm-string">'offset points'</span>, <span class="cm-variable">ha</span>=<span class="cm-string">'left'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">va</span>=<span class="cm-string">'bottom'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">bbox</span>=<span class="cm-builtin">dict</span>(<span class="cm-variable">boxstyle</span>=<span class="cm-string">'round,pad=0.5'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">fc</span>=<span class="cm-string">'yellow'</span>, <span class="cm-variable">alpha</span>=<span class="cm-number">0.5</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">arrowprops</span>=<span class="cm-builtin">dict</span>(<span class="cm-variable">arrowstyle</span>=<span class="cm-string">'->'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">connectionstyle</span>=<span class="cm-string">'arc3,rad=0'</span>))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">elif</span> (<span class="cm-variable">label</span> == <span class="cm-string">'United Kingdom'</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">annotation</span> = <span class="cm-variable">plt</span>.<span class="cm-property">annotate</span>(<span class="cm-variable">label</span>, <span class="cm-variable">xy</span>=(<span class="cm-variable">x</span>, <span class="cm-variable">y</span>), <span class="cm-variable">xytext</span>=(<span class="cm-number">20</span>, <span class="cm-number">20</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">textcoords</span>=<span class="cm-string">'offset points'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ha</span>=<span class="cm-string">'left'</span>, <span class="cm-variable">va</span>=<span class="cm-string">'bottom'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">bbox</span>=<span class="cm-builtin">dict</span>(<span class="cm-variable">boxstyle</span>=<span class="cm-string">'round,pad=0.5'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">fc</span>=<span class="cm-string">'yellow'</span>, <span class="cm-variable">alpha</span>=<span class="cm-number">0.5</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">arrowprops</span>=<span class="cm-builtin">dict</span>(<span class="cm-variable">arrowstyle</span>=<span class="cm-string">'->'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">connectionstyle</span>=<span class="cm-string">'arc3,rad=0'</span>))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">elif</span> (<span class="cm-variable">label</span> == <span class="cm-string">'China'</span>) <span class="cm-keyword">or</span> (<span class="cm-variable">label</span> == <span class="cm-string">'United States'</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">annotation</span> = <span class="cm-variable">plt</span>.<span class="cm-property">annotate</span>(<span class="cm-variable">label</span>, <span class="cm-variable">xy</span>=(<span class="cm-variable">x</span>, <span class="cm-variable">y</span>), <span class="cm-variable">xytext</span>=(<span class="cm-operator">-</span><span class="cm-number">20</span>, <span class="cm-number">20</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">textcoords</span>=<span class="cm-string">'offset points'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ha</span>=<span class="cm-string">'right'</span>, <span class="cm-variable">va</span>=<span class="cm-string">'bottom'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">bbox</span>=<span class="cm-builtin">dict</span>(<span class="cm-variable">boxstyle</span>=<span class="cm-string">'round,pad=0.5'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">fc</span>=<span class="cm-string">'yellow'</span>, <span class="cm-variable">alpha</span>=<span class="cm-number">0.5</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">arrowprops</span>=<span class="cm-builtin">dict</span>(<span class="cm-variable">arrowstyle</span>=<span class="cm-string">'->'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">connectionstyle</span>=<span class="cm-string">'arc3,rad=0'</span>))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">elif</span> (<span class="cm-variable">col</span> == <span class="cm-number">1</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">annotation</span> = <span class="cm-variable">plt</span>.<span class="cm-property">annotate</span>(<span class="cm-variable">label</span>, <span class="cm-variable">xy</span>=(<span class="cm-variable">x</span>, <span class="cm-variable">y</span>), <span class="cm-variable">xytext</span>=(<span class="cm-operator">-</span><span class="cm-number">10</span>, <span class="cm-number">20</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">textcoords</span>=<span class="cm-string">'offset points'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ha</span>=<span class="cm-string">'left'</span>, <span class="cm-variable">va</span>=<span class="cm-string">'bottom'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">bbox</span>=<span class="cm-builtin">dict</span>(<span class="cm-variable">boxstyle</span>=<span class="cm-string">'round,pad=0.5'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">fc</span>=<span class="cm-string">'yellow'</span>, <span class="cm-variable">alpha</span>=<span class="cm-number">0.5</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">arrowprops</span>=<span class="cm-builtin">dict</span>(<span class="cm-variable">arrowstyle</span>=<span class="cm-string">'->'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">connectionstyle</span>=<span class="cm-string">'arc3,rad=0'</span>))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">title_text</span> = <span class="cm-string">'Dimension Reduced Scatterplot of the GapMinder '</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">title_text</span> += <span class="cm-string">'Fields with Alcohol Consumption as the size and '</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">title_text</span> += <span class="cm-string">'Suicide Rate as the Color'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">text</span> = <span class="cm-variable">plt</span>.<span class="cm-property">title</span>(<span class="cm-variable">title_text</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation" style="display: none;"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">text</span> = <span class="cm-variable">plt</span>.<span class="cm-property">title</span>(<span class="cm-string">'Dimension Reduced Scatterplot of the GapMinder Fields with Alcohol Consumption as the size and Suicide Rate as the Color'</span>)</span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 929px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 959px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_subarea output_png">
<div class="separator" style="clear: both; text-align: center;">
</div>
<img src="data:image/png;base64,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
/v9f/MGWAa1CRmvpd1vmfw7vvtM4ZpYEZABrI8z/GedcN+dct8aNG1fXYomIiIiIyF6qjrdaNTaz
+v7n2sCJwI/A+8Dl/mCXA+/5n98HLvLfVJWN9xD5VP+2rI1m1tN/fuOysHHKpnU+MN6/iiIiIiIi
IjVAUjVMoxkwwn8zVQIwyjk3xsy+AkaZ2VXAIuACAOfc92Y2CpgDFANDnHMl/rSuB14EagMf+n8A
zwMvm9l8YB3eW7FERERERKSGsP31wkG3bt3c9OnT4x2GiIiIiEiNZma5zrluezsd/XK5iIiIiIgE
TomHiIiIiIgETomHiIiIiIgETomHiIiIiIgETomHiIiIiIgETomHiIiIiIgETomHiIiIiIgETomH
iIiIiIgETomHiIiIiIgETolHwKZOncpvL7uEQzrlcFjXw/nrnX9l2bJl8Q5LRERERCSmlHgExDnH
zf/3B04661S+SVtMgyGHU/vyg3l99occ2jGHDz/8MN4hioiIiIjETFK8A9hfDX9mOK+MfoMjnvkN
yfVqlXdveHgLMvsdxIUDLubbqbm0bds2jlGKiIiIiMSGrngEoLS0lHv/dR/ZNx6zU9JRpn6HZjQ5
tT2PDnssDtGJiIiIiMSeEo8A/Pjjj2wuKqD+Yc0qHOaAfu148523YhiViIiIiEj8KPEIQEFBAal1
a2FmFQ6TlJ7KtsLCGEYlIiIiIhI/SjwCkJ2dzcal69i+seLEIv/7FbQ7+OAYRiUiIiIiEj9KPALQ
sGFDTj39NJa+/V3E/qXFJax6czY3D/l9jCMTEREREYkPJR4Beej+f5P/yUIWjcyluGB7efeCVRuZ
+/dxHNbyEM4777w4RigiIiIiEjt6nW5A2rRpw9eTvuLaG69j8sUvkXloC0oKi9mwcDVXDRzIA/fe
T1KSVr+IiIiI/Dqo5Rug7OxsPhnzEUuWLGHWrFmkpKRw1FFHUadOnXiHJiIiIiISU0o8YqBVq1a0
atUq3mGIiIiIiMSNnvEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHA
KfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQ
EREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQERER
EZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHAKfEQEREREZHA
KfEQEREREZHAKfEQEREREZHAJcU7gF+DoqIixo4dy5IlS6hduzZ9+/YlOzs73mGJiIiIiMSMEo8A
lZaWcu8D9/Pgww+T0iKThJaZ2Lbt/P7WW+jRowfPPvEUbdu2jXeYIiIiIiKBU+IREOccVw66ijFT
viDzzgtJbdW4vF/GtpP44aPpHHn0UXw96X+0a9cujpGKiIiIiARPz3gE5N133+X9ieNo/Nedkw6A
hNRkGpx1FLXPPpLfXHJxnCIUEREREYkdJR4B+dejD5N2dncSaqdUOEy9k7qyYPEivv322xhGJiIi
IiISe0o8ArBp0ya+mTqNej1zKh3OEhOodUx73nn33RhFJiIiIiISH0o8ArBp0yaS02pjyYlVDmt1
a5O/cUMMohIRERERiR89XB6ABg0aUFxQSMmWQhLr1Kp84NUbad6+aWwCkwpt2bKFmTO/Y86cL1m/
fjnFxdtjOHcjJaUWzZu3p0OHnuTk5JCYWHXSKiIiIlKTKPEIQO3atTnltNP4evx3NOjfo8LhSguL
2PS/OVz85BsxjE7C5efn8+KLD5CVtYLjjqtHkyZ1SEqK7cXAbdtKyMvLZdq0L5k9uzcXXHClkg8R
ERHZryjxCMifbrmVE/ufRp3uB5PSpMEu/Z1z5L8ygb4nnECbNm3iEKGAtx1ef/1JjjpqLT16ZMUt
jtq1k+ncuSkdO5YyatTnTJjQnH79TotbPCIiIiLVTc94BKRnz57cd9c/WHXnK2yY+B2lRcXl/QoX
rWLN0PfIXLaVV/4zIo5RyurVqykomEf37s3iHQoAiYkJ9O3blFmzJuCci3c4IiIiItVGVzwCdMOQ
IbQ/5BDuuu8evh3xOHWaN6J46zasoIjrrx3MH2+9jfT09HiH+au2YMECDj4YzCzeoZRr3DgNsyWs
W7eOzMzMeIcjIiIiUi2UeASsX79+9OvXj6VLl7JkyRJq165Nhw4dSE5OjndoAhQUbKVOnX3ryoKZ
kZ5ubN26VYmHiIiI7DeUeMRIy5YtadmyZbzDkDDOlZKYGPlqR3r6vWzefHuMI/IkJJhutRIREZH9
ip7xEBERERGRwOmKh0glNm8u4qyzXmf9+gK2by/lnnuO56yz2pOXl88pp7xC167N+eabFXTo0JiX
XjqHtLRk/v73zxk9+icKCrZz9NGtGD78DMyMPn1epEePFkyYkEd+fiHPP38mvXrpjWYiIiLy66Ar
HiKVqFU+bjmeAAAgAElEQVQriXfeuZBvvrmWCRMu55ZbPim/BWru3LVcf303fvhhCPXqpfLkk9MA
uOGG7kybNojZs6+noKCYMWN+Kp9ecXEpU6cO4pFHTuHuuz+PyzKJiIiIxIMSD5FKOOe4/fbP6NTp
Kfr1e4llyzaxatUWAFq1qscxx7QGYMCATkyatBiACRMW0qPHc3Ts+BTjxy/k++9Xl0/v3HMPBaBr
12bk5eXHeGlERERE4ke3WolU4tVXZ7F69VZyc68hOTmRrKxHKCz0fpMl/BW8ZkZhYTHXXz+W6dMH
0apVBnfdNbF8eIDUVG+XS0xMoLi4NHYLIiIiIhJnuuIhUokNGwo54IA0kpMTmTBhIYsWbSjvt3jx
Br76agkAI0fO4thjW5UnGY0apbF5cxFvvjknLnGLiIiI7Gt0xUMkguLiUlJTk7jkkk707/8aHTs+
RbduzWnfvlH5MIcckskTT0xj4MD3yclpzHXXHUlaWjKDBh3BYYc9RdOm6Rx5ZIs4LoWIiIjIvkOJ
h0gE33//C23bNqBRozS++uqqXfrn5eWTlJTAK6+cu0u/e+45gXvuOWGX7hMnXlH+uVGjNPLybqrW
mEVERET2ZUo85Fdu1x/qe/rp6Tz22Nc88sgpcYoJ9NuBIiIisr9R4iG/aqmptdi0aeeHxAcP7sbg
wd0qHS8rqz6zZ18fWFxbt5ZSq1atwKYvIiIiEmt6uFx+1dq0acP8+exy1SOe1q8voLCwLo0aNap6
YBEREZEaQomH/Kq1aNGC4uJm/PjjmniHAngJ0KRJKzn00N4kJGj3FBERkf2HWjbyq7Ns2TL+/Oc/
c9lll2FmXHDBDYwZk8Dnny9m7dqtcYnJOceiRfm89dbPrFiRQ79+p8clDhEREZGg2L50i0l16tat
m5s+fXq8w5CArVixgilTpmBmHHXUUTRp0gSA0tJSHnjgAW644Qbq1q0LQG5uLkOHDmXs2LEMGDCA
m266iQMPPBCA1atXM3Xql/zwwyQKC9eTFNOnn4yiolIaN84mJ6cXPXocrec7REREZJ9hZrnOucof
gI1mOko8pCZav349A6+5ho8/+oh6Bx4EDjYunM8Z/fvz3NNP89BDD/Hpp58yfvx4PvroI4YOHcrC
hQu58cYbGTRoEPXr169w2tu3b6e4uLjC/kFISUkhMTExpvMUERERiUZ1JR56q5XUOFu2bOHo3r1Z
m5FJs5tuJ9G/OlCnoICJn31Ix86dKd2+ncGDB3PYYYeRmZnJzTffzHnnnUdycnKV009OTo5qOBER
ERGJnhIPqXFeeOEFVpNIg1POxGzHq3ATa9cm6eAcFk+ZRGpqKlOmTOG5556jd289qC0iIiISb2qN
SY3z+PDh1Dry6J2SjjKbvvkaS0mlpLSUyZMnc/LJJ3PllVfGIUoRERERCaUrHlLjrFy2nEZNmkbs
1+yiy9m+fh2bRz7P6uXLgX3rNzpEREREfq10xUNqnAaZDSlev67C/tvXr6Nhw8zy75GujIiIiIhI
bCnxkBrn6iuuoOCbryvsX/TtVK69amAMIxIRERGRqijxkBrn+uuuI2n5UjZ+9QWutLS8uystZcOX
40ldv4arBirxEBEREdmX6BkPqXEyMzOZ/OUXnHnueSwe9hUpBx+KOUfh3DkclJ3Ne198QUZGRrzD
FBEREZEQSjykRsrOzmbmN7lMmzaNL774AjOjT5+H6Nq1a7xDExEREZEIlHhIjWVmdO/ene7du8c7
FBERERGpgp7xEBERERGRwCnxEBERERGRwCnxEBERERGRwCnxEBERERGRwCnxEBERERGRwCnxEBER
ERGRwCnxEBERERGRwCnxEBERERGRwCnxEBERERGRwCnxEBERERGRwCnxEBERERGRwCnxEBERERGR
wCnxCMjWrVsZcMl5NG/ekJNP7sXKlSvjHZKIiIiISNwo8QjI3Xf/lfz8z3jvnSTaHjiLawYNiHdI
IiIiIiJxo8QjID/88B1nn2m0apnEBecnM/enH+MdkoiIiIhI3CTFO4D91WmnnceDQ6ezZetW3nwL
Tj31/HiHJCIiIiISN0o8AnLttdeRnJzCZ599wBn9j+SWW26Ld0giIiIiInFjzrl4xxCIbt26uenT
p8c7DBERERGRGs3Mcp1z3fZ2OnrGQ0REREREAqfEQ0REREREAqfEQ0REREREAqfEQ0REREREAqfE
Q0REREREAqfEQ0REREREAqfEQ0REREREAqfEQ0REREREAqfEQ0REREREAqfEQ0REREREAqfEQ0RE
REREAqfEQ0REREREAqfEQ0REREREAqfEQ0REREREAqfEQ0REREREAqfEQ0REREREAqfEQ0RERERE
AqfEQ0REREREApcU7wD2d4sWLWLYk8MoKS5h8LWDOfDAAxkzZgwvjnyJNWvX0KJZC64dOIjjjz8e
M4t3uCIiIiIigVDiEaCVK1dyZM8jaXpiUxKSEni+5/NkNGjA9nSj/okHkXpEJjOWreLCay6lTeMW
fDR6LI0aNYp32CIiIiIi1U6JR4DGjh1Lw84N6XpjV4o2F/HD23Npemo27c7rstNwLc4+nLxnJ9Pv
1JPInTKNxMTEOEUsIiIiIhIMPeMRoPT0dApWF1BaUsq8MfOpl9OMlmFJB4AlGFnXHM3KgnWMHTs2
DpGKiIiIiARLiUeAzj77bNpktOHTKz5l5guzaHV+1wqHNTMann4ITzzzVAwjFBERERGJDSUeAUpJ
SWH8x+MZ+fRIEksTqZOVWenwddpksmjJ4hhFJyIiIiISO0o8ApaUlESfPn3IqJ9BUf7WSoctyt9K
vXr1YhSZiIiIiEjsKPGIkQvO/w1rPp1b6TD54+Zz6QW/jVFEIiIiIiKxo8QjRn435EZWfzKXjT+u
jNh/zVcL2DR7BZdddlmMIxMRERERCd5eJx5m1srMJpjZHDP73sx+73dvaGafmtk8/3+DkHH+bGbz
zWyumZ0c0r2rmc3y+z1m/i/qmVmqmb3hd//azLL2Nu5YO/DAA3n1xZeZe8dYFo34msJVG3ElpWxZ
vI68pyaxaOgXfDh6rG61EhEREZH9UnVc8SgGbnHO5QA9gSFmlgP8CfjMOdcO+Mz/jt/vIqADcArw
pJmV/XDFU8AgoJ3/d4rf/SpgvXPuIGAo8EA1xB1z/fv3Z+qkKRxfuwOzrvsvE096jJ9uG8M5Wccx
65vv6NGjR7xDFBEREREJhDnnqneCZu8Bw/y/Ps65FWbWDJjonDvEzP4M4Jy7zx/+Y+AuIA+Y4Jxr
73e/2B//2rJhnHNfmVkSsBJo7CoJvlu3bm769OnVumzVzTmHf1FHRERERGSfZGa5zrluezudan3G
w78FqgvwNdDEObfC77USaOJ/bgEsCRltqd+thf85vPtO4zjnioENwC7vpjWza8xsuplNX716dTUs
UbCUdIiIiIjIr0W1JR5mlg68BdzknNsY2s+/MlG9l1YicM4945zr5pzr1rhx46BnJyIiIiIiUaqW
xMPMkvGSjledc2/7nVf5t1jh///F774MaBUyeku/2zL/c3j3ncbxb7XKANZWR+wiIiIiIhK86nir
lQHPAz845x4O6fU+cLn/+XLgvZDuF/lvqsrGe4h8qn9b1kYz6+lP87KwccqmdT4wvrLnO0RERERE
ZN+SVA3TOAa4FJhlZjP8brcD9wOjzOwqYBFwAYBz7nszGwXMwXsj1hDnXIk/3vXAi0Bt4EP/D7zE
5mUzmw+sw3srloiIiIiI1BDV/larfUVNeKuViIiIiMi+bp98q5WIiIiIiEgkSjxERERERCRwSjxE
RERERCRwSjxERERERCRwSjxERERERCRwSjxERERERCRwSjxERERERCRwSjxERERERCRw1fHL5RKl
1atXM2LECGb/MJvEpESO7XksF154IWlpafEOTUREREQkULriEQPbt29nyO+GkN0umxcnvcDPTeby
Y8Zs7nvxnzRr1YxhTwyLd4giIiIiIoHSFY+AlZaWcuElFzJzxQzOfesMamWk7uh5AeTnbeAft/2d
LVu38Mdb/xi/QEVEREREAqQrHgF75513+Hr2FHrff/TOSYevflYGfR/rzT333kNeXl7sAxQRERER
iQElHgF7+PGHaT/gIJJSEyscJr1pHQ46LZsnn34yhpGJiIiIiMSOEo8AFRQUMG3KNLKOb13lsG1O
asW7Y96NQVQiIiIiIrGnxCNAW7duJSU1mcTkiq92lElJT6Fg69YYRCUiIiIiEntKPAKUkZFBSXEp
BesLqxx209JNHNCkSQyiEhERERGJPSUeAUpKSuLc889l3vs/VznswtGLGXT5oBhEJSIiIiISe0o8
AnbL72/hx9fns3HppgqHWTplOatnrmXAgAExjExEREREJHaUeATsiCOO4N6/38vH101g4fhFlBaX
lvcr2rKd2a/9wOS7pvHe2++Rnp4ex0hFRERERIKjHxCMgeuvu57srGzu/Med5A4dQ5NDD6C0pJRl
362gT58+fDnheTp27BjvMEVEREREAmPOuXjHEIhu3bq56dOnxzuMXcyZM4effvqJpKQkunTpQosW
LeIdkoiIiIhIhcws1znXbW+noyseMZaTk0NOTk68wxARERERiSk94yEiIiIiIoFT4iEiIiIiIoFT
4iEiIiIiIoFT4iEiIiIiIoFT4iEiIiIiIoFT4iEiIiIiIoFT4iEiIiIiIoFT4iEiIiIiIoFT4iEi
IiIiIoFT4iEiIiIiIoFT4iEiIiIiIoFT4iEiIiIiIoFT4iEiIiIiIoFT4iEiIiIiIoFT4iEiIiIi
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
GTY1blxan33WSd9/v/2qcdu2ndaQIfOVmpqliAh/TZx4v0qWDNLIkas1bly8PD09VL16pKZN6+7K
H22Rw61WAAAAcKrsbLvWrOmrESM66K23ll1xrFy5UPXrF6fBg+/Shg391KxZWQ0aNE+DB9+ltWv7
6vvve+jpp3+SJL311jI1bVpGW7f2V9euVS8Vk8vVqROlqKhAlS//iZ54YrZ++mmnJKl79+qKiyul
KVO6acOGfvLz89LzzzfQ2rV9tWVLf2VkZOvnn3ddNc7T00MvvDBXM2Y8qISEZ/Tkk3X12muLJUnv
vfe71q9/Vps2Padx4zo5+adY9DHjAQAAgJtmGNd/vVu3apKkO+4oqQMHzl/3mgsX7tO2bacvfZ+c
nKnU1CwtX35QM2f2lCR17FhZYWG+V51rsXho3rxHtHbtMS1atE+DB/+qhITjevPNlleNXbJkv95/
f4XS0206ezZDNWpE6r77qlwxZufORG3Zckrt2k2WJOXkmCpZMlCSVLt2lB55ZKa6dKmqLl2qXvdz
3e4oHgAAALhpxYr569y5K/epOHs2Q+XLh1763sfnwq+cFouHsrOvv9Dabje1atXT8vW9uV9VDcNQ
gwbRatAgWu3axeqJJ2ZfVTys1mz17/+L4uP7qnTpEL355lJZrdlXXcs0TdWoUVwrVz511bE5cx7W
8uUH9dNPu/TOO79p8+bn5OnJDUXXwk8GAAAANy0w0FslSwZq8eL9ki6Ujnnz9qhp0zL5vkZQkLdS
UjIvfX/33bEaNWr1pe83bDghSWrevKy++WazJGnu3N1XFR5JOnYsRevWHb/i3LJlQy6+j8+l9/mz
ZERE+Cs1NUszZmy7LM9f46pUidDp02laufLCU7dsthxt3XpKdrupw4eT1apVeQ0f3lZJSValpmbl
+zPfjpjxAAAAQIF89VVXDRjwi4YM+VWS9MYbLRQbG57v8++7r4q6d/9Ws2fv1KhR92jkyHs0YMAv
ql17rLKz7WrevKzGjeukN95ooYce+l41aoxR48YxKlMm5Kpr2Ww5evnl+Tp2LEW+vp6KjAzQuHEd
JUmPP15H/frNubRovG/f+qpZc6xKlAjUnXdGX7rG/46bMaOHBg6cq6SkTGVn2/Xiiw1VuXIx9e49
U0lJmTJNUwMHNlRo6NW3fuEvhpnb4wBuAXFxcWZ8fLy7YwAAANwSDhw4oCVL/qUnnij4I29vJ7Nm
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
eJM+WPWBOhd/S198UKD5TyUdCx2SlNIxRvNmNdNjjz2qAwcOnPFcixcuVUa3CWp1eJhWvvt+vYYO
55xunfIDdes46rShQ5ICMXFK7TZRz82Zqw0bNtTb+wMAAOD8QvDwoHfv3hoyeIjGj0tWfLNTf8Qd
O8So36XNtGrVqjOeJzk5Wb+d/oiefmq2Lr744nqtMTMzU7t3f622rXqftW0g0EztWvXXo48+Vq81
AAAA4PxB8PCkqqpKMWdYQRMImKqqqk7fwLPn58xV6xaXyqx2fwXat+qvBfPn1+pJ6wAAAMDJCB6e
DB06VG8sK1NFxakf1Pftr9KHHx3Qvn37NGT4CHW9sKe6XthTQ4aP0CuvvKKKigrv9X355U7FxibV
un3T2ESVV5SrrKzMY1UAAABorAgenvTp00d9+w3QDTfv17DrduuiAQX6/o++VmZWmcZPLlZ5dUC/
eGi6tiS1k66+Xrr6em1Jbqc77v1XdejcWe+8847X+mJjm6i6urLW7Z2rVnV1lQKBgMeqAAAA0FjV
6Xa6OLPhw6/Rbx7+QD+a1kFdvtVUWe8e0NV/+5Wq1ETtbrxNzbr3PKF9bLsOUlq6Dm3L03UT/lZ/
/N8/6JprrvFS26C/Gai1WS9K6ler9vsPbFf3C3oq5kzXjwEAAACnwYyHJxUVFfqvh/5T/zq7qwaO
aKEOXWP13dva6Ma72ym+W8dTQsfxmnW/UEkTb9Gkm27Snj17vNR3++23aU/hpyqvqN1DCb8uWqt/
vPsfvNQCAACAxo/g4UlBQYEsqlLdLoo7YXvG0ERV7is86/Fxnbup2UW99fQzz3ipr1WrVpo4caK2
F7wl56rP2Hbvvs0qPVygW265xUstAAAAaPwIHp60bt1ah0srtX/viQvFt28uUyCpZa3OEZs+UDOf
eMLbnaSefPJxdegUp//7fJGOlJecsr/aValgT7byC17X62/8SQkJCV7qAAAAQONH8PAkPj5et956
q5785V7t23M0fHyWe0hP/+dexV02vFbnaJrSWcVFRSouLvZSY9OmTbVy5XKNvmaQsjc9oa1fLNLO
3Vkq2LNW+TvfVdbGxxSXWKDVq1dqwIABXmoAAADA+cEa63MZMjIyXFZWVlhrKCsr0z/f84+aO3eu
Ak1MJSWHlTRmvBL6D6r1OXZOf0DbtmxWu3btPFYq7d+/X3PnztXHH2frSFm5unTtpClTJuvSSy/1
+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
rYTVb+IOAAAAAElFTkSuQmCC
" /></div>
</div>
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [4]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 325px; overflow: hidden; position: relative; top: 277.594px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="bottom: 0px; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; pointer-events: none;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 470px; min-width: 756px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors" style="visibility: hidden;">
<div class="CodeMirror-cursor" style="height: 17px; left: 325px; top: 272px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">def</span> <span class="cm-def">create_binned_categories</span>(<span class="cm-variable">df</span>, <span class="cm-variable">number_of_categories</span>, <span class="cm-variable">column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">prefix</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">out_categorical</span>, <span class="cm-variable">percentiles_list</span> = <span class="cm-variable">pd</span>.<span class="cm-property">cut</span>([<span class="cm-number">0</span>, <span class="cm-number">1</span>],</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">number_of_categories</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">retbins</span>=<span class="cm-keyword">True</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">describe_series</span> = <span class="cm-variable">df</span>[<span class="cm-variable">column_name</span>].<span class="cm-property">describe</span>(<span class="cm-variable">percentiles</span>=<span class="cm-variable">percentiles_list</span>[<span class="cm-number">1</span>:<span class="cm-operator">-</span><span class="cm-number">1</span>]).<span class="cm-property">copy</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">bad_list</span> = [<span class="cm-string">'count'</span>, <span class="cm-string">'mean'</span>, <span class="cm-string">'std'</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">if</span> (<span class="cm-variable">number_of_categories</span> <span class="cm-operator">%</span> <span class="cm-number">2</span>) == <span class="cm-number">1</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">bad_list</span> += [<span class="cm-string">'50%'</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">index_list</span> = [<span class="cm-variable">x</span> <span class="cm-keyword">for</span> <span class="cm-variable">x</span> <span class="cm-keyword">in</span> <span class="cm-variable">describe_series</span>.<span class="cm-property">index</span>.<span class="cm-property">tolist</span>() <span class="cm-keyword">if</span> <span class="cm-variable">x</span> <span class="cm-keyword">not</span> <span class="cm-keyword">in</span> <span class="cm-variable">bad_list</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">bin_list</span> = <span class="cm-variable">describe_series</span>.<span class="cm-property">loc</span>[<span class="cm-variable">index_list</span>].<span class="cm-property">tolist</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_names</span> = [<span class="cm-variable">x</span> <span class="cm-keyword">for</span> <span class="cm-variable">x</span> <span class="cm-keyword">in</span> <span class="cm-builtin">range</span>(<span class="cm-number">1</span>, <span class="cm-builtin">len</span>(<span class="cm-variable">bin_list</span>))]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">category_series</span> = <span class="cm-variable">pd</span>.<span class="cm-property">cut</span>(<span class="cm-variable">df</span>[<span class="cm-variable">column_name</span>], <span class="cm-variable">bin_list</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">labels</span>=<span class="cm-variable">group_names</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">df</span>[<span class="cm-variable">prefix</span><span class="cm-operator">+</span><span class="cm-string">'_categories'</span>] = <span class="cm-variable">pd</span>.<span class="cm-property">cut</span>(<span class="cm-variable">df</span>[<span class="cm-variable">column_name</span>], <span class="cm-variable">bin_list</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">labels</span>=<span class="cm-variable">group_names</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">df</span>[<span class="cm-variable">prefix</span><span class="cm-operator">+</span><span class="cm-string">'_binned'</span>] = <span class="cm-variable">pd</span>.<span class="cm-property">cut</span>(<span class="cm-variable">df</span>[<span class="cm-variable">column_name</span>], <span class="cm-variable">bin_list</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment"># Fix the bottom row</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">null_series</span> = <span class="cm-variable">df</span>[<span class="cm-variable">prefix</span><span class="cm-operator">+</span><span class="cm-string">'_categories'</span>].<span class="cm-property">isnull</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">bottom_series</span> = (<span class="cm-variable">df</span>[<span class="cm-variable">prefix</span><span class="cm-operator">+</span><span class="cm-string">'_categories'</span>] == <span class="cm-number">1</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">binned_value</span> = <span class="cm-variable">df</span>[<span class="cm-variable">bottom_series</span>][<span class="cm-variable">prefix</span><span class="cm-operator">+</span><span class="cm-string">'_binned'</span>].<span class="cm-property">min</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">df</span>.<span class="cm-property">loc</span>[<span class="cm-variable">null_series</span>, <span class="cm-variable">prefix</span><span class="cm-operator">+</span><span class="cm-string">'_categories'</span>] = <span class="cm-number">1</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">df</span>.<span class="cm-property">loc</span>[<span class="cm-variable">null_series</span>, <span class="cm-variable">prefix</span><span class="cm-operator">+</span><span class="cm-string">'_binned'</span>] = <span class="cm-variable">binned_value</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">return</span> <span class="cm-variable">df</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 470px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 500px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [5]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 106px; overflow: hidden; position: relative; top: 889.594px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="bottom: 0px; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; left: 0px; right: 0px;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" draggable="false" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 980px; min-width: 613.344px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors">
<div class="CodeMirror-cursor" style="height: 17px; left: 106px; top: 884px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">from</span> <span class="cm-variable">IPython</span>.<span class="cm-property">display</span> <span class="cm-keyword">import</span> <span class="cm-variable">HTML</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">import</span> <span class="cm-variable">statsmodels</span>.<span class="cm-property">formula</span>.<span class="cm-property">api</span> <span class="cm-keyword">as</span> <span class="cm-variable">smf</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">def</span> <span class="cm-def">bi_categorical_anova_interpretation</span>(<span class="cm-variable">df</span>, <span class="cm-variable">ce_column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_informal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">column_list</span> = [<span class="cm-variable">ce_column_name</span>, <span class="cm-variable">qr_column_name</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_countries_df</span> = <span class="cm-variable">df</span>[<span class="cm-variable">column_list</span>].<span class="cm-property">dropna</span>().<span class="cm-property">copy</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_sd_df</span> = <span class="cm-variable">all_countries_df</span>.<span class="cm-property">groupby</span>(<span class="cm-variable">ce_column_name</span>).<span class="cm-property">std</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_mean_df</span> = <span class="cm-variable">all_countries_df</span>.<span class="cm-property">groupby</span>(<span class="cm-variable">ce_column_name</span>).<span class="cm-property">mean</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment"># Use ols function for calculating the F-statistic and</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment"># associated p value</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_ols</span> = <span class="cm-variable">smf</span>.<span class="cm-property">ols</span>(<span class="cm-variable">formula</span>=<span class="cm-variable">qr_column_name</span><span class="cm-operator">+</span><span class="cm-string">' ~ C('</span><span class="cm-operator">+</span><span class="cm-variable">ce_column_name</span><span class="cm-operator">+</span><span class="cm-string">')'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">data</span>=<span class="cm-variable">all_countries_df</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_fitted</span> = <span class="cm-variable">all_ols</span>.<span class="cm-property">fit</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment"># Figure out the adverbs</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">f_pvalue</span> = <span class="cm-variable">all_fitted</span>.<span class="cm-property">f_pvalue</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">if</span> <span class="cm-variable">f_pvalue</span> <span class="cm-operator"><</span>= <span class="cm-number">0.05</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_significant</span> = <span class="cm-string">'a significantly'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">else</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_significant</span> = <span class="cm-string">'an insignificantly'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">low_mean</span> = <span class="cm-variable">all_mean_df</span>.<span class="cm-property">loc</span>[<span class="cm-number">0</span>, <span class="cm-variable">qr_column_name</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">high_mean</span> = <span class="cm-variable">all_mean_df</span>.<span class="cm-property">loc</span>[<span class="cm-number">1</span>, <span class="cm-variable">qr_column_name</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">if</span> <span class="cm-variable">high_mean</span> <span class="cm-operator">></span> <span class="cm-variable">low_mean</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_higher</span> = <span class="cm-string">'higher'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">else</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_higher</span> = <span class="cm-string">'lower'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">return</span> (<span class="cm-string">'''<h3>Model Interpretation for ANOVA:</h3><p>When </span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string"> examining the association between '''</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' (quantitative response) and '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_formal_name</span> <span class="cm-operator">+</span> <span class="cm-string">''' (2 categories, which is the</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string"> categorical explanatory variable), an Analysis of</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string"> Variance (ANOVA) revealed that those countries with a</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string"> higher '''</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_informal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' reported '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_significant</span> <span class="cm-operator">+</span> <span class="cm-string">' '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_higher</span> <span class="cm-operator">+</span> <span class="cm-string">' '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' (Mean='</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%.1f'</span> <span class="cm-operator">%</span> <span class="cm-variable">high_mean</span>) <span class="cm-operator">+</span> <span class="cm-string">', s.d. ±'</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%.1f'</span> <span class="cm-operator">%</span> <span class="cm-variable">all_sd_df</span>.<span class="cm-property">loc</span>[<span class="cm-number">1</span>, <span class="cm-variable">qr_column_name</span>]) <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">') compared to those with a lower '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_informal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' (Mean='</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%.1f'</span> <span class="cm-operator">%</span> <span class="cm-variable">low_mean</span>) <span class="cm-operator">+</span> <span class="cm-string">', s.d. ±'</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%.1f'</span> <span class="cm-operator">%</span> <span class="cm-variable">all_sd_df</span>.<span class="cm-property">loc</span>[<span class="cm-number">0</span>, <span class="cm-variable">qr_column_name</span>]) <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'), F('</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%d'</span> <span class="cm-operator">%</span> <span class="cm-variable">all_fitted</span>.<span class="cm-property">df_model</span>) <span class="cm-operator">+</span> <span class="cm-string">', '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%d'</span> <span class="cm-operator">%</span> <span class="cm-variable">all_fitted</span>.<span class="cm-property">df_resid</span>) <span class="cm-operator">+</span> <span class="cm-string">')='</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%.2f'</span> <span class="cm-operator">%</span> <span class="cm-variable">all_fitted</span>.<span class="cm-property">fvalue</span>) <span class="cm-operator">+</span> <span class="cm-string">', p='</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%.3f'</span> <span class="cm-operator">%</span> <span class="cm-variable">f_pvalue</span>) <span class="cm-operator">+</span> <span class="cm-string">'.</p>'</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation" style="display: none;"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_significant</span> <span class="cm-operator">+</span> <span class="cm-string">' '</span> <span class="cm-operator">+</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 980px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 1010px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [6]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 115px; overflow: hidden; position: relative; top: 1416.59px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="bottom: 0px; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; left: 0px; right: 0px;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 1592px; min-width: 882px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors">
<div class="CodeMirror-cursor" style="height: 17px; left: 115px; top: 1411px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">import</span> <span class="cm-variable">statsmodels</span>.<span class="cm-property">stats</span>.<span class="cm-property">multicomp</span> <span class="cm-keyword">as</span> <span class="cm-variable">multi</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">import</span> <span class="cm-variable">io</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">def</span> <span class="cm-def">multi_categorical_anova_interpretation</span>(<span class="cm-variable">df</span>, <span class="cm-variable">ce_column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_informal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">column_list</span> = [<span class="cm-variable">ce_column_name</span>, <span class="cm-variable">qr_column_name</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_countries_df</span> = <span class="cm-variable">df</span>[<span class="cm-variable">column_list</span>].<span class="cm-property">dropna</span>().<span class="cm-property">copy</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_sd_df</span> = <span class="cm-variable">all_countries_df</span>.<span class="cm-property">groupby</span>(<span class="cm-variable">ce_column_name</span>).<span class="cm-property">std</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_mean_df</span> = <span class="cm-variable">all_countries_df</span>.<span class="cm-property">groupby</span>(<span class="cm-variable">ce_column_name</span>).<span class="cm-property">mean</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment"># Multiple Comparison of Means - Tukey HSD</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_mc</span> = <span class="cm-variable">multi</span>.<span class="cm-property">MultiComparison</span>(<span class="cm-variable">df</span>[<span class="cm-variable">qr_column_name</span>],</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">df</span>[<span class="cm-variable">ce_column_name</span>])</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_tukeyhsd</span> = <span class="cm-variable">elite_mc</span>.<span class="cm-property">tukeyhsd</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">output</span> = <span class="cm-variable">io</span>.<span class="cm-property">StringIO</span>(<span class="cm-variable">initial_value</span>=<span class="cm-variable">elite_tukeyhsd</span>.<span class="cm-property">_results_table</span>.<span class="cm-property">as_csv</span>().<span class="cm-property">strip</span>())</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_tukeyhsd_df</span> = <span class="cm-variable">pd</span>.<span class="cm-property">read_csv</span>(<span class="cm-variable">output</span>).<span class="cm-property">reset_index</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">output</span>.<span class="cm-property">close</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_tukeyhsd_df</span>.<span class="cm-property">columns</span> = <span class="cm-variable">elite_tukeyhsd_df</span>.<span class="cm-property">iloc</span>[<span class="cm-number">0</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_tukeyhsd_df</span> = <span class="cm-variable">elite_tukeyhsd_df</span>.<span class="cm-property">reindex</span>(<span class="cm-variable">elite_tukeyhsd_df</span>.<span class="cm-property">index</span>.<span class="cm-property">drop</span>(<span class="cm-number">0</span>))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'reject'</span>] = <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'reject'</span>].<span class="cm-property">map</span>(<span class="cm-keyword">lambda</span> <span class="cm-variable">x</span>: <span class="cm-variable">x</span>.<span class="cm-property">strip</span>() == <span class="cm-string">'True'</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'group1'</span>] = <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'group1'</span>].<span class="cm-property">map</span>(<span class="cm-keyword">lambda</span> <span class="cm-variable">x</span>: <span class="cm-builtin">int</span>(<span class="cm-variable">x</span>.<span class="cm-property">strip</span>()))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'group2'</span>] = <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'group2'</span>].<span class="cm-property">map</span>(<span class="cm-keyword">lambda</span> <span class="cm-variable">x</span>: <span class="cm-builtin">int</span>(<span class="cm-variable">x</span>.<span class="cm-property">strip</span>()))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'meandiff'</span>] = <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'meandiff'</span>].<span class="cm-property">map</span>(<span class="cm-keyword">lambda</span> <span class="cm-variable">x</span>: <span class="cm-builtin">float</span>(<span class="cm-variable">x</span>.<span class="cm-property">strip</span>()))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">match_series</span> = (<span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-string">'reject'</span>] == <span class="cm-keyword">True</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">column_list</span> = [<span class="cm-string">'group1'</span>, <span class="cm-string">'group2'</span>, <span class="cm-string">'meandiff'</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_binned_column</span> = <span class="cm-variable">ce_column_name</span>.<span class="cm-property">split</span>(<span class="cm-string">'_'</span>)[<span class="cm-number">0</span>] <span class="cm-operator">+</span> <span class="cm-string">'_binned'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">number_of_categories</span> = <span class="cm-builtin">len</span>(<span class="cm-variable">df</span>[<span class="cm-variable">ce_column_name</span>].<span class="cm-property">unique</span>())</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_dict</span> = <span class="cm-builtin">dict</span>(<span class="cm-builtin">zip</span>(<span class="cm-builtin">range</span>(<span class="cm-number">1</span>, <span class="cm-variable">number_of_categories</span><span class="cm-operator">+</span><span class="cm-number">1</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> [<span class="cm-builtin">str</span>(<span class="cm-variable">df</span>.<span class="cm-property">loc</span>[(<span class="cm-variable">df</span>[<span class="cm-variable">ce_column_name</span>]==<span class="cm-variable">n</span>),</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_binned_column</span>].<span class="cm-property">min</span>()) <span class="cm-keyword">for</span> <span class="cm-variable">n</span> <span class="cm-keyword">in</span> <span class="cm-builtin">range</span>(<span class="cm-number">1</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">number_of_categories</span><span class="cm-operator">+</span><span class="cm-number">1</span>)]))</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">def</span> <span class="cm-def">f</span>(<span class="cm-variable">row</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">left_group</span> = <span class="cm-variable">group_dict</span>[<span class="cm-variable">row</span>[<span class="cm-string">'group1'</span>]]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">right_group</span> = <span class="cm-variable">group_dict</span>[<span class="cm-variable">row</span>[<span class="cm-string">'group2'</span>]]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">mean_diff</span> = <span class="cm-variable">row</span>[<span class="cm-string">'meandiff'</span>]</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">if</span> <span class="cm-variable">mean_diff</span> <span class="cm-operator">></span> <span class="cm-number">0</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_higher</span> = <span class="cm-string">'higher'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">else</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_higher</span> = <span class="cm-string">'lower'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">return</span>(<span class="cm-string">'the <code>'</span> <span class="cm-operator">+</span> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">left_group</span> <span class="cm-operator">+</span> <span class="cm-string">'</code> group reported significantly '</span> <span class="cm-operator">+</span> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_higher</span> <span class="cm-operator">+</span> <span class="cm-string">' '</span> <span class="cm-operator">+</span> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_informal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' compared to the <code>'</span> <span class="cm-operator">+</span> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">right_group</span> <span class="cm-operator">+</span> <span class="cm-string">'</code> group'</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment"># Use ols function for calculating the F-statistic and associated p value</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">all_fitted</span> = <span class="cm-variable">smf</span>.<span class="cm-property">ols</span>(<span class="cm-variable">formula</span>=<span class="cm-variable">qr_column_name</span><span class="cm-operator">+</span><span class="cm-string">' ~ C('</span><span class="cm-operator">+</span><span class="cm-variable">ce_column_name</span><span class="cm-operator">+</span><span class="cm-string">')'</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">data</span>=<span class="cm-variable">all_countries_df</span>).<span class="cm-property">fit</span>()</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment"># Figure out the adverbs</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">f_pvalue</span> = <span class="cm-variable">all_fitted</span>.<span class="cm-property">f_pvalue</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">if</span> <span class="cm-variable">f_pvalue</span> <span class="cm-operator"><</span> <span class="cm-number">0.0001</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">f_pvalue_statement</span> = <span class="cm-string">', p<0.0001'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">else</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">f_pvalue_statement</span> = <span class="cm-string">', p='</span> <span class="cm-operator">+</span> <span class="cm-builtin">str</span>(<span class="cm-string">'%.4f'</span> <span class="cm-operator">%</span> <span class="cm-variable">f_pvalue</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">if</span> <span class="cm-variable">f_pvalue</span> <span class="cm-operator"><</span>= <span class="cm-number">0.05</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_significant</span> = <span class="cm-string">'significantly'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">else</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_significant</span> = <span class="cm-string">'insignificantly'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_series</span> = <span class="cm-variable">elite_tukeyhsd_df</span>[<span class="cm-variable">match_series</span>][<span class="cm-variable">column_list</span>].<span class="cm-property">apply</span>(<span class="cm-variable">f</span>, <span class="cm-variable">axis</span>=<span class="cm-number">1</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">if</span> <span class="cm-variable">group_series</span>.<span class="cm-property">shape</span>[<span class="cm-number">0</span>] <span class="cm-operator">></span> <span class="cm-number">0</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_revelation</span> = <span class="cm-string">', and '</span>.<span class="cm-property">join</span>(<span class="cm-variable">group_series</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_revelation</span> += <span class="cm-string">'. All other comparisons were '</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_revelation</span> += <span class="cm-string">'statistically similar.</p>'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">else</span>:</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_revelation</span> = <span class="cm-string">'all comparisons were statistically '</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_revelation</span> += <span class="cm-string">'similar.</p>'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">return</span> (<span class="cm-string">'<h3>Model Interpretation for post hoc ANOVA results:'</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'</h3><p>ANOVA revealed that '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_formal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' ('</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-variable">number_of_categories</span>) <span class="cm-operator">+</span> <span class="cm-string">' categories, which is the '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">'categorical explanatory variable) and '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' (quantitative response variable) were '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">adverb_significant</span> <span class="cm-operator">+</span> <span class="cm-string">' associated, F('</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%d'</span> <span class="cm-operator">%</span> <span class="cm-variable">all_fitted</span>.<span class="cm-property">df_model</span>) <span class="cm-operator">+</span> <span class="cm-string">', '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%d'</span> <span class="cm-operator">%</span> <span class="cm-variable">all_fitted</span>.<span class="cm-property">df_resid</span>) <span class="cm-operator">+</span> <span class="cm-string">')='</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">str</span>(<span class="cm-string">'%.2f'</span> <span class="cm-operator">%</span> <span class="cm-variable">all_fitted</span>.<span class="cm-property">fvalue</span>) <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">f_pvalue_statement</span> <span class="cm-operator">+</span> <span class="cm-string">'. Post hoc comparisons of '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' by pairs of '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_informal_name</span> <span class="cm-operator">+</span> <span class="cm-string">' categories revealed that '</span> <span class="cm-operator">+</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">group_revelation</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation" style="display: none;"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">else</span>:</span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 1592px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 1622px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [7]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 468px; overflow: hidden; position: relative; top: 413.594px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="pointer-events: none; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; left: 0px; right: 0px;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 470px; min-width: 613.453px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors">
<div class="CodeMirror-cursor" style="height: 17px; left: 468px; top: 408px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">def</span> <span class="cm-def">display_anova_and_post_hoc_results</span>(<span class="cm-variable">df</span>, <span class="cm-variable">number_of_categories</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">category_column</span>, <span class="cm-variable">category_prefix</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_column_name</span>, <span class="cm-variable">ce_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span>, <span class="cm-variable">ce_informal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span>):</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_column_name</span> = <span class="cm-variable">category_prefix</span> <span class="cm-operator">+</span> <span class="cm-string">'_categories'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">df</span> = <span class="cm-variable">create_binned_categories</span>(<span class="cm-variable">df</span>, <span class="cm-number">2</span>, <span class="cm-variable">category_column</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">category_prefix</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">anova_HTML</span> = <span class="cm-variable">bi_categorical_anova_interpretation</span>(<span class="cm-variable">df</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_informal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">df</span> = <span class="cm-variable">create_binned_categories</span>(<span class="cm-variable">df</span>, <span class="cm-variable">number_of_categories</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">category_column</span>, <span class="cm-variable">category_prefix</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">post_HTML</span> = <span class="cm-variable">multi_categorical_anova_interpretation</span>(<span class="cm-variable">df</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_column_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">ce_informal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-keyword">return</span> <span class="cm-variable">HTML</span>(<span class="cm-variable">anova_HTML</span> <span class="cm-operator">+</span> <span class="cm-variable">post_HTML</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation" style="display: none;"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">def</span> <span class="cm-def">display_anova_and_post_hoc_results</span>(<span class="cm-variable">df</span>, <span class="cm-variable">number_of_categories</span>, <span class="cm-variable">category_column</span>, <span class="cm-variable">category_prefix</span>, <span class="cm-variable">qr_column_name</span>, <span class="cm-variable">ce_formal_name</span>, <span class="cm-variable">qr_formal_name</span>, <span class="cm-variable">ce_informal_name</span>, <span class="cm-variable">qr_informal_name</span>):</span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 470px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 500px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [8]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 518px; overflow: hidden; position: relative; top: 90.5938px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="pointer-events: none; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; left: 0px; right: 0px;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 266px; min-width: 579.859px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors">
<div class="CodeMirror-cursor" style="height: 17px; left: 518px; top: 85px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">number_of_categories</span> = <span class="cm-number">5</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">category_column</span> = <span class="cm-string">'income_per_person'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">category_prefix</span> = <span class="cm-string">'ipp'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">qr_column_name</span> = <span class="cm-string">'suicide_per_100th'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ce_formal_name</span> = <span class="cm-string">'2010 Gross Domestic Product per capita in '</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ce_formal_name</span> += <span class="cm-string">'constant 2000 US$'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">qr_formal_name</span> = <span class="cm-string">'2005 Suicide, age adjusted, per 100,000'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ce_informal_name</span> = <span class="cm-string">'income per person'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">qr_informal_name</span> = <span class="cm-string">'suicide rate'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">display_anova_and_post_hoc_results</span>(<span class="cm-variable">elite_df</span>, <span class="cm-variable">number_of_categories</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">category_column</span>, <span class="cm-variable">category_prefix</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_column_name</span>, <span class="cm-variable">ce_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span>, <span class="cm-variable">ce_informal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation" style="display: none;"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">display_anova_and_post_hoc_results</span>(<span class="cm-variable">elite_df</span>, <span class="cm-variable">number_of_categories</span>, <span class="cm-variable">category_column</span>, <span class="cm-variable">category_prefix</span>, <span class="cm-variable">qr_column_name</span>, <span class="cm-variable">ce_formal_name</span>, <span class="cm-variable">qr_formal_name</span>, <span class="cm-variable">ce_informal_name</span>, <span class="cm-variable">qr_informal_name</span>)</span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 266px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 296px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
<bdi>Out[8]:</bdi></div>
<div class="output_subarea output_html rendered_html output_result">
<h3>
Model Interpretation for ANOVA:</h3>
When
examining the association between 2005 Suicide, age adjusted, per 100,000 (quantitative response) and 2010 Gross Domestic Product per capita in constant 2000 US$ (2 categories, which is the
categorical explanatory variable), an Analysis of
Variance (ANOVA) revealed that those countries with a
higher income per person reported an insignificantly lower suicide rate (Mean=10.4, s.d. ±4.4) compared to those with a lower income per person (Mean=11.7, s.d. ±8.9), F(1, 54)=0.51, p=0.479.<br />
<h3>
Model Interpretation for post hoc ANOVA results:</h3>
ANOVA revealed that 2010 Gross Domestic Product per capita in constant 2000 US$ (5 categories, which is the categorical explanatory variable) and 2005 Suicide, age adjusted, per 100,000 (quantitative response variable) were insignificantly associated, F(4, 51)=0.87, p=0.4870. Post hoc comparisons of suicide rate by pairs of income per person categories revealed that all comparisons were statistically similar.</div>
</div>
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered selected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [9]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 300px; overflow: hidden; position: relative; top: 226.594px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="pointer-events: none; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; left: 0px; right: 0px;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 249px; min-width: 579.859px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors" style="visibility: hidden;">
<div class="CodeMirror-cursor" style="height: 17px; left: 300px; top: 221px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">number_of_categories</span> = <span class="cm-number">5</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">category_column</span> = <span class="cm-string">'alcohol_consumption'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">category_prefix</span> = <span class="cm-string">'ac'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">qr_column_name</span> = <span class="cm-string">'suicide_per_100th'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ce_formal_name</span> = <span class="cm-string">'2008 alcohol consumption per adult, litres'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">qr_formal_name</span> = <span class="cm-string">'2005 Suicide, age adjusted, per 100,000'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ce_informal_name</span> = <span class="cm-string">'alcohol consumption'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">qr_informal_name</span> = <span class="cm-string">'suicide rate'</span></span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">display_anova_and_post_hoc_results</span>(<span class="cm-variable">elite_df</span>, <span class="cm-variable">number_of_categories</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">category_column</span>, <span class="cm-variable">category_prefix</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_column_name</span>, <span class="cm-variable">ce_formal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_formal_name</span>, <span class="cm-variable">ce_informal_name</span>,</span></pre>
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">qr_informal_name</span>)</span></pre>
<pre class=" CodeMirror-line " role="presentation" style="display: none;"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">qr_informal_name</span> = <span class="cm-string">'suicide rate'</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 249px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 279px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
<bdi>Out[9]:</bdi></div>
<div class="output_subarea output_html rendered_html output_result">
<h3>
Model Interpretation for ANOVA:</h3>
When
examining the association between 2005 Suicide, age adjusted, per 100,000 (quantitative response) and 2008 alcohol consumption per adult, litres (2 categories, which is the
categorical explanatory variable), an Analysis of
Variance (ANOVA) revealed that those countries with a
higher alcohol consumption reported a significantly higher suicide rate (Mean=13.6, s.d. ±7.9) compared to those with a lower alcohol consumption (Mean=8.6, s.d. ±4.9), F(1, 54)=7.94, p=0.007.<br />
<h3>
Model Interpretation for post hoc ANOVA results:</h3>
ANOVA revealed that 2008 alcohol consumption per adult, litres (5 categories, which is the categorical explanatory variable) and 2005 Suicide, age adjusted, per 100,000 (quantitative response variable) were significantly associated, F(4, 51)=5.42, p=0.0010. Post hoc comparisons of suicide rate by pairs of alcohol consumption categories revealed that the <code>(0.05, 3.61]</code> group reported significantly higher alcohol consumption compared to the <code>(13.34, 19.15]</code> group, and the <code>(3.61, 9.43]</code> group reported significantly higher alcohol consumption compared to the <code>(13.34, 19.15]</code> group, and the <code>(9.43, 11.1]</code> group reported significantly higher alcohol consumption compared to the <code>(13.34, 19.15]</code> group, and the <code>(11.1, 13.34]</code> group reported significantly higher alcohol consumption compared to the <code>(13.34, 19.15]</code> group. All other comparisons were statistically similar.</div>
</div>
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
<div class="cell code_cell rendered unselected" tabindex="2">
<div class="input">
<div class="prompt input_prompt">
<bdi>In</bdi> [ ]:</div>
<div class="inner_cell">
<div class="ctb_hideshow">
<div class="celltoolbar">
</div>
</div>
<div class="input_area">
<div class="CodeMirror cm-s-ipython">
<div style="height: 0px; left: 5.59375px; overflow: hidden; position: relative; top: 5.59375px; width: 3px;">
<textarea autocapitalize="off" autocorrect="off" spellcheck="false" style="bottom: -1em; height: 1em; outline: none; padding: 0px; position: absolute; width: 1000px;" tabindex="0"></textarea></div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="pointer-events: none; width: 18px;">
<div style="height: 0px; min-width: 1px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="height: 18px; pointer-events: none;">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1">
<div class="CodeMirror-sizer" style="border-right-width: 30px; margin-bottom: 0px; margin-left: 0px; min-height: 28px; min-width: 8.59375px; padding-bottom: 0px; padding-right: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines" role="presentation">
<div role="presentation" style="outline: none; position: relative;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors">
<div class="CodeMirror-cursor" style="height: 17px; left: 5.59375px; top: 0px;">
</div>
</div>
<div class="CodeMirror-code" role="presentation">
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text=""></span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div style="border-bottom: 0px solid transparent; height: 30px; position: absolute; top: 28px; width: 1px;">
</div>
<div class="CodeMirror-gutters" style="display: none; height: 58px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="out_prompt_overlay prompt" title="click to scroll output; double click to hide">
</div>
<div class="output">
</div>
<div class="btn btn-default output_collapsed" style="display: none;" title="click to expand output">
. . .</div>
</div>
</div>
</div>
dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-69839109616002964152017-10-21T22:34:00.002-04:002017-10-21T22:35:34.210-04:00Peer-graded Assignment: Creating graphs for your data<div class="WordSection1">
<h1>
<span style="color: black; mso-fareast-font-family: "Times New Roman";">Peer-graded
Assignment: Creating graphs for your data<o:p></o:p></span></h1>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div>
<h3 id="STEP-1:-Create-graphs-of-your-variables-one-at-a-time-(univariate-graphs).">
<em><span style="color: black; font-family: "inherit" , serif; mso-fareast-font-family: "Times New Roman";">STEP 1</span></em><span style="color: black; mso-fareast-font-family: "Times New Roman";">: Create graphs of your variables one at a time (univariate
graphs). <o:p></o:p></span></h3>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<a href="https://www.blogger.com/blogger.g?blogID=3105843" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="250" src="Creating+graphs+for+your+data.fld/image002.png" style="cursor: move;" v:shapes="Picture_x0020_1" width="432" /></a><a href="https://www.blogger.com/blogger.g?blogID=3105843" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><br />
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [1]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="kn2">import</span> <span class="nn2">pickle</span></pre>
<pre><span class="kn2">import</span> <span class="nn2">pandas</span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">pd</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Handy list of the different types of encodings</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">encoding</span></span> <span class="o2">=</span> <span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s12">'latin1'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="s12">'iso8859-1'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="s12">'utf-8<span class="GramE">'<span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">][</span></span></span></span><span class="mi2">1</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="SpellE"><span class="k2">def</span></span> <span class="SpellE"><span class="nf2">load_object</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle_path</span></span></span> <span class="o2">=</span> <span class="GramE"><span class="s12">'..</span></span><span class="s12">/../saves/pickle/'</span> <span class="o2">+</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_name</span></span></span> <span class="o2">+</span> <span class="s12">'.pickle'</span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">try</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">:</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="nb2">object</span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pd</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">read</span></span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">_pickle</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle_path</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">except</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">:</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">with</span> <span class="GramE"><span class="nb2">open</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle_path</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="s12">'<span class="SpellE">rb</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span> <span class="k2">as</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">handle</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">:</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="nb2">object</span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">load</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">handle</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">return</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="nb2">object</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="SpellE"><span class="k2">def</span></span> <span class="SpellE"><span class="nf2">save_dataframes</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="o2">**</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">csv_folder</span></span></span> <span class="o2">=</span> <span class="GramE"><span class="s12">'..</span></span><span class="s12">/../saves/csv/'</span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">for</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">frame_name</span></span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">:</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">csv_path</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">csv_folder</span></span></span> <span class="o2">+</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">frame_name</span></span></span> <span class="o2">+</span> <span class="s12">'.csv'</span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">frame_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">to_<span class="GramE">csv</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">csv_path</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sep</span></span></span><span class="o2">=</span><span class="s12">','</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">encoding</span></span><span class="o2">=</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">encoding</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">index</span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Classes, functions, and methods cannot be pickled</span></pre>
<pre><span class="SpellE"><span class="k2">def</span></span> <span class="SpellE"><span class="nf2">store_objects</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="o2">**</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">for</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_name</span></span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">:</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">if</span> <span class="SpellE"><span class="nb2">hasattr</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">],</span></span> <span class="s12">'__call__'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">raise</span> <span class="SpellE"><span class="GramE"><span class="ne2">RuntimeError</span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="s12">'Functions cannot be pickled.'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_path</span></span></span> <span class="o2">=</span> <span class="GramE"><span class="s12">'..</span></span><span class="s12">/../saves/pickle/'</span> <span class="o2">+</span> <span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle_path</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_path</span></span></span> <span class="o2">+</span> <span class="GramE"><span class="s12">'.pickle</span></span><span class="s12">'</span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">if</span> <span class="SpellE"><span class="nb2">isinstance</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">],</span></span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pd</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">DataFrame</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">to_pickle</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle_path</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><span class="k2">else</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">:</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="k2">with</span> <span class="GramE"><span class="nb2">open</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle_path</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="s12">'<span class="SpellE">wb</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span> <span class="k2">as</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">handle</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">:</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dump</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kwargs</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">obj_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">],</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">handle</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">pickle</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">HIGHEST_PROTOCOL</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [5]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">load_object</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'<span class="SpellE">data_df</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_<span class="GramE">df<span class="o2">.</span>columns</span></span></span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_<span class="GramE">df<span class="o2">.</span>index</span></span></span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span class="GramE"><span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">Out[</span></span><span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">5]:<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span class="GramE"><span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">Index(</span></span><span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">['1900_jew_pop', '1942_jew_pop',
'1970_jew_pop', '2010_jew_pop',<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;"><span style="mso-spacerun: yes;"> </span>'1900_pers_inc', '1942_pers_inc',
'1970_pers_inc', '2010_pers_inc'],<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;"><span style="mso-spacerun: yes;"> </span><span class="SpellE">dtype</span>='object')<o:p></o:p></span></div>
</div>
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span class="GramE"><span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">Out[</span></span><span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">5]:<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span class="GramE"><span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">Index(</span></span><span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">['Austria', 'Belgium', 'Bosnia
and Herzegovina', 'Denmark', 'France',<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;"><span style="mso-spacerun: yes;"> </span>'Germany', 'Hungary', 'Italy', 'Luxembourg',
'Netherlands', 'Poland',<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;"><span style="mso-spacerun: yes;"> </span>'Portugal', 'Romania', 'Serbia',
'Spain', 'Switzerland', 'India',<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;"><span style="mso-spacerun: yes;"> </span>'Iran', 'Algeria', 'Egypt', 'Ethiopia',
'Libya', 'Morocco',<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;"><span style="mso-spacerun: yes;"> </span>'South Africa', 'Tunisia', 'Argentina',
'Brazil', 'Canada', 'Mexico',<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;">
</span>'Suriname', 'United States', 'Australia', 'New Zealand'],<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;"><span style="mso-spacerun: yes;"> </span><span class="SpellE">dtype</span>='object',
name='Country')<o:p></o:p></span></div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [13]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="o2">%</span><span class="SpellE"><span class="k2">matplotlib</span></span> inline</pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="nn2">seaborn</span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">sns</span></span></pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="GramE"><span class="nn2">matplotlib.pyplot</span></span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">plt</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Univariate histogram for quantitative variable:</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">distplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s22">"1900_jew_pop"</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dropna</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(),</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kde</span></span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Jewish Population per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Distribution of Jewish Population per Country in 1900 According to Jewish Encyclopedia'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTka36KRu4G3BeK3UpNyA7yZKMgd8ZGJA90fIcIpIGLUfSIHX374iUtysQcrtUe-Dyb3mtlp41fYOD0cesYVvAg4ZXy0ADdadatV1qLYaTg6DUaUdJrDdUY8wGNLx9ZupRV2RSCA/s1600/image002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="250" data-original-width="432" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTka36KRu4G3BeK3UpNyA7yZKMgd8ZGJA90fIcIpIGLUfSIHX374iUtysQcrtUe-Dyb3mtlp41fYOD0cesYVvAg4ZXy0ADdadatV1qLYaTg6DUaUdJrDdUY8wGNLx9ZupRV2RSCA/s640/image002.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [14]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="o2">%</span><span class="SpellE"><span class="k2">matplotlib</span></span> inline</pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="nn2">seaborn</span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">sns</span></span></pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="GramE"><span class="nn2">matplotlib.pyplot</span></span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">plt</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Univariate histogram for quantitative variable:</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">distplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s22">"1942_jew_pop"</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dropna</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(),</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kde</span></span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Jewish Population per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Distribution of Jewish Population per Country in 1942 According to Jewish Encyclopedia'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWrmflf_iIiQMEeT73EJEeOVDuNl52hx4ujcTlgV5G6gyCyKjXiQnhgZ_g8qSr3FFTwIEgQsmjf75NRgkk06xfHBll-VcnDRkpZaODUNdkX_aOXZY6ZjZc_avMX_xRiDRiwAJZfA/s1600/image004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="246" data-original-width="432" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWrmflf_iIiQMEeT73EJEeOVDuNl52hx4ujcTlgV5G6gyCyKjXiQnhgZ_g8qSr3FFTwIEgQsmjf75NRgkk06xfHBll-VcnDRkpZaODUNdkX_aOXZY6ZjZc_avMX_xRiDRiwAJZfA/s640/image004.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [15]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="o2">%</span><span class="SpellE"><span class="k2">matplotlib</span></span> inline</pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="nn2">seaborn</span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">sns</span></span></pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="GramE"><span class="nn2">matplotlib.pyplot</span></span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">plt</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Univariate histogram for quantitative variable:</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">distplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s22">"1970_jew_pop"</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dropna</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(),</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kde</span></span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Jewish Population per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Distribution of Jewish Population per Country in 1970 According to Jewish Encyclopedia'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCndjjUb_OJOWKUVpGefvTnd14J7x6hTARyHVT2wdpJdMKJo2nJrWp3T_b-yl7atxirqlyNLHReeFa-QRAXjRsSShapgWN23bJcdIsc6_klqYHpeTay1ADCgqBUR3kqfH4sV97uw/s1600/image006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="246" data-original-width="432" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCndjjUb_OJOWKUVpGefvTnd14J7x6hTARyHVT2wdpJdMKJo2nJrWp3T_b-yl7atxirqlyNLHReeFa-QRAXjRsSShapgWN23bJcdIsc6_klqYHpeTay1ADCgqBUR3kqfH4sV97uw/s640/image006.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [16]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="o2">%</span><span class="SpellE"><span class="k2">matplotlib</span></span> inline</pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="nn2">seaborn</span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">sns</span></span></pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="GramE"><span class="nn2">matplotlib.pyplot</span></span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">plt</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Univariate histogram for quantitative variable:</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">distplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s22">"2010_jew_pop"</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dropna</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(),</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kde</span></span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Jewish Population per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Distribution of Jewish Population per Country in 2010 According to Jewish Encyclopedia'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkkuAoegR1T_FAWGF3_ZaZ7AILkLjYfd9SdHtDaZgEFk91hWAWdGYBn_Ooyrk_0zhGlUCa52rLnfXzyI9BR-ei6X1DP3U3qUM1y3pX1V_8QLGFbwO7MnUB-E1DTWHzJVH_qKpmng/s1600/image008.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="246" data-original-width="432" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkkuAoegR1T_FAWGF3_ZaZ7AILkLjYfd9SdHtDaZgEFk91hWAWdGYBn_Ooyrk_0zhGlUCa52rLnfXzyI9BR-ei6X1DP3U3qUM1y3pX1V_8QLGFbwO7MnUB-E1DTWHzJVH_qKpmng/s640/image008.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [17]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="o2">%</span><span class="SpellE"><span class="k2">matplotlib</span></span> inline</pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="nn2">seaborn</span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">sns</span></span></pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="GramE"><span class="nn2">matplotlib.pyplot</span></span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">plt</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Univariate histogram for quantitative variable:</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">distplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s22">"1900_pers_inc"</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dropna</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(),</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kde</span></span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Average Personal Income per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Distribution of Average Personal Income per Country in 1900 According to <span class="SpellE">GapMinder</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZS4S8g_QbkOtmpqdhwZU9UsdS3JDDaacSAW5HGpNMzsbDxYBQ6l9nK43he_dYF3Nnbn8cpfLEq0zA_9s3SxmK3HDzR2qByFD6sF_Gls0kvfmv1tUW0AVeLSPJggItnDVmglYUEQ/s1600/image010.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="243" data-original-width="432" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZS4S8g_QbkOtmpqdhwZU9UsdS3JDDaacSAW5HGpNMzsbDxYBQ6l9nK43he_dYF3Nnbn8cpfLEq0zA_9s3SxmK3HDzR2qByFD6sF_Gls0kvfmv1tUW0AVeLSPJggItnDVmglYUEQ/s640/image010.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [18]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="o2">%</span><span class="SpellE"><span class="k2">matplotlib</span></span> inline</pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="nn2">seaborn</span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">sns</span></span></pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="GramE"><span class="nn2">matplotlib.pyplot</span></span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">plt</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Univariate histogram for quantitative variable:</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">distplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s22">"1942_pers_inc"</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dropna</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(),</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kde</span></span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Average Personal Income per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Distribution of Average Personal Income per Country in 1942 According to <span class="SpellE">GapMinder</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnhJiLv8bQGn9m7rHKjoVfHaSglo_yA6khljO14TmPSvgOyr_PtEjH3gjfQMIAWvJM3oncOoE_J61C6uaPGHcmU8jAyINMscn7m5LIQOUZpv3Td86n0CuAULfoHB-rdTbNcEssFg/s1600/image012.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="243" data-original-width="432" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnhJiLv8bQGn9m7rHKjoVfHaSglo_yA6khljO14TmPSvgOyr_PtEjH3gjfQMIAWvJM3oncOoE_J61C6uaPGHcmU8jAyINMscn7m5LIQOUZpv3Td86n0CuAULfoHB-rdTbNcEssFg/s640/image012.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [19]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="o2">%</span><span class="SpellE"><span class="k2">matplotlib</span></span> inline</pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="nn2">seaborn</span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">sns</span></span></pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="GramE"><span class="nn2">matplotlib.pyplot</span></span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">plt</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Univariate histogram for quantitative variable:</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">distplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s22">"1970_pers_inc"</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dropna</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(),</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kde</span></span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Average Personal Income per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Distribution of Average Personal Income per Country in 1970 According to <span class="SpellE">GapMinder</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmMML-sxafBNlo5GM_coOIZac8yLYUZhyphenhyphen7-lRcOc-d4xElRu3sTdLxaWe2SL2Wv-3aw0BZOApR5406USbIVCEtzz5IJ1m1HIqPNyzHPc_j76gqqyteZvm_SBeH_IT91xJrkmw0cg/s1600/image014.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="243" data-original-width="432" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmMML-sxafBNlo5GM_coOIZac8yLYUZhyphenhyphen7-lRcOc-d4xElRu3sTdLxaWe2SL2Wv-3aw0BZOApR5406USbIVCEtzz5IJ1m1HIqPNyzHPc_j76gqqyteZvm_SBeH_IT91xJrkmw0cg/s640/image014.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [20]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="o2">%</span><span class="SpellE"><span class="k2">matplotlib</span></span> inline</pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="nn2">seaborn</span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">sns</span></span></pre>
<pre><span class="kn2">import</span> <span class="SpellE"><span class="GramE"><span class="nn2">matplotlib.pyplot</span></span></span> <span class="k2">as</span> <span class="SpellE"><span class="nn2">plt</span></span></pre>
<pre><o:p> </o:p></pre>
<pre><span class="c12"># Univariate histogram for quantitative variable:</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">distplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="s22">"2010_pers_inc"</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">dropna</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(),</span></span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">kde</span></span></span><span class="o2">=</span><span class="kc2">False</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Average Personal Income per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Distribution of Average Personal Income per Country in 2010 According to <span class="SpellE">GapMinder</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDcf75juJPVOJ3rDdKta9quz4CxdOXKkHbf5wDs2qDwl6TcTHfKGD11JLwNzM2MaBKIuUBUMNWLJrlXB1O8JgBPw1jGlkSWFmZjYBsQINXRAG_7t9GBfHM11mWopjCOoyczG_iKw/s1600/image015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="298" data-original-width="531" height="359" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDcf75juJPVOJ3rDdKta9quz4CxdOXKkHbf5wDs2qDwl6TcTHfKGD11JLwNzM2MaBKIuUBUMNWLJrlXB1O8JgBPw1jGlkSWFmZjYBsQINXRAG_7t9GBfHM11mWopjCOoyczG_iKw/s640/image015.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div>
<h2 id="Examine-both-their-center-and-spread.">
<span style="color: black; mso-fareast-font-family: "Times New Roman";">Examine both their center and spread.<o:p></o:p></span></h2>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [27]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="k2">for</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">column_name</span></span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_<span class="GramE">df<span class="o2">.</span>columns</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">:</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="nb2">print</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">column_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="nb2">print</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'</span><span class="GramE"><span class="si2">{:,</span></span><span class="si2">}</span><span class="s12">'</span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">format</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="nb2">int</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">column_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">mean</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">())),</span></span> <span class="sa2">u</span><span class="s12">'±'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="s12">'</span><span class="si2">{:,}</span><span class="s12">'</span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">format</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="nb2">int</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">[</span></span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">column_name</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">]</span></span><span class="o2">.</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">std</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">())))</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="GramE"><span class="nb2">print</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">1900_jew_pop<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">166,065
± 366,554<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">1942_jew_pop<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">308,095
± 879,924<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">1970_jew_pop<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">290,281
± 971,456<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">2010_jew_pop<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">211,312
± 915,269<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">1900_pers_inc<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">3,588
± 2,296<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">1942_pers_inc<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">5,921
± 4,151<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">1970_pers_inc<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">14,810
± 12,655<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">2010_pers_inc<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<span style="color: black; font-family: "courier" , serif; font-size: 9.0pt;">27,317
± 18,679<o:p></o:p></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;">
<br /></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div>
<h2 id="STEP-2:-Create-a-graph-showing-the-association-between-your-explanatory-and-response-variables-(bivariate-graph).">
<span style="color: black; mso-fareast-font-family: "Times New Roman";">STEP 2: Create a
graph showing the association between your explanatory and response variables
(bivariate graph).<o:p></o:p></span></h2>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [31]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span> <span class="o2">=</span> <span class="mi2">1900</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">regplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">x</span></span><span class="o2">=</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span><span class="o2">+</span><span class="s12">'_<span class="SpellE">jew_pop</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">y</span></span><span class="o2">=</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span><span class="o2">+</span><span class="s12">'_<span class="SpellE">pers_inc</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data</span></span><span class="o2">=</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Jewish Population'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ylabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ylabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Average Personal Income per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Scatterplot for the Association Between Jewish Population and Average Personal Income in '</span><span class="o2">+</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">))</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQhhuHFhwFGkHW31kXaZBtfEP5d_BaaJw85TWS0dogN_rH0CeN18gTUlDQBNLov60IX2aQpk8b997UcPhwIqaQ5mGcyb3CA5rz9b7ylnmtZTe_8MDRHwaBmpyn6hhuh0cA0ctmdw/s1600/image016.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="307" data-original-width="596" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQhhuHFhwFGkHW31kXaZBtfEP5d_BaaJw85TWS0dogN_rH0CeN18gTUlDQBNLov60IX2aQpk8b997UcPhwIqaQ5mGcyb3CA5rz9b7ylnmtZTe_8MDRHwaBmpyn6hhuh0cA0ctmdw/s640/image016.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [32]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span> <span class="o2">=</span> <span class="mi2">1942</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">regplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">x</span></span><span class="o2">=</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span><span class="o2">+</span><span class="s12">'_<span class="SpellE">jew_pop</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">y</span></span><span class="o2">=</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span><span class="o2">+</span><span class="s12">'_<span class="SpellE">pers_inc</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data</span></span><span class="o2">=</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Jewish Population'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ylabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ylabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Average Personal Income per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Scatterplot for the Association Between Jewish Population and Average Personal Income in '</span><span class="o2">+</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">))</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Wm1NzqS0hvuvb6c60ZiKvT7yiFK6dxMtTsn0yd-gDD0v9IYCByaT34Njs65SNU2kITL9Vb_guXaMvbyiSzMl7kFj7KBYz82SoGjmxjbBktlyiGpRdNL1t1FrSzjBaYQmXTDGwg/s1600/image017.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="307" data-original-width="596" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Wm1NzqS0hvuvb6c60ZiKvT7yiFK6dxMtTsn0yd-gDD0v9IYCByaT34Njs65SNU2kITL9Vb_guXaMvbyiSzMl7kFj7KBYz82SoGjmxjbBktlyiGpRdNL1t1FrSzjBaYQmXTDGwg/s640/image017.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [33]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span> <span class="o2">=</span> <span class="mi2">1970</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">regplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">x</span></span><span class="o2">=</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span><span class="o2">+</span><span class="s12">'_<span class="SpellE">jew_pop</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">y</span></span><span class="o2">=</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span><span class="o2">+</span><span class="s12">'_<span class="SpellE">pers_inc</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data</span></span><span class="o2">=</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Jewish Population'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ylabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ylabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Average Personal Income per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Scatterplot for the Association Between Jewish Population and Average Personal Income in '</span><span class="o2">+</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">))</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvnyE2QiYR30ek_HLB0fm7zun-Av3TMF2jppYI7HA9oEeu_Yd9-OB99fb3HlnonQiX7g6XQWYOa_wYtqIgDqvzYGNHIl7sYXgOMf-dUlMhGC5bsc4eYfCvI1DvUex-PPH1nNHVIw/s1600/image018.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="307" data-original-width="596" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvnyE2QiYR30ek_HLB0fm7zun-Av3TMF2jppYI7HA9oEeu_Yd9-OB99fb3HlnonQiX7g6XQWYOa_wYtqIgDqvzYGNHIl7sYXgOMf-dUlMhGC5bsc4eYfCvI1DvUex-PPH1nNHVIw/s640/image018.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In [34]:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span> <span class="o2">=</span> <span class="mi2">2010</span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">sns</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">regplot</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">x</span></span><span class="o2">=</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span><span class="o2">+</span><span class="s12">'_<span class="SpellE">jew_pop</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">y</span></span><span class="o2">=</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span><span class="o2">+</span><span class="s12">'_<span class="SpellE">pers_inc</span>'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">,</span></span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data</span></span><span class="o2">=</span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">data_df</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="k2">for</span> <span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span> <span class="ow2">in</span> <span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ax</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">get_<span class="GramE">xticklabels</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">):</span></span></pre>
<pre><span style="mso-spacerun: yes;"> </span><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">tick</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">set_<span class="GramE">rotation</span></span></span></span><span class="GramE"><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span></span><span class="mi2">45</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">xlabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Jewish Population'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="SpellE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ylabel</span></span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">ylabel</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Average Personal Income per Country'</span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">)</span></span></pre>
<pre><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span> <span class="o2">=</span> <span class="SpellE"><span class="GramE"><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">plt</span></span><span class="o2">.</span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">title</span></span></span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="s12">'Scatterplot for the Association Between Jewish Population and Average Personal Income in '</span><span class="o2">+</span><span class="SpellE"><span class="nb2">str</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">(</span></span><span class="n"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">year</span></span><span class="p"><span style="font-family: "courier" , serif; mso-bidi-font-family: "Courier New";">))</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVwj0ta3VajBDBKMpKkTsIiZzuqlkloFBRhbzNoeLtkuzVZNC8wcME_3R8-_9YISlwy_n1r_910_C583qSGzEh0ppr10RO4uWk0AxiaJgcXaUqLdRcdaJWiwXJ0McwGHmbvq8uQA/s1600/image019.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="307" data-original-width="596" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVwj0ta3VajBDBKMpKkTsIiZzuqlkloFBRhbzNoeLtkuzVZNC8wcME_3R8-_9YISlwy_n1r_910_C583qSGzEh0ppr10RO4uWk0AxiaJgcXaUqLdRcdaJWiwXJ0McwGHmbvq8uQA/s640/image019.png" width="640" /></a></div>
</div>
</div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div>
<h2 id="Write-a-few-sentences-describing-what-your-graphs-reveal-in-terms-of-your-individual-variables-and-the-relationship-between-them.">
<span style="color: black; mso-fareast-font-family: "Times New Roman";">Write a few
sentences describing what your graphs reveal in terms of your individual
variables and the relationship between them. <o:p></o:p></span></h2>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div>
<div style="line-height: 15.0pt;">
<span style="color: black; font-family: "helvetica neue" , sans-serif; font-size: 10.5pt;">In 1900, personal income was less than \$10,000 per person
everywhere in the select countries. The Jewish population, though mostly close
to zero for the select countries, had 6 or so countries where the population
was substantial, evenly spread up to a population of 1.5 million in one country
(the US). As the years progressed, personal income vastly increased (from \$10K
to \$15K to over \$60K to well over \$80K) and a large gap started forming
between the top country and the rest of the select countries. Similarly, as the
years progressed, Jewish population slightly increased (from 1.5M to 4M to 5M)
and a large gap started forming as most of the middle values disappeared,
leaving most of the Jewish population in one country with a small population in
a large number of the select countries.<o:p></o:p></span></div>
</div>
</div>
</div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .75pt; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div>
<div align="right" class="MsoNormal" style="line-height: 14.55pt; text-align: right;">
<span style="color: black; font-family: "courier" , serif; font-size: 10.5pt;">In <span class="GramE">[ ]</span>:<o:p></o:p></span></div>
<div>
<div style="border: solid #CFCFCF 1.0pt; mso-border-alt: solid #CFCFCF .75pt; padding: 0in 0in 0in 0in;">
<div>
<div style="background: whitesmoke; border: solid #cccccc 1.0pt; padding: 6.0pt 6.0pt 6.0pt 6.0pt;">
<pre><span style="mso-spacerun: yes;"> </span></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-89789964987344152522017-10-09T17:06:00.000-04:002017-10-09T17:06:58.139-04:00Peer-graded Assignment: Making Data Management Decisions<style type="text/css">
/*!
*
* Twitter Bootstrap
*
*/
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
audio,
canvas,
progress,
video {
display: inline-block;
vertical-align: baseline;
}
audio:not([controls]) {
display: none;
height: 0;
}
[hidden],
template {
display: none;
}
a {
background-color: transparent;
}
a:active,
a:hover {
outline: 0;
}
abbr[title] {
border-bottom: 1px dotted;
}
b,
strong {
font-weight: bold;
}
dfn {
font-style: italic;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
mark {
background: #ff0;
color: #000;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
img {
border: 0;
}
svg:not(:root) {
overflow: hidden;
}
figure {
margin: 1em 40px;
}
hr {
box-sizing: content-box;
height: 0;
}
pre {
overflow: auto;
}
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
color: inherit;
font: inherit;
margin: 0;
}
button {
overflow: visible;
}
button,
select {
text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button;
cursor: pointer;
}
button[disabled],
html input[disabled] {
cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
input {
line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
input[type="search"] {
-webkit-appearance: textfield;
box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
border: 0;
padding: 0;
}
textarea {
overflow: auto;
}
optgroup {
font-weight: bold;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
*,
*:before,
*:after {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
a[href^="#"]:after,
a[href^="javascript:"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
.navbar {
display: none;
}
.btn > .caret,
.dropup > .btn > .caret {
border-top-color: #000 !important;
}
.label {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
position: relative;
top: 1px;
display: inline-block;
font-family: 'Glyphicons Halflings';
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
content: "\002a";
}
.glyphicon-plus:before {
content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
content: "\20ac";
}
.glyphicon-minus:before {
content: "\2212";
}
.glyphicon-cloud:before {
content: "\2601";
}
.glyphicon-envelope:before {
content: "\2709";
}
.glyphicon-pencil:before {
content: "\270f";
}
.glyphicon-glass:before {
content: "\e001";
}
.glyphicon-music:before {
content: "\e002";
}
.glyphicon-search:before {
content: "\e003";
}
.glyphicon-heart:before {
content: "\e005";
}
.glyphicon-star:before {
content: "\e006";
}
.glyphicon-star-empty:before {
content: "\e007";
}
.glyphicon-user:before {
content: "\e008";
}
.glyphicon-film:before {
content: "\e009";
}
.glyphicon-th-large:before {
content: "\e010";
}
.glyphicon-th:before {
content: "\e011";
}
.glyphicon-th-list:before {
content: "\e012";
}
.glyphicon-ok:before {
content: "\e013";
}
.glyphicon-remove:before {
content: "\e014";
}
.glyphicon-zoom-in:before {
content: "\e015";
}
.glyphicon-zoom-out:before {
content: "\e016";
}
.glyphicon-off:before {
content: "\e017";
}
.glyphicon-signal:before {
content: "\e018";
}
.glyphicon-cog:before {
content: "\e019";
}
.glyphicon-trash:before {
content: "\e020";
}
.glyphicon-home:before {
content: "\e021";
}
.glyphicon-file:before {
content: "\e022";
}
.glyphicon-time:before {
content: "\e023";
}
.glyphicon-road:before {
content: "\e024";
}
.glyphicon-download-alt:before {
content: "\e025";
}
.glyphicon-download:before {
content: "\e026";
}
.glyphicon-upload:before {
content: "\e027";
}
.glyphicon-inbox:before {
content: "\e028";
}
.glyphicon-play-circle:before {
content: "\e029";
}
.glyphicon-repeat:before {
content: "\e030";
}
.glyphicon-refresh:before {
content: "\e031";
}
.glyphicon-list-alt:before {
content: "\e032";
}
.glyphicon-lock:before {
content: "\e033";
}
.glyphicon-flag:before {
content: "\e034";
}
.glyphicon-headphones:before {
content: "\e035";
}
.glyphicon-volume-off:before {
content: "\e036";
}
.glyphicon-volume-down:before {
content: "\e037";
}
.glyphicon-volume-up:before {
content: "\e038";
}
.glyphicon-qrcode:before {
content: "\e039";
}
.glyphicon-barcode:before {
content: "\e040";
}
.glyphicon-tag:before {
content: "\e041";
}
.glyphicon-tags:before {
content: "\e042";
}
.glyphicon-book:before {
content: "\e043";
}
.glyphicon-bookmark:before {
content: "\e044";
}
.glyphicon-print:before {
content: "\e045";
}
.glyphicon-camera:before {
content: "\e046";
}
.glyphicon-font:before {
content: "\e047";
}
.glyphicon-bold:before {
content: "\e048";
}
.glyphicon-italic:before {
content: "\e049";
}
.glyphicon-text-height:before {
content: "\e050";
}
.glyphicon-text-width:before {
content: "\e051";
}
.glyphicon-align-left:before {
content: "\e052";
}
.glyphicon-align-center:before {
content: "\e053";
}
.glyphicon-align-right:before {
content: "\e054";
}
.glyphicon-align-justify:before {
content: "\e055";
}
.glyphicon-list:before {
content: "\e056";
}
.glyphicon-indent-left:before {
content: "\e057";
}
.glyphicon-indent-right:before {
content: "\e058";
}
.glyphicon-facetime-video:before {
content: "\e059";
}
.glyphicon-picture:before {
content: "\e060";
}
.glyphicon-map-marker:before {
content: "\e062";
}
.glyphicon-adjust:before {
content: "\e063";
}
.glyphicon-tint:before {
content: "\e064";
}
.glyphicon-edit:before {
content: "\e065";
}
.glyphicon-share:before {
content: "\e066";
}
.glyphicon-check:before {
content: "\e067";
}
.glyphicon-move:before {
content: "\e068";
}
.glyphicon-step-backward:before {
content: "\e069";
}
.glyphicon-fast-backward:before {
content: "\e070";
}
.glyphicon-backward:before {
content: "\e071";
}
.glyphicon-play:before {
content: "\e072";
}
.glyphicon-pause:before {
content: "\e073";
}
.glyphicon-stop:before {
content: "\e074";
}
.glyphicon-forward:before {
content: "\e075";
}
.glyphicon-fast-forward:before {
content: "\e076";
}
.glyphicon-step-forward:before {
content: "\e077";
}
.glyphicon-eject:before {
content: "\e078";
}
.glyphicon-chevron-left:before {
content: "\e079";
}
.glyphicon-chevron-right:before {
content: "\e080";
}
.glyphicon-plus-sign:before {
content: "\e081";
}
.glyphicon-minus-sign:before {
content: "\e082";
}
.glyphicon-remove-sign:before {
content: "\e083";
}
.glyphicon-ok-sign:before {
content: "\e084";
}
.glyphicon-question-sign:before {
content: "\e085";
}
.glyphicon-info-sign:before {
content: "\e086";
}
.glyphicon-screenshot:before {
content: "\e087";
}
.glyphicon-remove-circle:before {
content: "\e088";
}
.glyphicon-ok-circle:before {
content: "\e089";
}
.glyphicon-ban-circle:before {
content: "\e090";
}
.glyphicon-arrow-left:before {
content: "\e091";
}
.glyphicon-arrow-right:before {
content: "\e092";
}
.glyphicon-arrow-up:before {
content: "\e093";
}
.glyphicon-arrow-down:before {
content: "\e094";
}
.glyphicon-share-alt:before {
content: "\e095";
}
.glyphicon-resize-full:before {
content: "\e096";
}
.glyphicon-resize-small:before {
content: "\e097";
}
.glyphicon-exclamation-sign:before {
content: "\e101";
}
.glyphicon-gift:before {
content: "\e102";
}
.glyphicon-leaf:before {
content: "\e103";
}
.glyphicon-fire:before {
content: "\e104";
}
.glyphicon-eye-open:before {
content: "\e105";
}
.glyphicon-eye-close:before {
content: "\e106";
}
.glyphicon-warning-sign:before {
content: "\e107";
}
.glyphicon-plane:before {
content: "\e108";
}
.glyphicon-calendar:before {
content: "\e109";
}
.glyphicon-random:before {
content: "\e110";
}
.glyphicon-comment:before {
content: "\e111";
}
.glyphicon-magnet:before {
content: "\e112";
}
.glyphicon-chevron-up:before {
content: "\e113";
}
.glyphicon-chevron-down:before {
content: "\e114";
}
.glyphicon-retweet:before {
content: "\e115";
}
.glyphicon-shopping-cart:before {
content: "\e116";
}
.glyphicon-folder-close:before {
content: "\e117";
}
.glyphicon-folder-open:before {
content: "\e118";
}
.glyphicon-resize-vertical:before {
content: "\e119";
}
.glyphicon-resize-horizontal:before {
content: "\e120";
}
.glyphicon-hdd:before {
content: "\e121";
}
.glyphicon-bullhorn:before {
content: "\e122";
}
.glyphicon-bell:before {
content: "\e123";
}
.glyphicon-certificate:before {
content: "\e124";
}
.glyphicon-thumbs-up:before {
content: "\e125";
}
.glyphicon-thumbs-down:before {
content: "\e126";
}
.glyphicon-hand-right:before {
content: "\e127";
}
.glyphicon-hand-left:before {
content: "\e128";
}
.glyphicon-hand-up:before {
content: "\e129";
}
.glyphicon-hand-down:before {
content: "\e130";
}
.glyphicon-circle-arrow-right:before {
content: "\e131";
}
.glyphicon-circle-arrow-left:before {
content: "\e132";
}
.glyphicon-circle-arrow-up:before {
content: "\e133";
}
.glyphicon-circle-arrow-down:before {
content: "\e134";
}
.glyphicon-globe:before {
content: "\e135";
}
.glyphicon-wrench:before {
content: "\e136";
}
.glyphicon-tasks:before {
content: "\e137";
}
.glyphicon-filter:before {
content: "\e138";
}
.glyphicon-briefcase:before {
content: "\e139";
}
.glyphicon-fullscreen:before {
content: "\e140";
}
.glyphicon-dashboard:before {
content: "\e141";
}
.glyphicon-paperclip:before {
content: "\e142";
}
.glyphicon-heart-empty:before {
content: "\e143";
}
.glyphicon-link:before {
content: "\e144";
}
.glyphicon-phone:before {
content: "\e145";
}
.glyphicon-pushpin:before {
content: "\e146";
}
.glyphicon-usd:before {
content: "\e148";
}
.glyphicon-gbp:before {
content: "\e149";
}
.glyphicon-sort:before {
content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
content: "\e152";
}
.glyphicon-sort-by-order:before {
content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
content: "\e154";
}
.glyphicon-sort-by-attributes:before {
content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
content: "\e156";
}
.glyphicon-unchecked:before {
content: "\e157";
}
.glyphicon-expand:before {
content: "\e158";
}
.glyphicon-collapse-down:before {
content: "\e159";
}
.glyphicon-collapse-up:before {
content: "\e160";
}
.glyphicon-log-in:before {
content: "\e161";
}
.glyphicon-flash:before {
content: "\e162";
}
.glyphicon-log-out:before {
content: "\e163";
}
.glyphicon-new-window:before {
content: "\e164";
}
.glyphicon-record:before {
content: "\e165";
}
.glyphicon-save:before {
content: "\e166";
}
.glyphicon-open:before {
content: "\e167";
}
.glyphicon-saved:before {
content: "\e168";
}
.glyphicon-import:before {
content: "\e169";
}
.glyphicon-export:before {
content: "\e170";
}
.glyphicon-send:before {
content: "\e171";
}
.glyphicon-floppy-disk:before {
content: "\e172";
}
.glyphicon-floppy-saved:before {
content: "\e173";
}
.glyphicon-floppy-remove:before {
content: "\e174";
}
.glyphicon-floppy-save:before {
content: "\e175";
}
.glyphicon-floppy-open:before {
content: "\e176";
}
.glyphicon-credit-card:before {
content: "\e177";
}
.glyphicon-transfer:before {
content: "\e178";
}
.glyphicon-cutlery:before {
content: "\e179";
}
.glyphicon-header:before {
content: "\e180";
}
.glyphicon-compressed:before {
content: "\e181";
}
.glyphicon-earphone:before {
content: "\e182";
}
.glyphicon-phone-alt:before {
content: "\e183";
}
.glyphicon-tower:before {
content: "\e184";
}
.glyphicon-stats:before {
content: "\e185";
}
.glyphicon-sd-video:before {
content: "\e186";
}
.glyphicon-hd-video:before {
content: "\e187";
}
.glyphicon-subtitles:before {
content: "\e188";
}
.glyphicon-sound-stereo:before {
content: "\e189";
}
.glyphicon-sound-dolby:before {
content: "\e190";
}
.glyphicon-sound-5-1:before {
content: "\e191";
}
.glyphicon-sound-6-1:before {
content: "\e192";
}
.glyphicon-sound-7-1:before {
content: "\e193";
}
.glyphicon-copyright-mark:before {
content: "\e194";
}
.glyphicon-registration-mark:before {
content: "\e195";
}
.glyphicon-cloud-download:before {
content: "\e197";
}
.glyphicon-cloud-upload:before {
content: "\e198";
}
.glyphicon-tree-conifer:before {
content: "\e199";
}
.glyphicon-tree-deciduous:before {
content: "\e200";
}
.glyphicon-cd:before {
content: "\e201";
}
.glyphicon-save-file:before {
content: "\e202";
}
.glyphicon-open-file:before {
content: "\e203";
}
.glyphicon-level-up:before {
content: "\e204";
}
.glyphicon-copy:before {
content: "\e205";
}
.glyphicon-paste:before {
content: "\e206";
}
.glyphicon-alert:before {
content: "\e209";
}
.glyphicon-equalizer:before {
content: "\e210";
}
.glyphicon-king:before {
content: "\e211";
}
.glyphicon-queen:before {
content: "\e212";
}
.glyphicon-pawn:before {
content: "\e213";
}
.glyphicon-bishop:before {
content: "\e214";
}
.glyphicon-knight:before {
content: "\e215";
}
.glyphicon-baby-formula:before {
content: "\e216";
}
.glyphicon-tent:before {
content: "\26fa";
}
.glyphicon-blackboard:before {
content: "\e218";
}
.glyphicon-bed:before {
content: "\e219";
}
.glyphicon-apple:before {
content: "\f8ff";
}
.glyphicon-erase:before {
content: "\e221";
}
.glyphicon-hourglass:before {
content: "\231b";
}
.glyphicon-lamp:before {
content: "\e223";
}
.glyphicon-duplicate:before {
content: "\e224";
}
.glyphicon-piggy-bank:before {
content: "\e225";
}
.glyphicon-scissors:before {
content: "\e226";
}
.glyphicon-bitcoin:before {
content: "\e227";
}
.glyphicon-btc:before {
content: "\e227";
}
.glyphicon-xbt:before {
content: "\e227";
}
.glyphicon-yen:before {
content: "\00a5";
}
.glyphicon-jpy:before {
content: "\00a5";
}
.glyphicon-ruble:before {
content: "\20bd";
}
.glyphicon-rub:before {
content: "\20bd";
}
.glyphicon-scale:before {
content: "\e230";
}
.glyphicon-ice-lolly:before {
content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
content: "\e232";
}
.glyphicon-education:before {
content: "\e233";
}
.glyphicon-option-horizontal:before {
content: "\e234";
}
.glyphicon-option-vertical:before {
content: "\e235";
}
.glyphicon-menu-hamburger:before {
content: "\e236";
}
.glyphicon-modal-window:before {
content: "\e237";
}
.glyphicon-oil:before {
content: "\e238";
}
.glyphicon-grain:before {
content: "\e239";
}
.glyphicon-sunglasses:before {
content: "\e240";
}
.glyphicon-text-size:before {
content: "\e241";
}
.glyphicon-text-color:before {
content: "\e242";
}
.glyphicon-text-background:before {
content: "\e243";
}
.glyphicon-object-align-top:before {
content: "\e244";
}
.glyphicon-object-align-bottom:before {
content: "\e245";
}
.glyphicon-object-align-horizontal:before {
content: "\e246";
}
.glyphicon-object-align-left:before {
content: "\e247";
}
.glyphicon-object-align-vertical:before {
content: "\e248";
}
.glyphicon-object-align-right:before {
content: "\e249";
}
.glyphicon-triangle-right:before {
content: "\e250";
}
.glyphicon-triangle-left:before {
content: "\e251";
}
.glyphicon-triangle-bottom:before {
content: "\e252";
}
.glyphicon-triangle-top:before {
content: "\e253";
}
.glyphicon-console:before {
content: "\e254";
}
.glyphicon-superscript:before {
content: "\e255";
}
.glyphicon-subscript:before {
content: "\e256";
}
.glyphicon-menu-left:before {
content: "\e257";
}
.glyphicon-menu-right:before {
content: "\e258";
}
.glyphicon-menu-down:before {
content: "\e259";
}
.glyphicon-menu-up:before {
content: "\e260";
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
font-size: 10px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 1.42857143;
color: #000;
background-color: #fff;
}
input,
button,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
a {
color: #337ab7;
text-decoration: none;
}
a:hover,
a:focus {
color: #23527c;
text-decoration: underline;
}
a:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
figure {
margin: 0;
}
img {
vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
display: block;
max-width: 100%;
height: auto;
}
.img-rounded {
border-radius: 3px;
}
.img-thumbnail {
padding: 4px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 2px;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto;
}
.img-circle {
border-radius: 50%;
}
hr {
margin-top: 18px;
margin-bottom: 18px;
border: 0;
border-top: 1px solid #eeeeee;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
[role="button"] {
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
font-weight: normal;
line-height: 1;
color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
margin-top: 18px;
margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
margin-top: 9px;
margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
font-size: 75%;
}
h1,
.h1 {
font-size: 33px;
}
h2,
.h2 {
font-size: 27px;
}
h3,
.h3 {
font-size: 23px;
}
h4,
.h4 {
font-size: 17px;
}
h5,
.h5 {
font-size: 13px;
}
h6,
.h6 {
font-size: 12px;
}
p {
margin: 0 0 9px;
}
.lead {
margin-bottom: 18px;
font-size: 14px;
font-weight: 300;
line-height: 1.4;
}
@media (min-width: 768px) {
.lead {
font-size: 19.5px;
}
}
small,
.small {
font-size: 92%;
}
mark,
.mark {
background-color: #fcf8e3;
padding: .2em;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
.text-justify {
text-align: justify;
}
.text-nowrap {
white-space: nowrap;
}
.text-lowercase {
text-transform: lowercase;
}
.text-uppercase {
text-transform: uppercase;
}
.text-capitalize {
text-transform: capitalize;
}
.text-muted {
color: #777777;
}
.text-primary {
color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
color: #286090;
}
.text-success {
color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
color: #2b542c;
}
.text-info {
color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
color: #245269;
}
.text-warning {
color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
color: #66512c;
}
.text-danger {
color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
color: #843534;
}
.bg-primary {
color: #fff;
background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
background-color: #286090;
}
.bg-success {
background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
background-color: #c1e2b3;
}
.bg-info {
background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
background-color: #afd9ee;
}
.bg-warning {
background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
background-color: #f7ecb5;
}
.bg-danger {
background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
background-color: #e4b9b9;
}
.page-header {
padding-bottom: 8px;
margin: 36px 0 18px;
border-bottom: 1px solid #eeeeee;
}
ul,
ol {
margin-top: 0;
margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
margin-bottom: 0;
}
.list-unstyled {
padding-left: 0;
list-style: none;
}
.list-inline {
padding-left: 0;
list-style: none;
margin-left: -5px;
}
.list-inline > li {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
dl {
margin-top: 0;
margin-bottom: 18px;
}
dt,
dd {
line-height: 1.42857143;
}
dt {
font-weight: bold;
}
dd {
margin-left: 0;
}
@media (min-width: 541px) {
.dl-horizontal dt {
float: left;
width: 160px;
clear: left;
text-align: right;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dl-horizontal dd {
margin-left: 180px;
}
}
abbr[title],
abbr[data-original-title] {
cursor: help;
border-bottom: 1px dotted #777777;
}
.initialism {
font-size: 90%;
text-transform: uppercase;
}
blockquote {
padding: 9px 18px;
margin: 0 0 18px;
font-size: inherit;
border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
display: block;
font-size: 80%;
line-height: 1.42857143;
color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
padding-right: 15px;
padding-left: 0;
border-right: 5px solid #eeeeee;
border-left: 0;
text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
content: '\00A0 \2014';
}
address {
margin-bottom: 18px;
font-style: normal;
line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
font-family: monospace;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 2px;
}
kbd {
padding: 2px 4px;
font-size: 90%;
color: #888;
background-color: transparent;
border-radius: 1px;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
box-shadow: none;
}
pre {
display: block;
padding: 8.5px;
margin: 0 0 9px;
font-size: 12px;
line-height: 1.42857143;
word-break: break-all;
word-wrap: break-word;
color: #333333;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 2px;
}
pre code {
padding: 0;
font-size: inherit;
color: inherit;
white-space: pre-wrap;
background-color: transparent;
border-radius: 0;
}
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
.container {
margin-right: auto;
margin-left: auto;
padding-left: 0px;
padding-right: 0px;
}
@media (min-width: 768px) {
.container {
width: 768px;
}
}
@media (min-width: 992px) {
.container {
width: 940px;
}
}
@media (min-width: 1200px) {
.container {
width: 1140px;
}
}
.container-fluid {
margin-right: auto;
margin-left: auto;
padding-left: 0px;
padding-right: 0px;
}
.row {
margin-left: 0px;
margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
position: relative;
min-height: 1px;
padding-left: 0px;
padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
}
.col-xs-12 {
width: 100%;
}
.col-xs-11 {
width: 91.66666667%;
}
.col-xs-10 {
width: 83.33333333%;
}
.col-xs-9 {
width: 75%;
}
.col-xs-8 {
width: 66.66666667%;
}
.col-xs-7 {
width: 58.33333333%;
}
.col-xs-6 {
width: 50%;
}
.col-xs-5 {
width: 41.66666667%;
}
.col-xs-4 {
width: 33.33333333%;
}
.col-xs-3 {
width: 25%;
}
.col-xs-2 {
width: 16.66666667%;
}
.col-xs-1 {
width: 8.33333333%;
}
.col-xs-pull-12 {
right: 100%;
}
.col-xs-pull-11 {
right: 91.66666667%;
}
.col-xs-pull-10 {
right: 83.33333333%;
}
.col-xs-pull-9 {
right: 75%;
}
.col-xs-pull-8 {
right: 66.66666667%;
}
.col-xs-pull-7 {
right: 58.33333333%;
}
.col-xs-pull-6 {
right: 50%;
}
.col-xs-pull-5 {
right: 41.66666667%;
}
.col-xs-pull-4 {
right: 33.33333333%;
}
.col-xs-pull-3 {
right: 25%;
}
.col-xs-pull-2 {
right: 16.66666667%;
}
.col-xs-pull-1 {
right: 8.33333333%;
}
.col-xs-pull-0 {
right: auto;
}
.col-xs-push-12 {
left: 100%;
}
.col-xs-push-11 {
left: 91.66666667%;
}
.col-xs-push-10 {
left: 83.33333333%;
}
.col-xs-push-9 {
left: 75%;
}
.col-xs-push-8 {
left: 66.66666667%;
}
.col-xs-push-7 {
left: 58.33333333%;
}
.col-xs-push-6 {
left: 50%;
}
.col-xs-push-5 {
left: 41.66666667%;
}
.col-xs-push-4 {
left: 33.33333333%;
}
.col-xs-push-3 {
left: 25%;
}
.col-xs-push-2 {
left: 16.66666667%;
}
.col-xs-push-1 {
left: 8.33333333%;
}
.col-xs-push-0 {
left: auto;
}
.col-xs-offset-12 {
margin-left: 100%;
}
.col-xs-offset-11 {
margin-left: 91.66666667%;
}
.col-xs-offset-10 {
margin-left: 83.33333333%;
}
.col-xs-offset-9 {
margin-left: 75%;
}
.col-xs-offset-8 {
margin-left: 66.66666667%;
}
.col-xs-offset-7 {
margin-left: 58.33333333%;
}
.col-xs-offset-6 {
margin-left: 50%;
}
.col-xs-offset-5 {
margin-left: 41.66666667%;
}
.col-xs-offset-4 {
margin-left: 33.33333333%;
}
.col-xs-offset-3 {
margin-left: 25%;
}
.col-xs-offset-2 {
margin-left: 16.66666667%;
}
.col-xs-offset-1 {
margin-left: 8.33333333%;
}
.col-xs-offset-0 {
margin-left: 0%;
}
@media (min-width: 768px) {
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
float: left;
}
.col-sm-12 {
width: 100%;
}
.col-sm-11 {
width: 91.66666667%;
}
.col-sm-10 {
width: 83.33333333%;
}
.col-sm-9 {
width: 75%;
}
.col-sm-8 {
width: 66.66666667%;
}
.col-sm-7 {
width: 58.33333333%;
}
.col-sm-6 {
width: 50%;
}
.col-sm-5 {
width: 41.66666667%;
}
.col-sm-4 {
width: 33.33333333%;
}
.col-sm-3 {
width: 25%;
}
.col-sm-2 {
width: 16.66666667%;
}
.col-sm-1 {
width: 8.33333333%;
}
.col-sm-pull-12 {
right: 100%;
}
.col-sm-pull-11 {
right: 91.66666667%;
}
.col-sm-pull-10 {
right: 83.33333333%;
}
.col-sm-pull-9 {
right: 75%;
}
.col-sm-pull-8 {
right: 66.66666667%;
}
.col-sm-pull-7 {
right: 58.33333333%;
}
.col-sm-pull-6 {
right: 50%;
}
.col-sm-pull-5 {
right: 41.66666667%;
}
.col-sm-pull-4 {
right: 33.33333333%;
}
.col-sm-pull-3 {
right: 25%;
}
.col-sm-pull-2 {
right: 16.66666667%;
}
.col-sm-pull-1 {
right: 8.33333333%;
}
.col-sm-pull-0 {
right: auto;
}
.col-sm-push-12 {
left: 100%;
}
.col-sm-push-11 {
left: 91.66666667%;
}
.col-sm-push-10 {
left: 83.33333333%;
}
.col-sm-push-9 {
left: 75%;
}
.col-sm-push-8 {
left: 66.66666667%;
}
.col-sm-push-7 {
left: 58.33333333%;
}
.col-sm-push-6 {
left: 50%;
}
.col-sm-push-5 {
left: 41.66666667%;
}
.col-sm-push-4 {
left: 33.33333333%;
}
.col-sm-push-3 {
left: 25%;
}
.col-sm-push-2 {
left: 16.66666667%;
}
.col-sm-push-1 {
left: 8.33333333%;
}
.col-sm-push-0 {
left: auto;
}
.col-sm-offset-12 {
margin-left: 100%;
}
.col-sm-offset-11 {
margin-left: 91.66666667%;
}
.col-sm-offset-10 {
margin-left: 83.33333333%;
}
.col-sm-offset-9 {
margin-left: 75%;
}
.col-sm-offset-8 {
margin-left: 66.66666667%;
}
.col-sm-offset-7 {
margin-left: 58.33333333%;
}
.col-sm-offset-6 {
margin-left: 50%;
}
.col-sm-offset-5 {
margin-left: 41.66666667%;
}
.col-sm-offset-4 {
margin-left: 33.33333333%;
}
.col-sm-offset-3 {
margin-left: 25%;
}
.col-sm-offset-2 {
margin-left: 16.66666667%;
}
.col-sm-offset-1 {
margin-left: 8.33333333%;
}
.col-sm-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 992px) {
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
float: left;
}
.col-md-12 {
width: 100%;
}
.col-md-11 {
width: 91.66666667%;
}
.col-md-10 {
width: 83.33333333%;
}
.col-md-9 {
width: 75%;
}
.col-md-8 {
width: 66.66666667%;
}
.col-md-7 {
width: 58.33333333%;
}
.col-md-6 {
width: 50%;
}
.col-md-5 {
width: 41.66666667%;
}
.col-md-4 {
width: 33.33333333%;
}
.col-md-3 {
width: 25%;
}
.col-md-2 {
width: 16.66666667%;
}
.col-md-1 {
width: 8.33333333%;
}
.col-md-pull-12 {
right: 100%;
}
.col-md-pull-11 {
right: 91.66666667%;
}
.col-md-pull-10 {
right: 83.33333333%;
}
.col-md-pull-9 {
right: 75%;
}
.col-md-pull-8 {
right: 66.66666667%;
}
.col-md-pull-7 {
right: 58.33333333%;
}
.col-md-pull-6 {
right: 50%;
}
.col-md-pull-5 {
right: 41.66666667%;
}
.col-md-pull-4 {
right: 33.33333333%;
}
.col-md-pull-3 {
right: 25%;
}
.col-md-pull-2 {
right: 16.66666667%;
}
.col-md-pull-1 {
right: 8.33333333%;
}
.col-md-pull-0 {
right: auto;
}
.col-md-push-12 {
left: 100%;
}
.col-md-push-11 {
left: 91.66666667%;
}
.col-md-push-10 {
left: 83.33333333%;
}
.col-md-push-9 {
left: 75%;
}
.col-md-push-8 {
left: 66.66666667%;
}
.col-md-push-7 {
left: 58.33333333%;
}
.col-md-push-6 {
left: 50%;
}
.col-md-push-5 {
left: 41.66666667%;
}
.col-md-push-4 {
left: 33.33333333%;
}
.col-md-push-3 {
left: 25%;
}
.col-md-push-2 {
left: 16.66666667%;
}
.col-md-push-1 {
left: 8.33333333%;
}
.col-md-push-0 {
left: auto;
}
.col-md-offset-12 {
margin-left: 100%;
}
.col-md-offset-11 {
margin-left: 91.66666667%;
}
.col-md-offset-10 {
margin-left: 83.33333333%;
}
.col-md-offset-9 {
margin-left: 75%;
}
.col-md-offset-8 {
margin-left: 66.66666667%;
}
.col-md-offset-7 {
margin-left: 58.33333333%;
}
.col-md-offset-6 {
margin-left: 50%;
}
.col-md-offset-5 {
margin-left: 41.66666667%;
}
.col-md-offset-4 {
margin-left: 33.33333333%;
}
.col-md-offset-3 {
margin-left: 25%;
}
.col-md-offset-2 {
margin-left: 16.66666667%;
}
.col-md-offset-1 {
margin-left: 8.33333333%;
}
.col-md-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 1200px) {
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
.col-lg-12 {
width: 100%;
}
.col-lg-11 {
width: 91.66666667%;
}
.col-lg-10 {
width: 83.33333333%;
}
.col-lg-9 {
width: 75%;
}
.col-lg-8 {
width: 66.66666667%;
}
.col-lg-7 {
width: 58.33333333%;
}
.col-lg-6 {
width: 50%;
}
.col-lg-5 {
width: 41.66666667%;
}
.col-lg-4 {
width: 33.33333333%;
}
.col-lg-3 {
width: 25%;
}
.col-lg-2 {
width: 16.66666667%;
}
.col-lg-1 {
width: 8.33333333%;
}
.col-lg-pull-12 {
right: 100%;
}
.col-lg-pull-11 {
right: 91.66666667%;
}
.col-lg-pull-10 {
right: 83.33333333%;
}
.col-lg-pull-9 {
right: 75%;
}
.col-lg-pull-8 {
right: 66.66666667%;
}
.col-lg-pull-7 {
right: 58.33333333%;
}
.col-lg-pull-6 {
right: 50%;
}
.col-lg-pull-5 {
right: 41.66666667%;
}
.col-lg-pull-4 {
right: 33.33333333%;
}
.col-lg-pull-3 {
right: 25%;
}
.col-lg-pull-2 {
right: 16.66666667%;
}
.col-lg-pull-1 {
right: 8.33333333%;
}
.col-lg-pull-0 {
right: auto;
}
.col-lg-push-12 {
left: 100%;
}
.col-lg-push-11 {
left: 91.66666667%;
}
.col-lg-push-10 {
left: 83.33333333%;
}
.col-lg-push-9 {
left: 75%;
}
.col-lg-push-8 {
left: 66.66666667%;
}
.col-lg-push-7 {
left: 58.33333333%;
}
.col-lg-push-6 {
left: 50%;
}
.col-lg-push-5 {
left: 41.66666667%;
}
.col-lg-push-4 {
left: 33.33333333%;
}
.col-lg-push-3 {
left: 25%;
}
.col-lg-push-2 {
left: 16.66666667%;
}
.col-lg-push-1 {
left: 8.33333333%;
}
.col-lg-push-0 {
left: auto;
}
.col-lg-offset-12 {
margin-left: 100%;
}
.col-lg-offset-11 {
margin-left: 91.66666667%;
}
.col-lg-offset-10 {
margin-left: 83.33333333%;
}
.col-lg-offset-9 {
margin-left: 75%;
}
.col-lg-offset-8 {
margin-left: 66.66666667%;
}
.col-lg-offset-7 {
margin-left: 58.33333333%;
}
.col-lg-offset-6 {
margin-left: 50%;
}
.col-lg-offset-5 {
margin-left: 41.66666667%;
}
.col-lg-offset-4 {
margin-left: 33.33333333%;
}
.col-lg-offset-3 {
margin-left: 25%;
}
.col-lg-offset-2 {
margin-left: 16.66666667%;
}
.col-lg-offset-1 {
margin-left: 8.33333333%;
}
.col-lg-offset-0 {
margin-left: 0%;
}
}
table {
background-color: transparent;
}
caption {
padding-top: 8px;
padding-bottom: 8px;
color: #777777;
text-align: left;
}
th {
text-align: left;
}
.table {
width: 100%;
max-width: 100%;
margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
padding: 8px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.table > thead > tr > th {
vertical-align: bottom;
border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
border-top: 0;
}
.table > tbody + tbody {
border-top: 2px solid #ddd;
}
.table .table {
background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
padding: 5px;
}
.table-bordered {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
background-color: #f5f5f5;
}
table col[class*="col-"] {
position: static;
float: none;
display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
position: static;
float: none;
display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
background-color: #ebcccc;
}
.table-responsive {
overflow-x: auto;
min-height: 0.01%;
}
@media screen and (max-width: 767px) {
.table-responsive {
width: 100%;
margin-bottom: 13.5px;
overflow-y: hidden;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid #ddd;
}
.table-responsive > .table {
margin-bottom: 0;
}
.table-responsive > .table > thead > tr > th,
.table-responsive > .table > tbody > tr > th,
.table-responsive > .table > tfoot > tr > th,
.table-responsive > .table > thead > tr > td,
.table-responsive > .table > tbody > tr > td,
.table-responsive > .table > tfoot > tr > td {
white-space: nowrap;
}
.table-responsive > .table-bordered {
border: 0;
}
.table-responsive > .table-bordered > thead > tr > th:first-child,
.table-responsive > .table-bordered > tbody > tr > th:first-child,
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
.table-responsive > .table-bordered > thead > tr > td:first-child,
.table-responsive > .table-bordered > tbody > tr > td:first-child,
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.table-responsive > .table-bordered > thead > tr > th:last-child,
.table-responsive > .table-bordered > tbody > tr > th:last-child,
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
.table-responsive > .table-bordered > thead > tr > td:last-child,
.table-responsive > .table-bordered > tbody > tr > td:last-child,
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.table-responsive > .table-bordered > tbody > tr:last-child > th,
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
.table-responsive > .table-bordered > tbody > tr:last-child > td,
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
border-bottom: 0;
}
}
fieldset {
padding: 0;
margin: 0;
border: 0;
min-width: 0;
}
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: 18px;
font-size: 19.5px;
line-height: inherit;
color: #333333;
border: 0;
border-bottom: 1px solid #e5e5e5;
}
label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: bold;
}
input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
margin-top: 1px \9;
line-height: normal;
}
input[type="file"] {
display: block;
}
input[type="range"] {
display: block;
width: 100%;
}
select[multiple],
select[size] {
height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
output {
display: block;
padding-top: 7px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
}
.form-control {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
color: #999;
opacity: 1;
}
.form-control:-ms-input-placeholder {
color: #999;
}
.form-control::-webkit-input-placeholder {
color: #999;
}
.form-control::-ms-expand {
border: 0;
background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
background-color: #eeeeee;
opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
cursor: not-allowed;
}
textarea.form-control {
height: auto;
}
input[type="search"] {
-webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
line-height: 32px;
}
input[type="date"].input-sm,
input[type="time"].input-sm,
input[type="datetime-local"].input-sm,
input[type="month"].input-sm,
.input-group-sm input[type="date"],
.input-group-sm input[type="time"],
.input-group-sm input[type="datetime-local"],
.input-group-sm input[type="month"] {
line-height: 30px;
}
input[type="date"].input-lg,
input[type="time"].input-lg,
input[type="datetime-local"].input-lg,
input[type="month"].input-lg,
.input-group-lg input[type="date"],
.input-group-lg input[type="time"],
.input-group-lg input[type="datetime-local"],
.input-group-lg input[type="month"] {
line-height: 45px;
}
}
.form-group {
margin-bottom: 15px;
}
.radio,
.checkbox {
position: relative;
display: block;
margin-top: 10px;
margin-bottom: 10px;
}
.radio label,
.checkbox label {
min-height: 18px;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
position: absolute;
margin-left: -20px;
margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
position: relative;
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
vertical-align: middle;
font-weight: normal;
cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
margin-top: 0;
margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
cursor: not-allowed;
}
.form-control-static {
padding-top: 7px;
padding-bottom: 7px;
margin-bottom: 0;
min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
padding-left: 0;
padding-right: 0;
}
.input-sm {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-sm {
height: 30px;
line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
height: auto;
}
.form-group-sm .form-control {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.form-group-sm select.form-control {
height: 30px;
line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
height: auto;
}
.form-group-sm .form-control-static {
height: 30px;
min-height: 30px;
padding: 6px 10px;
font-size: 12px;
line-height: 1.5;
}
.input-lg {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-lg {
height: 45px;
line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
height: auto;
}
.form-group-lg .form-control {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.form-group-lg select.form-control {
height: 45px;
line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
height: auto;
}
.form-group-lg .form-control-static {
height: 45px;
min-height: 35px;
padding: 11px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.has-feedback {
position: relative;
}
.has-feedback .form-control {
padding-right: 40px;
}
.form-control-feedback {
position: absolute;
top: 0;
right: 0;
z-index: 2;
display: block;
width: 32px;
height: 32px;
line-height: 32px;
text-align: center;
pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: 45px;
height: 45px;
line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: 30px;
height: 30px;
line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
color: #3c763d;
}
.has-success .form-control {
border-color: #3c763d;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
border-color: #2b542c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
color: #3c763d;
border-color: #3c763d;
background-color: #dff0d8;
}
.has-success .form-control-feedback {
color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
color: #8a6d3b;
}
.has-warning .form-control {
border-color: #8a6d3b;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
border-color: #66512c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
color: #8a6d3b;
border-color: #8a6d3b;
background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
color: #a94442;
}
.has-error .form-control {
border-color: #a94442;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
border-color: #843534;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
color: #a94442;
border-color: #a94442;
background-color: #f2dede;
}
.has-error .form-control-feedback {
color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
top: 0;
}
.help-block {
display: block;
margin-top: 5px;
margin-bottom: 10px;
color: #404040;
}
@media (min-width: 768px) {
.form-inline .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
display: inline-table;
vertical-align: middle;
}
.form-inline .input-group .input-group-addon,
.form-inline .input-group .input-group-btn,
.form-inline .input-group .form-control {
width: auto;
}
.form-inline .input-group > .form-control {
width: 100%;
}
.form-inline .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio,
.form-inline .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio label,
.form-inline .checkbox label {
padding-left: 0;
}
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
margin-top: 0;
margin-bottom: 0;
padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
min-height: 25px;
}
.form-horizontal .form-group {
margin-left: 0px;
margin-right: 0px;
}
@media (min-width: 768px) {
.form-horizontal .control-label {
text-align: right;
margin-bottom: 0;
padding-top: 7px;
}
}
.form-horizontal .has-feedback .form-control-feedback {
right: 0px;
}
@media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label {
padding-top: 11px;
font-size: 17px;
}
}
@media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label {
padding-top: 6px;
font-size: 12px;
}
}
.btn {
display: inline-block;
margin-bottom: 0;
font-weight: normal;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
border-radius: 2px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
color: #333;
text-decoration: none;
}
.btn:active,
.btn.active {
outline: 0;
background-image: none;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
cursor: not-allowed;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
.btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.btn-default:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
background-color: #fff;
border-color: #ccc;
}
.btn-default .badge {
color: #fff;
background-color: #333;
}
.btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
color: #fff;
background-color: #286090;
border-color: #122b40;
}
.btn-primary:hover {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
color: #fff;
background-color: #204d74;
border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary .badge {
color: #337ab7;
background-color: #fff;
}
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success .badge {
color: #5cb85c;
background-color: #fff;
}
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info .badge {
color: #5bc0de;
background-color: #fff;
}
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger .badge {
color: #d9534f;
background-color: #fff;
}
.btn-link {
color: #337ab7;
font-weight: normal;
border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
background-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
color: #23527c;
text-decoration: underline;
background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
color: #777777;
text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.btn-block {
display: block;
width: 100%;
}
.btn-block + .btn-block {
margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
.fade.in {
opacity: 1;
}
.collapse {
display: none;
}
.collapse.in {
display: block;
}
tr.collapse.in {
display: table-row;
}
tbody.collapse.in {
display: table-row-group;
}
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition-property: height, visibility;
transition-property: height, visibility;
-webkit-transition-duration: 0.35s;
transition-duration: 0.35s;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
}
.caret {
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-top: 4px dashed;
border-top: 4px solid \9;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle:focus {
outline: 0;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 13px;
text-align: left;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 2px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
background-clip: padding-box;
}
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
.dropdown-menu .divider {
height: 1px;
margin: 8px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.dropdown-menu > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.42857143;
color: #333333;
white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
text-decoration: none;
color: #262626;
background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #fff;
text-decoration: none;
outline: 0;
background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
cursor: not-allowed;
}
.open > .dropdown-menu {
display: block;
}
.open > a {
outline: 0;
}
.dropdown-menu-right {
left: auto;
right: 0;
}
.dropdown-menu-left {
left: 0;
right: auto;
}
.dropdown-header {
display: block;
padding: 3px 20px;
font-size: 12px;
line-height: 1.42857143;
color: #777777;
white-space: nowrap;
}
.dropdown-backdrop {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
z-index: 990;
}
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px dashed;
border-bottom: 4px solid \9;
content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 2px;
}
@media (min-width: 541px) {
.navbar-right .dropdown-menu {
left: auto;
right: 0;
}
.navbar-right .dropdown-menu-left {
left: 0;
right: auto;
}
}
.btn-group,
.btn-group-vertical {
position: relative;
display: inline-block;
vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
margin-left: -1px;
}
.btn-toolbar {
margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
border-radius: 0;
}
.btn-group > .btn:first-child {
margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group > .btn-group {
float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn .caret {
margin-left: 0;
}
.btn-lg .caret {
border-width: 5px 5px 0;
border-bottom-width: 0;
}
.dropup .btn-lg .caret {
border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.btn-group-justified {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
float: none;
display: table-cell;
width: 1%;
}
.btn-group-justified > .btn-group .btn {
width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
.input-group {
position: relative;
display: table;
border-collapse: separate;
}
.input-group[class*="col-"] {
float: none;
padding-left: 0;
padding-right: 0;
}
.input-group .form-control {
position: relative;
z-index: 2;
float: left;
width: 100%;
margin-bottom: 0;
}
.input-group .form-control:focus {
z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
height: 45px;
line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
height: 30px;
line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
.input-group-addon,
.input-group-btn {
width: 1%;
white-space: nowrap;
vertical-align: middle;
}
.input-group-addon {
padding: 6px 12px;
font-size: 13px;
font-weight: normal;
line-height: 1;
color: #555555;
text-align: center;
background-color: #eeeeee;
border: 1px solid #ccc;
border-radius: 2px;
}
.input-group-addon.input-sm {
padding: 5px 10px;
font-size: 12px;
border-radius: 1px;
}
.input-group-addon.input-lg {
padding: 10px 16px;
font-size: 17px;
border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.input-group-addon:first-child {
border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.input-group-addon:last-child {
border-left: 0;
}
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
.input-group-btn > .btn {
position: relative;
}
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
z-index: 2;
margin-left: -1px;
}
.nav {
margin-bottom: 0;
padding-left: 0;
list-style: none;
}
.nav > li {
position: relative;
display: block;
}
.nav > li > a {
position: relative;
display: block;
padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.nav > li.disabled > a {
color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
color: #777777;
text-decoration: none;
background-color: transparent;
cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
background-color: #eeeeee;
border-color: #337ab7;
}
.nav .nav-divider {
height: 1px;
margin: 8px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.nav > li > a > img {
max-width: none;
}
.nav-tabs {
border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
float: left;
margin-bottom: -1px;
}
.nav-tabs > li > a {
margin-right: 2px;
line-height: 1.42857143;
border: 1px solid transparent;
border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: #555555;
background-color: #fff;
border: 1px solid #ddd;
border-bottom-color: transparent;
cursor: default;
}
.nav-tabs.nav-justified {
width: 100%;
border-bottom: 0;
}
.nav-tabs.nav-justified > li {
float: none;
}
.nav-tabs.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-tabs.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs.nav-justified > li > a {
margin-right: 0;
border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 2px 2px 0 0;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.nav-pills > li {
float: left;
}
.nav-pills > li > a {
border-radius: 2px;
}
.nav-pills > li + li {
margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #fff;
background-color: #337ab7;
}
.nav-stacked > li {
float: none;
}
.nav-stacked > li + li {
margin-top: 2px;
margin-left: 0;
}
.nav-justified {
width: 100%;
}
.nav-justified > li {
float: none;
}
.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs-justified {
border-bottom: 0;
}
.nav-tabs-justified > li > a {
margin-right: 0;
border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 2px 2px 0 0;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.tab-content > .tab-pane {
display: none;
}
.tab-content > .active {
display: block;
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar {
position: relative;
min-height: 30px;
margin-bottom: 18px;
border: 1px solid transparent;
}
@media (min-width: 541px) {
.navbar {
border-radius: 2px;
}
}
@media (min-width: 541px) {
.navbar-header {
float: left;
}
}
.navbar-collapse {
overflow-x: visible;
padding-right: 0px;
padding-left: 0px;
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
-webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
overflow-y: auto;
}
@media (min-width: 541px) {
.navbar-collapse {
width: auto;
border-top: 0;
box-shadow: none;
}
.navbar-collapse.collapse {
display: block !important;
height: auto !important;
padding-bottom: 0;
overflow: visible !important;
}
.navbar-collapse.in {
overflow-y: visible;
}
.navbar-fixed-top .navbar-collapse,
.navbar-static-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
padding-left: 0;
padding-right: 0;
}
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 200px;
}
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: 0px;
margin-left: 0px;
}
@media (min-width: 541px) {
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: 0;
margin-left: 0;
}
}
.navbar-static-top {
z-index: 1000;
border-width: 0 0 1px;
}
@media (min-width: 541px) {
.navbar-static-top {
border-radius: 0;
}
}
.navbar-fixed-top,
.navbar-fixed-bottom {
position: fixed;
right: 0;
left: 0;
z-index: 1030;
}
@media (min-width: 541px) {
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
}
.navbar-fixed-top {
top: 0;
border-width: 0 0 1px;
}
.navbar-fixed-bottom {
bottom: 0;
margin-bottom: 0;
border-width: 1px 0 0;
}
.navbar-brand {
float: left;
padding: 6px 0px;
font-size: 17px;
line-height: 18px;
height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
text-decoration: none;
}
.navbar-brand > img {
display: block;
}
@media (min-width: 541px) {
.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand {
margin-left: 0px;
}
}
.navbar-toggle {
position: relative;
float: right;
margin-right: 0px;
padding: 9px 10px;
margin-top: -2px;
margin-bottom: -2px;
background-color: transparent;
background-image: none;
border: 1px solid transparent;
border-radius: 2px;
}
.navbar-toggle:focus {
outline: 0;
}
.navbar-toggle .icon-bar {
display: block;
width: 22px;
height: 2px;
border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
margin-top: 4px;
}
@media (min-width: 541px) {
.navbar-toggle {
display: none;
}
}
.navbar-nav {
margin: 3px 0px;
}
.navbar-nav > li > a {
padding-top: 10px;
padding-bottom: 10px;
line-height: 18px;
}
@media (max-width: 540px) {
.navbar-nav .open .dropdown-menu {
position: static;
float: none;
width: auto;
margin-top: 0;
background-color: transparent;
border: 0;
box-shadow: none;
}
.navbar-nav .open .dropdown-menu > li > a,
.navbar-nav .open .dropdown-menu .dropdown-header {
padding: 5px 15px 5px 25px;
}
.navbar-nav .open .dropdown-menu > li > a {
line-height: 18px;
}
.navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-nav .open .dropdown-menu > li > a:focus {
background-image: none;
}
}
@media (min-width: 541px) {
.navbar-nav {
float: left;
margin: 0;
}
.navbar-nav > li {
float: left;
}
.navbar-nav > li > a {
padding-top: 6px;
padding-bottom: 6px;
}
}
.navbar-form {
margin-left: 0px;
margin-right: 0px;
padding: 10px 0px;
border-top: 1px solid transparent;
border-bottom: 1px solid transparent;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
margin-top: -1px;
margin-bottom: -1px;
}
@media (min-width: 768px) {
.navbar-form .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.navbar-form .form-control-static {
display: inline-block;
}
.navbar-form .input-group {
display: inline-table;
vertical-align: middle;
}
.navbar-form .input-group .input-group-addon,
.navbar-form .input-group .input-group-btn,
.navbar-form .input-group .form-control {
width: auto;
}
.navbar-form .input-group > .form-control {
width: 100%;
}
.navbar-form .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .radio,
.navbar-form .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .radio label,
.navbar-form .checkbox label {
padding-left: 0;
}
.navbar-form .radio input[type="radio"],
.navbar-form .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.navbar-form .has-feedback .form-control-feedback {
top: 0;
}
}
@media (max-width: 540px) {
.navbar-form .form-group {
margin-bottom: 5px;
}
.navbar-form .form-group:last-child {
margin-bottom: 0;
}
}
@media (min-width: 541px) {
.navbar-form {
width: auto;
border: 0;
margin-left: 0;
margin-right: 0;
padding-top: 0;
padding-bottom: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
}
.navbar-nav > li > .dropdown-menu {
margin-top: 0;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
margin-bottom: 0;
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.navbar-btn {
margin-top: -1px;
margin-bottom: -1px;
}
.navbar-btn.btn-sm {
margin-top: 0px;
margin-bottom: 0px;
}
.navbar-btn.btn-xs {
margin-top: 4px;
margin-bottom: 4px;
}
.navbar-text {
margin-top: 6px;
margin-bottom: 6px;
}
@media (min-width: 541px) {
.navbar-text {
float: left;
margin-left: 0px;
margin-right: 0px;
}
}
@media (min-width: 541px) {
.navbar-left {
float: left !important;
float: left;
}
.navbar-right {
float: right !important;
float: right;
margin-right: 0px;
}
.navbar-right ~ .navbar-right {
margin-right: 0;
}
}
.navbar-default {
background-color: #f8f8f8;
border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
color: #5e5e5e;
background-color: transparent;
}
.navbar-default .navbar-text {
color: #777;
}
.navbar-default .navbar-nav > li > a {
color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
color: #333;
background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
.navbar-default .navbar-toggle {
border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
background-color: #e7e7e7;
color: #555;
}
@media (max-width: 540px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #777;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
color: #333;
background-color: transparent;
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
}
.navbar-default .navbar-link {
color: #777;
}
.navbar-default .navbar-link:hover {
color: #333;
}
.navbar-default .btn-link {
color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
color: #ccc;
}
.navbar-inverse {
background-color: #222;
border-color: #080808;
}
.navbar-inverse .navbar-brand {
color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-text {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
color: #444;
background-color: transparent;
}
.navbar-inverse .navbar-toggle {
border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
background-color: #080808;
color: #fff;
}
@media (max-width: 540px) {
.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
border-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #444;
background-color: transparent;
}
}
.navbar-inverse .navbar-link {
color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
color: #fff;
}
.navbar-inverse .btn-link {
color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
color: #444;
}
.breadcrumb {
padding: 8px 15px;
margin-bottom: 18px;
list-style: none;
background-color: #f5f5f5;
border-radius: 2px;
}
.breadcrumb > li {
display: inline-block;
}
.breadcrumb > li + li:before {
content: "/\00a0";
padding: 0 5px;
color: #5e5e5e;
}
.breadcrumb > .active {
color: #777777;
}
.pagination {
display: inline-block;
padding-left: 0;
margin: 18px 0;
border-radius: 2px;
}
.pagination > li {
display: inline;
}
.pagination > li > a,
.pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
line-height: 1.42857143;
text-decoration: none;
color: #337ab7;
background-color: #fff;
border: 1px solid #ddd;
margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
margin-left: 0;
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
border-bottom-right-radius: 2px;
border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
z-index: 2;
color: #23527c;
background-color: #eeeeee;
border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
z-index: 3;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
color: #777777;
background-color: #fff;
border-color: #ddd;
cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
border-bottom-left-radius: 3px;
border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
border-bottom-right-radius: 3px;
border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
border-bottom-left-radius: 1px;
border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
border-bottom-right-radius: 1px;
border-top-right-radius: 1px;
}
.pager {
padding-left: 0;
margin: 18px 0;
list-style: none;
text-align: center;
}
.pager li {
display: inline;
}
.pager li > a,
.pager li > span {
display: inline-block;
padding: 5px 14px;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
float: right;
}
.pager .previous > a,
.pager .previous > span {
float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
color: #777777;
background-color: #fff;
cursor: not-allowed;
}
.label {
display: inline;
padding: .2em .6em .3em;
font-size: 75%;
font-weight: bold;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25em;
}
a.label:hover,
a.label:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.label:empty {
display: none;
}
.btn .label {
position: relative;
top: -1px;
}
.label-default {
background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
background-color: #5e5e5e;
}
.label-primary {
background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
background-color: #286090;
}
.label-success {
background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
background-color: #449d44;
}
.label-info {
background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
background-color: #31b0d5;
}
.label-warning {
background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
background-color: #ec971f;
}
.label-danger {
background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
background-color: #c9302c;
}
.badge {
display: inline-block;
min-width: 10px;
padding: 3px 7px;
font-size: 12px;
font-weight: bold;
color: #fff;
line-height: 1;
vertical-align: middle;
white-space: nowrap;
text-align: center;
background-color: #777777;
border-radius: 10px;
}
.badge:empty {
display: none;
}
.btn .badge {
position: relative;
top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
top: 0;
padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
color: #337ab7;
background-color: #fff;
}
.list-group-item > .badge {
float: right;
}
.list-group-item > .badge + .badge {
margin-right: 5px;
}
.nav-pills > li > a > .badge {
margin-left: 3px;
}
.jumbotron {
padding-top: 30px;
padding-bottom: 30px;
margin-bottom: 30px;
color: inherit;
background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
color: inherit;
}
.jumbotron p {
margin-bottom: 15px;
font-size: 20px;
font-weight: 200;
}
.jumbotron > hr {
border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
border-radius: 3px;
padding-left: 0px;
padding-right: 0px;
}
.jumbotron .container {
max-width: 100%;
}
@media screen and (min-width: 768px) {
.jumbotron {
padding-top: 48px;
padding-bottom: 48px;
}
.container .jumbotron,
.container-fluid .jumbotron {
padding-left: 60px;
padding-right: 60px;
}
.jumbotron h1,
.jumbotron .h1 {
font-size: 59px;
}
}
.thumbnail {
display: block;
padding: 4px;
margin-bottom: 18px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 2px;
-webkit-transition: border 0.2s ease-in-out;
-o-transition: border 0.2s ease-in-out;
transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
margin-left: auto;
margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
border-color: #337ab7;
}
.thumbnail .caption {
padding: 9px;
color: #000;
}
.alert {
padding: 15px;
margin-bottom: 18px;
border: 1px solid transparent;
border-radius: 2px;
}
.alert h4 {
margin-top: 0;
color: inherit;
}
.alert .alert-link {
font-weight: bold;
}
.alert > p,
.alert > ul {
margin-bottom: 0;
}
.alert > p + p {
margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
position: relative;
top: -2px;
right: -21px;
color: inherit;
}
.alert-success {
background-color: #dff0d8;
border-color: #d6e9c6;
color: #3c763d;
}
.alert-success hr {
border-top-color: #c9e2b3;
}
.alert-success .alert-link {
color: #2b542c;
}
.alert-info {
background-color: #d9edf7;
border-color: #bce8f1;
color: #31708f;
}
.alert-info hr {
border-top-color: #a6e1ec;
}
.alert-info .alert-link {
color: #245269;
}
.alert-warning {
background-color: #fcf8e3;
border-color: #faebcc;
color: #8a6d3b;
}
.alert-warning hr {
border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
color: #66512c;
}
.alert-danger {
background-color: #f2dede;
border-color: #ebccd1;
color: #a94442;
}
.alert-danger hr {
border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
@keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
.progress {
overflow: hidden;
height: 18px;
margin-bottom: 18px;
background-color: #f5f5f5;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
float: left;
width: 0%;
height: 100%;
font-size: 12px;
line-height: 18px;
color: #fff;
text-align: center;
background-color: #337ab7;
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-webkit-transition: width 0.6s ease;
-o-transition: width 0.6s ease;
transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
-webkit-animation: progress-bar-stripes 2s linear infinite;
-o-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
}
.media,
.media-body {
zoom: 1;
overflow: hidden;
}
.media-body {
width: 10000px;
}
.media-object {
display: block;
}
.media-object.img-thumbnail {
max-width: none;
}
.media-right,
.media > .pull-right {
padding-left: 10px;
}
.media-left,
.media > .pull-left {
padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
display: table-cell;
vertical-align: top;
}
.media-middle {
vertical-align: middle;
}
.media-bottom {
vertical-align: bottom;
}
.media-heading {
margin-top: 0;
margin-bottom: 5px;
}
.media-list {
padding-left: 0;
list-style: none;
}
.list-group {
margin-bottom: 20px;
padding-left: 0;
}
.list-group-item {
position: relative;
display: block;
padding: 10px 15px;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid #ddd;
}
.list-group-item:first-child {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
}
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
text-decoration: none;
color: #555;
background-color: #f5f5f5;
}
button.list-group-item {
width: 100%;
text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
background-color: #eeeeee;
color: #777777;
cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
z-index: 2;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
color: #c7ddef;
}
.list-group-item-success {
color: #3c763d;
background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
color: #3c763d;
background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
color: #fff;
background-color: #3c763d;
border-color: #3c763d;
}
.list-group-item-info {
color: #31708f;
background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
color: #31708f;
background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
color: #fff;
background-color: #31708f;
border-color: #31708f;
}
.list-group-item-warning {
color: #8a6d3b;
background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
color: #8a6d3b;
background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
color: #fff;
background-color: #8a6d3b;
border-color: #8a6d3b;
}
.list-group-item-danger {
color: #a94442;
background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
color: #a94442;
background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
.list-group-item-heading {
margin-top: 0;
margin-bottom: 5px;
}
.list-group-item-text {
margin-bottom: 0;
line-height: 1.3;
}
.panel {
margin-bottom: 18px;
background-color: #fff;
border: 1px solid transparent;
border-radius: 2px;
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
padding: 15px;
}
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
color: inherit;
}
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: 15px;
color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
color: inherit;
}
.panel-footer {
padding: 10px 15px;
background-color: #f5f5f5;
border-top: 1px solid #ddd;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
border-width: 1px 0;
border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
border-top: 0;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
border-bottom: 0;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0;
}
.list-group + .panel-footer {
border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
padding-left: 15px;
padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
border-top-left-radius: 1px;
border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
border-bottom-left-radius: 1px;
border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
border-bottom: 0;
}
.panel > .table-responsive {
border: 0;
margin-bottom: 0;
}
.panel-group {
margin-bottom: 18px;
}
.panel-group .panel {
margin-bottom: 0;
border-radius: 2px;
}
.panel-group .panel + .panel {
margin-top: 5px;
}
.panel-group .panel-heading {
border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
border-bottom: 1px solid #ddd;
}
.panel-default {
border-color: #ddd;
}
.panel-default > .panel-heading {
color: #333333;
background-color: #f5f5f5;
border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
color: #f5f5f5;
background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ddd;
}
.panel-primary {
border-color: #337ab7;
}
.panel-primary > .panel-heading {
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
color: #337ab7;
background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #337ab7;
}
.panel-success {
border-color: #d6e9c6;
}
.panel-success > .panel-heading {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
color: #dff0d8;
background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #d6e9c6;
}
.panel-info {
border-color: #bce8f1;
}
.panel-info > .panel-heading {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
color: #d9edf7;
background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #bce8f1;
}
.panel-warning {
border-color: #faebcc;
}
.panel-warning > .panel-heading {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
color: #fcf8e3;
background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #faebcc;
}
.panel-danger {
border-color: #ebccd1;
}
.panel-danger > .panel-heading {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
color: #f2dede;
background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ebccd1;
}
.embed-responsive {
position: relative;
display: block;
height: 0;
padding: 0;
overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 100%;
width: 100%;
border: 0;
}
.embed-responsive-16by9 {
padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
padding-bottom: 75%;
}
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
border-color: #ddd;
border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
padding: 24px;
border-radius: 3px;
}
.well-sm {
padding: 9px;
border-radius: 1px;
}
.close {
float: right;
font-size: 19.5px;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: 0.2;
filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: 0.5;
filter: alpha(opacity=50);
}
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
.modal-open {
overflow: hidden;
}
.modal {
display: none;
overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
-webkit-overflow-scrolling: touch;
outline: 0;
}
.modal.fade .modal-dialog {
-webkit-transform: translate(0, -25%);
-ms-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
-webkit-transition: -webkit-transform 0.3s ease-out;
-moz-transition: -moz-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
.modal-open .modal {
overflow-x: hidden;
overflow-y: auto;
}
.modal-dialog {
position: relative;
width: auto;
margin: 10px;
}
.modal-content {
position: relative;
background-color: #fff;
border: 1px solid #999;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
background-clip: padding-box;
outline: 0;
}
.modal-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
.modal-backdrop.fade {
opacity: 0;
filter: alpha(opacity=0);
}
.modal-backdrop.in {
opacity: 0.5;
filter: alpha(opacity=50);
}
.modal-header {
padding: 15px;
border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
margin-top: -2px;
}
.modal-title {
margin: 0;
line-height: 1.42857143;
}
.modal-body {
position: relative;
padding: 15px;
}
.modal-footer {
padding: 15px;
text-align: right;
border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
margin-left: 5px;
margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
margin-left: 0;
}
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
@media (min-width: 768px) {
.modal-dialog {
width: 600px;
margin: 30px auto;
}
.modal-content {
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.modal-sm {
width: 300px;
}
}
@media (min-width: 992px) {
.modal-lg {
width: 900px;
}
}
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 12px;
opacity: 0;
filter: alpha(opacity=0);
}
.tooltip.in {
opacity: 0.9;
filter: alpha(opacity=90);
}
.tooltip.top {
margin-top: -3px;
padding: 5px 0;
}
.tooltip.right {
margin-left: 3px;
padding: 0 5px;
}
.tooltip.bottom {
margin-top: 3px;
padding: 5px 0;
}
.tooltip.left {
margin-left: -3px;
padding: 0 5px;
}
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 2px;
}
.tooltip-arrow {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.tooltip.top .tooltip-arrow {
bottom: 0;
left: 50%;
margin-left: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
bottom: 0;
right: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
bottom: 0;
left: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
top: 50%;
left: 0;
margin-top: -5px;
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
top: 50%;
right: 0;
margin-top: -5px;
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
top: 0;
left: 50%;
margin-left: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
top: 0;
right: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
top: 0;
left: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: none;
max-width: 276px;
padding: 1px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 13px;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
margin-top: -10px;
}
.popover.right {
margin-left: 10px;
}
.popover.bottom {
margin-top: 10px;
}
.popover.left {
margin-left: -10px;
}
.popover-title {
margin: 0;
padding: 8px 14px;
font-size: 13px;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-radius: 2px 2px 0 0;
}
.popover-content {
padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.popover > .arrow {
border-width: 11px;
}
.popover > .arrow:after {
border-width: 10px;
content: "";
}
.popover.top > .arrow {
left: 50%;
margin-left: -11px;
border-bottom-width: 0;
border-top-color: #999999;
border-top-color: rgba(0, 0, 0, 0.25);
bottom: -11px;
}
.popover.top > .arrow:after {
content: " ";
bottom: 1px;
margin-left: -10px;
border-bottom-width: 0;
border-top-color: #fff;
}
.popover.right > .arrow {
top: 50%;
left: -11px;
margin-top: -11px;
border-left-width: 0;
border-right-color: #999999;
border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
content: " ";
left: 1px;
bottom: -10px;
border-left-width: 0;
border-right-color: #fff;
}
.popover.bottom > .arrow {
left: 50%;
margin-left: -11px;
border-top-width: 0;
border-bottom-color: #999999;
border-bottom-color: rgba(0, 0, 0, 0.25);
top: -11px;
}
.popover.bottom > .arrow:after {
content: " ";
top: 1px;
margin-left: -10px;
border-top-width: 0;
border-bottom-color: #fff;
}
.popover.left > .arrow {
top: 50%;
right: -11px;
margin-top: -11px;
border-right-width: 0;
border-left-color: #999999;
border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
content: " ";
right: 1px;
border-right-width: 0;
border-left-color: #fff;
bottom: -10px;
}
.carousel {
position: relative;
}
.carousel-inner {
position: relative;
overflow: hidden;
width: 100%;
}
.carousel-inner > .item {
display: none;
position: relative;
-webkit-transition: 0.6s ease-in-out left;
-o-transition: 0.6s ease-in-out left;
transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
.carousel-inner > .item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
-moz-transition: -moz-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
perspective: 1000px;
}
.carousel-inner > .item.next,
.carousel-inner > .item.active.right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
left: 0;
}
.carousel-inner > .item.prev,
.carousel-inner > .item.active.left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
left: 0;
}
.carousel-inner > .item.next.left,
.carousel-inner > .item.prev.right,
.carousel-inner > .item.active {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
left: 0;
}
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
display: block;
}
.carousel-inner > .active {
left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
position: absolute;
top: 0;
width: 100%;
}
.carousel-inner > .next {
left: 100%;
}
.carousel-inner > .prev {
left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
left: 0;
}
.carousel-inner > .active.left {
left: -100%;
}
.carousel-inner > .active.right {
left: 100%;
}
.carousel-control {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 15%;
opacity: 0.5;
filter: alpha(opacity=50);
font-size: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
left: auto;
right: 0;
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
outline: 0;
color: #fff;
text-decoration: none;
opacity: 0.9;
filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
position: absolute;
top: 50%;
margin-top: -10px;
z-index: 5;
display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
left: 50%;
margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
right: 50%;
margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 20px;
height: 20px;
line-height: 1;
font-family: serif;
}
.carousel-control .icon-prev:before {
content: '\2039';
}
.carousel-control .icon-next:before {
content: '\203a';
}
.carousel-indicators {
position: absolute;
bottom: 10px;
left: 50%;
z-index: 15;
width: 60%;
margin-left: -30%;
padding-left: 0;
list-style: none;
text-align: center;
}
.carousel-indicators li {
display: inline-block;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
border: 1px solid #fff;
border-radius: 10px;
cursor: pointer;
background-color: #000 \9;
background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
margin: 0;
width: 12px;
height: 12px;
background-color: #fff;
}
.carousel-caption {
position: absolute;
left: 15%;
right: 15%;
bottom: 20px;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
text-shadow: none;
}
@media screen and (min-width: 768px) {
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 30px;
height: 30px;
margin-top: -10px;
font-size: 30px;
}
.carousel-control .glyphicon-chevron-left,
.carousel-control .icon-prev {
margin-left: -10px;
}
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next {
margin-right: -10px;
}
.carousel-caption {
left: 20%;
right: 20%;
padding-bottom: 30px;
}
.carousel-indicators {
bottom: 20px;
}
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
content: " ";
display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
clear: both;
}
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
.pull-right {
float: right !important;
}
.pull-left {
float: left !important;
}
.hide {
display: none !important;
}
.show {
display: block !important;
}
.invisible {
visibility: hidden;
}
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.hidden {
display: none !important;
}
.affix {
position: fixed;
}
@-ms-viewport {
width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
display: none !important;
}
@media (max-width: 767px) {
.visible-xs {
display: block !important;
}
table.visible-xs {
display: table !important;
}
tr.visible-xs {
display: table-row !important;
}
th.visible-xs,
td.visible-xs {
display: table-cell !important;
}
}
@media (max-width: 767px) {
.visible-xs-block {
display: block !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline {
display: inline !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline-block {
display: inline-block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm {
display: block !important;
}
table.visible-sm {
display: table !important;
}
tr.visible-sm {
display: table-row !important;
}
th.visible-sm,
td.visible-sm {
display: table-cell !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-block {
display: block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline {
display: inline !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline-block {
display: inline-block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md {
display: block !important;
}
table.visible-md {
display: table !important;
}
tr.visible-md {
display: table-row !important;
}
th.visible-md,
td.visible-md {
display: table-cell !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-block {
display: block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline {
display: inline !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline-block {
display: inline-block !important;
}
}
@media (min-width: 1200px) {
.visible-lg {
display: block !important;
}
table.visible-lg {
display: table !important;
}
tr.visible-lg {
display: table-row !important;
}
th.visible-lg,
td.visible-lg {
display: table-cell !important;
}
}
@media (min-width: 1200px) {
.visible-lg-block {
display: block !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline {
display: inline !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline-block {
display: inline-block !important;
}
}
@media (max-width: 767px) {
.hidden-xs {
display: none !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.hidden-sm {
display: none !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.hidden-md {
display: none !important;
}
}
@media (min-width: 1200px) {
.hidden-lg {
display: none !important;
}
}
.visible-print {
display: none !important;
}
@media print {
.visible-print {
display: block !important;
}
table.visible-print {
display: table !important;
}
tr.visible-print {
display: table-row !important;
}
th.visible-print,
td.visible-print {
display: table-cell !important;
}
}
.visible-print-block {
display: none !important;
}
@media print {
.visible-print-block {
display: block !important;
}
}
.visible-print-inline {
display: none !important;
}
@media print {
.visible-print-inline {
display: inline !important;
}
}
.visible-print-inline-block {
display: none !important;
}
@media print {
.visible-print-inline-block {
display: inline-block !important;
}
}
@media print {
.hidden-print {
display: none !important;
}
}
/*!
*
* Font Awesome
*
*/
/*!
* Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
.fa {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
font-size: 1.33333333em;
line-height: 0.75em;
vertical-align: -15%;
}
.fa-2x {
font-size: 2em;
}
.fa-3x {
font-size: 3em;
}
.fa-4x {
font-size: 4em;
}
.fa-5x {
font-size: 5em;
}
.fa-fw {
width: 1.28571429em;
text-align: center;
}
.fa-ul {
padding-left: 0;
margin-left: 2.14285714em;
list-style-type: none;
}
.fa-ul > li {
position: relative;
}
.fa-li {
position: absolute;
left: -2.14285714em;
width: 2.14285714em;
top: 0.14285714em;
text-align: center;
}
.fa-li.fa-lg {
left: -1.85714286em;
}
.fa-border {
padding: .2em .25em .15em;
border: solid 0.08em #eee;
border-radius: .1em;
}
.pull-right {
float: right;
}
.pull-left {
float: left;
}
.fa.pull-left {
margin-right: .3em;
}
.fa.pull-right {
margin-left: .3em;
}
.fa-spin {
-webkit-animation: fa-spin 2s infinite linear;
animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
.fa-rotate-90 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
.fa-rotate-180 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
.fa-rotate-270 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
-webkit-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
.fa-flip-horizontal {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
-webkit-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
transform: scale(-1, 1);
}
.fa-flip-vertical {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
-webkit-transform: scale(1, -1);
-ms-transform: scale(1, -1);
transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
filter: none;
}
.fa-stack {
position: relative;
display: inline-block;
width: 2em;
height: 2em;
line-height: 2em;
vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
position: absolute;
left: 0;
width: 100%;
text-align: center;
}
.fa-stack-1x {
line-height: inherit;
}
.fa-stack-2x {
font-size: 2em;
}
.fa-inverse {
color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-glass:before {
content: "\f000";
}
.fa-music:before {
content: "\f001";
}
.fa-search:before {
content: "\f002";
}
.fa-envelope-o:before {
content: "\f003";
}
.fa-heart:before {
content: "\f004";
}
.fa-star:before {
content: "\f005";
}
.fa-star-o:before {
content: "\f006";
}
.fa-user:before {
content: "\f007";
}
.fa-film:before {
content: "\f008";
}
.fa-th-large:before {
content: "\f009";
}
.fa-th:before {
content: "\f00a";
}
.fa-th-list:before {
content: "\f00b";
}
.fa-check:before {
content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
content: "\f00d";
}
.fa-search-plus:before {
content: "\f00e";
}
.fa-search-minus:before {
content: "\f010";
}
.fa-power-off:before {
content: "\f011";
}
.fa-signal:before {
content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
content: "\f013";
}
.fa-trash-o:before {
content: "\f014";
}
.fa-home:before {
content: "\f015";
}
.fa-file-o:before {
content: "\f016";
}
.fa-clock-o:before {
content: "\f017";
}
.fa-road:before {
content: "\f018";
}
.fa-download:before {
content: "\f019";
}
.fa-arrow-circle-o-down:before {
content: "\f01a";
}
.fa-arrow-circle-o-up:before {
content: "\f01b";
}
.fa-inbox:before {
content: "\f01c";
}
.fa-play-circle-o:before {
content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
content: "\f01e";
}
.fa-refresh:before {
content: "\f021";
}
.fa-list-alt:before {
content: "\f022";
}
.fa-lock:before {
content: "\f023";
}
.fa-flag:before {
content: "\f024";
}
.fa-headphones:before {
content: "\f025";
}
.fa-volume-off:before {
content: "\f026";
}
.fa-volume-down:before {
content: "\f027";
}
.fa-volume-up:before {
content: "\f028";
}
.fa-qrcode:before {
content: "\f029";
}
.fa-barcode:before {
content: "\f02a";
}
.fa-tag:before {
content: "\f02b";
}
.fa-tags:before {
content: "\f02c";
}
.fa-book:before {
content: "\f02d";
}
.fa-bookmark:before {
content: "\f02e";
}
.fa-print:before {
content: "\f02f";
}
.fa-camera:before {
content: "\f030";
}
.fa-font:before {
content: "\f031";
}
.fa-bold:before {
content: "\f032";
}
.fa-italic:before {
content: "\f033";
}
.fa-text-height:before {
content: "\f034";
}
.fa-text-width:before {
content: "\f035";
}
.fa-align-left:before {
content: "\f036";
}
.fa-align-center:before {
content: "\f037";
}
.fa-align-right:before {
content: "\f038";
}
.fa-align-justify:before {
content: "\f039";
}
.fa-list:before {
content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
content: "\f03b";
}
.fa-indent:before {
content: "\f03c";
}
.fa-video-camera:before {
content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
content: "\f03e";
}
.fa-pencil:before {
content: "\f040";
}
.fa-map-marker:before {
content: "\f041";
}
.fa-adjust:before {
content: "\f042";
}
.fa-tint:before {
content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
content: "\f044";
}
.fa-share-square-o:before {
content: "\f045";
}
.fa-check-square-o:before {
content: "\f046";
}
.fa-arrows:before {
content: "\f047";
}
.fa-step-backward:before {
content: "\f048";
}
.fa-fast-backward:before {
content: "\f049";
}
.fa-backward:before {
content: "\f04a";
}
.fa-play:before {
content: "\f04b";
}
.fa-pause:before {
content: "\f04c";
}
.fa-stop:before {
content: "\f04d";
}
.fa-forward:before {
content: "\f04e";
}
.fa-fast-forward:before {
content: "\f050";
}
.fa-step-forward:before {
content: "\f051";
}
.fa-eject:before {
content: "\f052";
}
.fa-chevron-left:before {
content: "\f053";
}
.fa-chevron-right:before {
content: "\f054";
}
.fa-plus-circle:before {
content: "\f055";
}
.fa-minus-circle:before {
content: "\f056";
}
.fa-times-circle:before {
content: "\f057";
}
.fa-check-circle:before {
content: "\f058";
}
.fa-question-circle:before {
content: "\f059";
}
.fa-info-circle:before {
content: "\f05a";
}
.fa-crosshairs:before {
content: "\f05b";
}
.fa-times-circle-o:before {
content: "\f05c";
}
.fa-check-circle-o:before {
content: "\f05d";
}
.fa-ban:before {
content: "\f05e";
}
.fa-arrow-left:before {
content: "\f060";
}
.fa-arrow-right:before {
content: "\f061";
}
.fa-arrow-up:before {
content: "\f062";
}
.fa-arrow-down:before {
content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
content: "\f064";
}
.fa-expand:before {
content: "\f065";
}
.fa-compress:before {
content: "\f066";
}
.fa-plus:before {
content: "\f067";
}
.fa-minus:before {
content: "\f068";
}
.fa-asterisk:before {
content: "\f069";
}
.fa-exclamation-circle:before {
content: "\f06a";
}
.fa-gift:before {
content: "\f06b";
}
.fa-leaf:before {
content: "\f06c";
}
.fa-fire:before {
content: "\f06d";
}
.fa-eye:before {
content: "\f06e";
}
.fa-eye-slash:before {
content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
content: "\f071";
}
.fa-plane:before {
content: "\f072";
}
.fa-calendar:before {
content: "\f073";
}
.fa-random:before {
content: "\f074";
}
.fa-comment:before {
content: "\f075";
}
.fa-magnet:before {
content: "\f076";
}
.fa-chevron-up:before {
content: "\f077";
}
.fa-chevron-down:before {
content: "\f078";
}
.fa-retweet:before {
content: "\f079";
}
.fa-shopping-cart:before {
content: "\f07a";
}
.fa-folder:before {
content: "\f07b";
}
.fa-folder-open:before {
content: "\f07c";
}
.fa-arrows-v:before {
content: "\f07d";
}
.fa-arrows-h:before {
content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
content: "\f080";
}
.fa-twitter-square:before {
content: "\f081";
}
.fa-facebook-square:before {
content: "\f082";
}
.fa-camera-retro:before {
content: "\f083";
}
.fa-key:before {
content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
content: "\f085";
}
.fa-comments:before {
content: "\f086";
}
.fa-thumbs-o-up:before {
content: "\f087";
}
.fa-thumbs-o-down:before {
content: "\f088";
}
.fa-star-half:before {
content: "\f089";
}
.fa-heart-o:before {
content: "\f08a";
}
.fa-sign-out:before {
content: "\f08b";
}
.fa-linkedin-square:before {
content: "\f08c";
}
.fa-thumb-tack:before {
content: "\f08d";
}
.fa-external-link:before {
content: "\f08e";
}
.fa-sign-in:before {
content: "\f090";
}
.fa-trophy:before {
content: "\f091";
}
.fa-github-square:before {
content: "\f092";
}
.fa-upload:before {
content: "\f093";
}
.fa-lemon-o:before {
content: "\f094";
}
.fa-phone:before {
content: "\f095";
}
.fa-square-o:before {
content: "\f096";
}
.fa-bookmark-o:before {
content: "\f097";
}
.fa-phone-square:before {
content: "\f098";
}
.fa-twitter:before {
content: "\f099";
}
.fa-facebook:before {
content: "\f09a";
}
.fa-github:before {
content: "\f09b";
}
.fa-unlock:before {
content: "\f09c";
}
.fa-credit-card:before {
content: "\f09d";
}
.fa-rss:before {
content: "\f09e";
}
.fa-hdd-o:before {
content: "\f0a0";
}
.fa-bullhorn:before {
content: "\f0a1";
}
.fa-bell:before {
content: "\f0f3";
}
.fa-certificate:before {
content: "\f0a3";
}
.fa-hand-o-right:before {
content: "\f0a4";
}
.fa-hand-o-left:before {
content: "\f0a5";
}
.fa-hand-o-up:before {
content: "\f0a6";
}
.fa-hand-o-down:before {
content: "\f0a7";
}
.fa-arrow-circle-left:before {
content: "\f0a8";
}
.fa-arrow-circle-right:before {
content: "\f0a9";
}
.fa-arrow-circle-up:before {
content: "\f0aa";
}
.fa-arrow-circle-down:before {
content: "\f0ab";
}
.fa-globe:before {
content: "\f0ac";
}
.fa-wrench:before {
content: "\f0ad";
}
.fa-tasks:before {
content: "\f0ae";
}
.fa-filter:before {
content: "\f0b0";
}
.fa-briefcase:before {
content: "\f0b1";
}
.fa-arrows-alt:before {
content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
content: "\f0c1";
}
.fa-cloud:before {
content: "\f0c2";
}
.fa-flask:before {
content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
content: "\f0c5";
}
.fa-paperclip:before {
content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
content: "\f0c7";
}
.fa-square:before {
content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
content: "\f0c9";
}
.fa-list-ul:before {
content: "\f0ca";
}
.fa-list-ol:before {
content: "\f0cb";
}
.fa-strikethrough:before {
content: "\f0cc";
}
.fa-underline:before {
content: "\f0cd";
}
.fa-table:before {
content: "\f0ce";
}
.fa-magic:before {
content: "\f0d0";
}
.fa-truck:before {
content: "\f0d1";
}
.fa-pinterest:before {
content: "\f0d2";
}
.fa-pinterest-square:before {
content: "\f0d3";
}
.fa-google-plus-square:before {
content: "\f0d4";
}
.fa-google-plus:before {
content: "\f0d5";
}
.fa-money:before {
content: "\f0d6";
}
.fa-caret-down:before {
content: "\f0d7";
}
.fa-caret-up:before {
content: "\f0d8";
}
.fa-caret-left:before {
content: "\f0d9";
}
.fa-caret-right:before {
content: "\f0da";
}
.fa-columns:before {
content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
content: "\f0de";
}
.fa-envelope:before {
content: "\f0e0";
}
.fa-linkedin:before {
content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
content: "\f0e4";
}
.fa-comment-o:before {
content: "\f0e5";
}
.fa-comments-o:before {
content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
content: "\f0e7";
}
.fa-sitemap:before {
content: "\f0e8";
}
.fa-umbrella:before {
content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
content: "\f0ea";
}
.fa-lightbulb-o:before {
content: "\f0eb";
}
.fa-exchange:before {
content: "\f0ec";
}
.fa-cloud-download:before {
content: "\f0ed";
}
.fa-cloud-upload:before {
content: "\f0ee";
}
.fa-user-md:before {
content: "\f0f0";
}
.fa-stethoscope:before {
content: "\f0f1";
}
.fa-suitcase:before {
content: "\f0f2";
}
.fa-bell-o:before {
content: "\f0a2";
}
.fa-coffee:before {
content: "\f0f4";
}
.fa-cutlery:before {
content: "\f0f5";
}
.fa-file-text-o:before {
content: "\f0f6";
}
.fa-building-o:before {
content: "\f0f7";
}
.fa-hospital-o:before {
content: "\f0f8";
}
.fa-ambulance:before {
content: "\f0f9";
}
.fa-medkit:before {
content: "\f0fa";
}
.fa-fighter-jet:before {
content: "\f0fb";
}
.fa-beer:before {
content: "\f0fc";
}
.fa-h-square:before {
content: "\f0fd";
}
.fa-plus-square:before {
content: "\f0fe";
}
.fa-angle-double-left:before {
content: "\f100";
}
.fa-angle-double-right:before {
content: "\f101";
}
.fa-angle-double-up:before {
content: "\f102";
}
.fa-angle-double-down:before {
content: "\f103";
}
.fa-angle-left:before {
content: "\f104";
}
.fa-angle-right:before {
content: "\f105";
}
.fa-angle-up:before {
content: "\f106";
}
.fa-angle-down:before {
content: "\f107";
}
.fa-desktop:before {
content: "\f108";
}
.fa-laptop:before {
content: "\f109";
}
.fa-tablet:before {
content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
content: "\f10b";
}
.fa-circle-o:before {
content: "\f10c";
}
.fa-quote-left:before {
content: "\f10d";
}
.fa-quote-right:before {
content: "\f10e";
}
.fa-spinner:before {
content: "\f110";
}
.fa-circle:before {
content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
content: "\f112";
}
.fa-github-alt:before {
content: "\f113";
}
.fa-folder-o:before {
content: "\f114";
}
.fa-folder-open-o:before {
content: "\f115";
}
.fa-smile-o:before {
content: "\f118";
}
.fa-frown-o:before {
content: "\f119";
}
.fa-meh-o:before {
content: "\f11a";
}
.fa-gamepad:before {
content: "\f11b";
}
.fa-keyboard-o:before {
content: "\f11c";
}
.fa-flag-o:before {
content: "\f11d";
}
.fa-flag-checkered:before {
content: "\f11e";
}
.fa-terminal:before {
content: "\f120";
}
.fa-code:before {
content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
content: "\f123";
}
.fa-location-arrow:before {
content: "\f124";
}
.fa-crop:before {
content: "\f125";
}
.fa-code-fork:before {
content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
content: "\f127";
}
.fa-question:before {
content: "\f128";
}
.fa-info:before {
content: "\f129";
}
.fa-exclamation:before {
content: "\f12a";
}
.fa-superscript:before {
content: "\f12b";
}
.fa-subscript:before {
content: "\f12c";
}
.fa-eraser:before {
content: "\f12d";
}
.fa-puzzle-piece:before {
content: "\f12e";
}
.fa-microphone:before {
content: "\f130";
}
.fa-microphone-slash:before {
content: "\f131";
}
.fa-shield:before {
content: "\f132";
}
.fa-calendar-o:before {
content: "\f133";
}
.fa-fire-extinguisher:before {
content: "\f134";
}
.fa-rocket:before {
content: "\f135";
}
.fa-maxcdn:before {
content: "\f136";
}
.fa-chevron-circle-left:before {
content: "\f137";
}
.fa-chevron-circle-right:before {
content: "\f138";
}
.fa-chevron-circle-up:before {
content: "\f139";
}
.fa-chevron-circle-down:before {
content: "\f13a";
}
.fa-html5:before {
content: "\f13b";
}
.fa-css3:before {
content: "\f13c";
}
.fa-anchor:before {
content: "\f13d";
}
.fa-unlock-alt:before {
content: "\f13e";
}
.fa-bullseye:before {
content: "\f140";
}
.fa-ellipsis-h:before {
content: "\f141";
}
.fa-ellipsis-v:before {
content: "\f142";
}
.fa-rss-square:before {
content: "\f143";
}
.fa-play-circle:before {
content: "\f144";
}
.fa-ticket:before {
content: "\f145";
}
.fa-minus-square:before {
content: "\f146";
}
.fa-minus-square-o:before {
content: "\f147";
}
.fa-level-up:before {
content: "\f148";
}
.fa-level-down:before {
content: "\f149";
}
.fa-check-square:before {
content: "\f14a";
}
.fa-pencil-square:before {
content: "\f14b";
}
.fa-external-link-square:before {
content: "\f14c";
}
.fa-share-square:before {
content: "\f14d";
}
.fa-compass:before {
content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
content: "\f153";
}
.fa-gbp:before {
content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
content: "\f158";
}
.fa-won:before,
.fa-krw:before {
content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
content: "\f15a";
}
.fa-file:before {
content: "\f15b";
}
.fa-file-text:before {
content: "\f15c";
}
.fa-sort-alpha-asc:before {
content: "\f15d";
}
.fa-sort-alpha-desc:before {
content: "\f15e";
}
.fa-sort-amount-asc:before {
content: "\f160";
}
.fa-sort-amount-desc:before {
content: "\f161";
}
.fa-sort-numeric-asc:before {
content: "\f162";
}
.fa-sort-numeric-desc:before {
content: "\f163";
}
.fa-thumbs-up:before {
content: "\f164";
}
.fa-thumbs-down:before {
content: "\f165";
}
.fa-youtube-square:before {
content: "\f166";
}
.fa-youtube:before {
content: "\f167";
}
.fa-xing:before {
content: "\f168";
}
.fa-xing-square:before {
content: "\f169";
}
.fa-youtube-play:before {
content: "\f16a";
}
.fa-dropbox:before {
content: "\f16b";
}
.fa-stack-overflow:before {
content: "\f16c";
}
.fa-instagram:before {
content: "\f16d";
}
.fa-flickr:before {
content: "\f16e";
}
.fa-adn:before {
content: "\f170";
}
.fa-bitbucket:before {
content: "\f171";
}
.fa-bitbucket-square:before {
content: "\f172";
}
.fa-tumblr:before {
content: "\f173";
}
.fa-tumblr-square:before {
content: "\f174";
}
.fa-long-arrow-down:before {
content: "\f175";
}
.fa-long-arrow-up:before {
content: "\f176";
}
.fa-long-arrow-left:before {
content: "\f177";
}
.fa-long-arrow-right:before {
content: "\f178";
}
.fa-apple:before {
content: "\f179";
}
.fa-windows:before {
content: "\f17a";
}
.fa-android:before {
content: "\f17b";
}
.fa-linux:before {
content: "\f17c";
}
.fa-dribbble:before {
content: "\f17d";
}
.fa-skype:before {
content: "\f17e";
}
.fa-foursquare:before {
content: "\f180";
}
.fa-trello:before {
content: "\f181";
}
.fa-female:before {
content: "\f182";
}
.fa-male:before {
content: "\f183";
}
.fa-gittip:before {
content: "\f184";
}
.fa-sun-o:before {
content: "\f185";
}
.fa-moon-o:before {
content: "\f186";
}
.fa-archive:before {
content: "\f187";
}
.fa-bug:before {
content: "\f188";
}
.fa-vk:before {
content: "\f189";
}
.fa-weibo:before {
content: "\f18a";
}
.fa-renren:before {
content: "\f18b";
}
.fa-pagelines:before {
content: "\f18c";
}
.fa-stack-exchange:before {
content: "\f18d";
}
.fa-arrow-circle-o-right:before {
content: "\f18e";
}
.fa-arrow-circle-o-left:before {
content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
content: "\f191";
}
.fa-dot-circle-o:before {
content: "\f192";
}
.fa-wheelchair:before {
content: "\f193";
}
.fa-vimeo-square:before {
content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
content: "\f195";
}
.fa-plus-square-o:before {
content: "\f196";
}
.fa-space-shuttle:before {
content: "\f197";
}
.fa-slack:before {
content: "\f198";
}
.fa-envelope-square:before {
content: "\f199";
}
.fa-wordpress:before {
content: "\f19a";
}
.fa-openid:before {
content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
content: "\f19d";
}
.fa-yahoo:before {
content: "\f19e";
}
.fa-google:before {
content: "\f1a0";
}
.fa-reddit:before {
content: "\f1a1";
}
.fa-reddit-square:before {
content: "\f1a2";
}
.fa-stumbleupon-circle:before {
content: "\f1a3";
}
.fa-stumbleupon:before {
content: "\f1a4";
}
.fa-delicious:before {
content: "\f1a5";
}
.fa-digg:before {
content: "\f1a6";
}
.fa-pied-piper:before {
content: "\f1a7";
}
.fa-pied-piper-alt:before {
content: "\f1a8";
}
.fa-drupal:before {
content: "\f1a9";
}
.fa-joomla:before {
content: "\f1aa";
}
.fa-language:before {
content: "\f1ab";
}
.fa-fax:before {
content: "\f1ac";
}
.fa-building:before {
content: "\f1ad";
}
.fa-child:before {
content: "\f1ae";
}
.fa-paw:before {
content: "\f1b0";
}
.fa-spoon:before {
content: "\f1b1";
}
.fa-cube:before {
content: "\f1b2";
}
.fa-cubes:before {
content: "\f1b3";
}
.fa-behance:before {
content: "\f1b4";
}
.fa-behance-square:before {
content: "\f1b5";
}
.fa-steam:before {
content: "\f1b6";
}
.fa-steam-square:before {
content: "\f1b7";
}
.fa-recycle:before {
content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
content: "\f1ba";
}
.fa-tree:before {
content: "\f1bb";
}
.fa-spotify:before {
content: "\f1bc";
}
.fa-deviantart:before {
content: "\f1bd";
}
.fa-soundcloud:before {
content: "\f1be";
}
.fa-database:before {
content: "\f1c0";
}
.fa-file-pdf-o:before {
content: "\f1c1";
}
.fa-file-word-o:before {
content: "\f1c2";
}
.fa-file-excel-o:before {
content: "\f1c3";
}
.fa-file-powerpoint-o:before {
content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
content: "\f1c8";
}
.fa-file-code-o:before {
content: "\f1c9";
}
.fa-vine:before {
content: "\f1ca";
}
.fa-codepen:before {
content: "\f1cb";
}
.fa-jsfiddle:before {
content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
content: "\f1cd";
}
.fa-circle-o-notch:before {
content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
content: "\f1d1";
}
.fa-git-square:before {
content: "\f1d2";
}
.fa-git:before {
content: "\f1d3";
}
.fa-hacker-news:before {
content: "\f1d4";
}
.fa-tencent-weibo:before {
content: "\f1d5";
}
.fa-qq:before {
content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
content: "\f1d9";
}
.fa-history:before {
content: "\f1da";
}
.fa-circle-thin:before {
content: "\f1db";
}
.fa-header:before {
content: "\f1dc";
}
.fa-paragraph:before {
content: "\f1dd";
}
.fa-sliders:before {
content: "\f1de";
}
.fa-share-alt:before {
content: "\f1e0";
}
.fa-share-alt-square:before {
content: "\f1e1";
}
.fa-bomb:before {
content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
content: "\f1e3";
}
.fa-tty:before {
content: "\f1e4";
}
.fa-binoculars:before {
content: "\f1e5";
}
.fa-plug:before {
content: "\f1e6";
}
.fa-slideshare:before {
content: "\f1e7";
}
.fa-twitch:before {
content: "\f1e8";
}
.fa-yelp:before {
content: "\f1e9";
}
.fa-newspaper-o:before {
content: "\f1ea";
}
.fa-wifi:before {
content: "\f1eb";
}
.fa-calculator:before {
content: "\f1ec";
}
.fa-paypal:before {
content: "\f1ed";
}
.fa-google-wallet:before {
content: "\f1ee";
}
.fa-cc-visa:before {
content: "\f1f0";
}
.fa-cc-mastercard:before {
content: "\f1f1";
}
.fa-cc-discover:before {
content: "\f1f2";
}
.fa-cc-amex:before {
content: "\f1f3";
}
.fa-cc-paypal:before {
content: "\f1f4";
}
.fa-cc-stripe:before {
content: "\f1f5";
}
.fa-bell-slash:before {
content: "\f1f6";
}
.fa-bell-slash-o:before {
content: "\f1f7";
}
.fa-trash:before {
content: "\f1f8";
}
.fa-copyright:before {
content: "\f1f9";
}
.fa-at:before {
content: "\f1fa";
}
.fa-eyedropper:before {
content: "\f1fb";
}
.fa-paint-brush:before {
content: "\f1fc";
}
.fa-birthday-cake:before {
content: "\f1fd";
}
.fa-area-chart:before {
content: "\f1fe";
}
.fa-pie-chart:before {
content: "\f200";
}
.fa-line-chart:before {
content: "\f201";
}
.fa-lastfm:before {
content: "\f202";
}
.fa-lastfm-square:before {
content: "\f203";
}
.fa-toggle-off:before {
content: "\f204";
}
.fa-toggle-on:before {
content: "\f205";
}
.fa-bicycle:before {
content: "\f206";
}
.fa-bus:before {
content: "\f207";
}
.fa-ioxhost:before {
content: "\f208";
}
.fa-angellist:before {
content: "\f209";
}
.fa-cc:before {
content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
content: "\f20b";
}
.fa-meanpath:before {
content: "\f20c";
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
code {
color: #000;
}
pre {
font-size: inherit;
line-height: inherit;
}
label {
font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.corner-all {
border-radius: 2px;
}
.no-padding {
padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer. It allows the usage of flexible box
model layouts accross multiple browsers, including older browsers. The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below). Browsers that are known to implement this
new spec completely include:
Firefox 28.0+
Chrome 29.0+
Internet Explorer 11+
Opera 17.0+
Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
.hbox > * {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
}
.vbox {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
.vbox > * {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
/* Old browsers */
-webkit-box-direction: reverse;
-moz-box-direction: reverse;
box-direction: reverse;
/* Modern browsers */
flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
/* Old browsers */
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
/* Old browsers */
-webkit-box-flex: 2;
-moz-box-flex: 2;
box-flex: 2;
/* Modern browsers */
flex: 2;
}
.box-group1 {
/* Deprecated */
-webkit-box-flex-group: 1;
-moz-box-flex-group: 1;
box-flex-group: 1;
}
.box-group2 {
/* Deprecated */
-webkit-box-flex-group: 2;
-moz-box-flex-group: 2;
box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
/* Old browsers */
-webkit-box-pack: start;
-moz-box-pack: start;
box-pack: start;
/* Modern browsers */
justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
/* Old browsers */
-webkit-box-pack: center;
-moz-box-pack: center;
box-pack: center;
/* Modern browsers */
justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
/* Old browsers */
-webkit-box-pack: baseline;
-moz-box-pack: baseline;
box-pack: baseline;
/* Modern browsers */
justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
/* Old browsers */
-webkit-box-pack: stretch;
-moz-box-pack: stretch;
box-pack: stretch;
/* Modern browsers */
justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
/* Old browsers */
-webkit-box-align: start;
-moz-box-align: start;
box-align: start;
/* Modern browsers */
align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
/* Old browsers */
-webkit-box-align: end;
-moz-box-align: end;
box-align: end;
/* Modern browsers */
align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
/* Old browsers */
-webkit-box-align: center;
-moz-box-align: center;
box-align: center;
/* Modern browsers */
align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
/* Old browsers */
-webkit-box-align: baseline;
-moz-box-align: baseline;
box-align: baseline;
/* Modern browsers */
align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
/* Old browsers */
-webkit-box-align: stretch;
-moz-box-align: stretch;
box-align: stretch;
/* Modern browsers */
align-items: stretch;
}
div.error {
margin: 2em;
text-align: center;
}
div.error > h1 {
font-size: 500%;
line-height: normal;
}
div.error > p {
font-size: 200%;
line-height: normal;
}
div.traceback-wrapper {
text-align: left;
max-width: 800px;
margin: auto;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
body {
background-color: #fff;
/* This makes sure that the body covers the entire window and needs to
be in a different element than the display: box in wrapper below */
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
overflow: visible;
}
body > #header {
/* Initially hidden to prevent FLOUC */
display: none;
background-color: #fff;
/* Display over codemirror */
position: relative;
z-index: 100;
}
body > #header #header-container {
padding-bottom: 5px;
padding-top: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
body > #header .header-bar {
width: 100%;
height: 1px;
background: #e7e7e7;
margin-bottom: -1px;
}
@media print {
body > #header {
display: none !important;
}
}
#header-spacer {
width: 100%;
visibility: hidden;
}
@media print {
#header-spacer {
display: none;
}
}
#ipython_notebook {
padding-left: 0px;
padding-top: 1px;
padding-bottom: 1px;
}
@media (max-width: 991px) {
#ipython_notebook {
margin-left: 10px;
}
}
[dir="rtl"] #ipython_notebook {
float: right !important;
}
#noscript {
width: auto;
padding-top: 16px;
padding-bottom: 16px;
text-align: center;
font-size: 22px;
color: red;
font-weight: bold;
}
#ipython_notebook img {
height: 28px;
}
#site {
width: 100%;
display: none;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
overflow: auto;
}
@media print {
#site {
height: auto !important;
}
}
/* Smaller buttons */
.ui-button .ui-button-text {
padding: 0.2em 0.8em;
font-size: 77%;
}
input.ui-button {
padding: 0.3em 0.9em;
}
span#login_widget {
float: right;
}
span#login_widget > .button,
#logout {
color: #333;
background-color: #fff;
border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
background-color: #fff;
border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
color: #fff;
background-color: #333;
}
.nav-header {
text-transform: none;
}
#header > span {
margin-top: 10px;
}
.modal_stretch .modal-dialog {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
max-height: calc(100vh - 200px);
overflow: auto;
flex: 1;
}
@media (min-width: 768px) {
.modal .modal-dialog {
width: 700px;
}
}
@media (min-width: 768px) {
select.form-control {
margin-left: 12px;
margin-right: 12px;
}
}
/*!
*
* IPython auth
*
*/
.center-nav {
display: inline-block;
margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
background-color: none;
display: inline;
}
.alternate_upload.form {
padding: 0;
margin: 0;
}
.alternate_upload input.fileinput {
text-align: center;
vertical-align: middle;
display: inline;
opacity: 0;
z-index: 2;
width: 12ex;
margin-right: -12ex;
}
.alternate_upload .btn-upload {
height: 22px;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
[dir="rtl"] #tabs li {
float: right;
}
ul#tabs {
margin-bottom: 4px;
}
[dir="rtl"] ul#tabs {
margin-right: 0px;
}
ul#tabs a {
padding-top: 6px;
padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
text-decoration: none;
}
ul.breadcrumb i.icon-home {
font-size: 16px;
margin-right: 4px;
}
ul.breadcrumb span {
color: #5e5e5e;
}
.list_toolbar {
padding: 4px 0 4px 0;
vertical-align: middle;
}
.list_toolbar .tree-buttons {
padding-top: 1px;
}
[dir="rtl"] .list_toolbar .tree-buttons {
float: left !important;
}
[dir="rtl"] .list_toolbar .pull-right {
padding-top: 1px;
float: left !important;
}
[dir="rtl"] .list_toolbar .pull-left {
float: right !important;
}
.dynamic-buttons {
padding-top: 3px;
display: inline-block;
}
.list_toolbar [class*="span"] {
min-height: 24px;
}
.list_header {
font-weight: bold;
background-color: #EEE;
}
.list_placeholder {
font-weight: bold;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
}
.list_container {
margin-top: 4px;
margin-bottom: 20px;
border: 1px solid #ddd;
border-radius: 2px;
}
.list_container > div {
border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
background-color: red;
}
.list_container > div:last-child {
border: none;
}
.list_item:hover .list_item {
background-color: #ddd;
}
.list_item a {
text-decoration: none;
}
.list_item:hover {
background-color: #fafafa;
}
.list_header > div,
.list_item > div {
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
line-height: 22px;
}
.list_header > div input,
.list_item > div input {
margin-right: 7px;
margin-left: 14px;
vertical-align: baseline;
line-height: 22px;
position: relative;
top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
margin-left: -1px;
vertical-align: baseline;
line-height: 22px;
}
.new-file input[type=checkbox] {
visibility: hidden;
}
.item_name {
line-height: 22px;
height: 24px;
}
.item_icon {
font-size: 14px;
color: #5e5e5e;
margin-right: 7px;
margin-left: 7px;
line-height: 22px;
vertical-align: baseline;
}
.item_buttons {
line-height: 1em;
margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
margin-left: 5px;
}
.item_buttons .btn {
min-width: 13ex;
}
.item_buttons .running-indicator {
padding-top: 4px;
color: #5cb85c;
}
.item_buttons .kernel-name {
padding-top: 4px;
color: #5bc0de;
margin-right: 7px;
float: left;
}
.toolbar_info {
height: 24px;
line-height: 24px;
}
.list_item input:not([type=checkbox]) {
padding-top: 3px;
padding-bottom: 3px;
height: 22px;
line-height: 14px;
margin: 0px;
}
.highlight_text {
color: blue;
}
#project_name {
display: inline-block;
padding-left: 7px;
margin-left: -2px;
}
#project_name > .breadcrumb {
padding: 0px;
margin-bottom: 0px;
background-color: transparent;
font-weight: bold;
}
#tree-selector {
padding-right: 0px;
}
[dir="rtl"] #tree-selector a {
float: right;
}
#button-select-all {
min-width: 50px;
}
#select-all {
margin-left: 7px;
margin-right: 2px;
}
.menu_icon {
margin-right: 2px;
}
.tab-content .row {
margin-left: 0px;
margin-right: 0px;
}
.folder_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f114";
}
.folder_icon:before.pull-left {
margin-right: .3em;
}
.folder_icon:before.pull-right {
margin-left: .3em;
}
.notebook_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f02d";
position: relative;
top: -1px;
}
.notebook_icon:before.pull-left {
margin-right: .3em;
}
.notebook_icon:before.pull-right {
margin-left: .3em;
}
.running_notebook_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f02d";
position: relative;
top: -1px;
color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
margin-left: .3em;
}
.file_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f016";
position: relative;
top: -2px;
}
.file_icon:before.pull-left {
margin-right: .3em;
}
.file_icon:before.pull-right {
margin-left: .3em;
}
#notebook_toolbar .pull-right {
padding-top: 0px;
margin-right: -1px;
}
ul#new-menu {
left: auto;
right: 0;
}
[dir="rtl"] #new-menu {
text-align: right;
}
.kernel-menu-icon {
padding-right: 12px;
width: 24px;
content: "\f096";
}
.kernel-menu-icon:before {
content: "\f096";
}
.kernel-menu-icon-current:before {
content: "\f00c";
}
#tab_content {
padding-top: 20px;
}
#running .panel-group .panel {
margin-top: 3px;
margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
background-color: #EEE;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
text-decoration: none;
}
#running .panel-group .panel .panel-body {
padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
margin-top: 0px;
margin-bottom: 0px;
border: 0px;
border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
border-bottom: 0px;
}
[dir="rtl"] #running .col-sm-8 {
float: right !important;
}
.delete-button {
display: none;
}
.duplicate-button {
display: none;
}
.rename-button {
display: none;
}
.shutdown-button {
display: none;
}
.dynamic-instructions {
display: inline-block;
padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
padding: 0px 5px;
}
.selected-keymap i.fa:before {
content: "\f00c";
}
#mode-menu {
overflow: auto;
max-height: 20em;
}
.edit_app #header {
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
/* Use a negative 1 bottom margin, so the border overlaps the border of the
header */
margin-bottom: -1px;
}
.dirty-indicator {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator.pull-left {
margin-right: .3em;
}
.dirty-indicator.pull-right {
margin-left: .3em;
}
.dirty-indicator-dirty {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator-dirty.pull-left {
margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
margin-left: .3em;
}
.dirty-indicator-clean {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator-clean.pull-left {
margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
margin-left: .3em;
}
.dirty-indicator-clean:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f00c";
}
.dirty-indicator-clean:before.pull-left {
margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
margin-left: .3em;
}
#filename {
font-size: 16pt;
display: table;
padding: 0px 5px;
}
#current-mode {
padding-left: 5px;
padding-right: 5px;
}
#texteditor-backdrop {
padding-top: 20px;
padding-bottom: 20px;
}
@media not print {
#texteditor-backdrop {
background-color: #EEE;
}
}
@media print {
#texteditor-backdrop #texteditor-container .CodeMirror-gutter,
#texteditor-backdrop #texteditor-container .CodeMirror-gutters {
background-color: #fff;
}
}
@media not print {
#texteditor-backdrop #texteditor-container .CodeMirror-gutter,
#texteditor-backdrop #texteditor-container .CodeMirror-gutters {
background-color: #fff;
}
}
@media not print {
#texteditor-backdrop #texteditor-container {
padding: 0px;
background-color: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
color: black;
}
.ansired {
color: darkred;
}
.ansigreen {
color: darkgreen;
}
.ansiyellow {
color: #c4a000;
}
.ansiblue {
color: darkblue;
}
.ansipurple {
color: darkviolet;
}
.ansicyan {
color: steelblue;
}
.ansigray {
color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
background-color: black;
}
.ansibgred {
background-color: red;
}
.ansibggreen {
background-color: green;
}
.ansibgyellow {
background-color: yellow;
}
.ansibgblue {
background-color: blue;
}
.ansibgpurple {
background-color: magenta;
}
.ansibgcyan {
background-color: cyan;
}
.ansibggray {
background-color: gray;
}
div.cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
border-radius: 2px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: transparent;
width: 100%;
padding: 5px;
/* This acts as a spacer between cells, that is outside the border */
margin: 0px;
outline: none;
border-left-width: 1px;
padding-left: 5px;
background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
border-left-color: #90CAF9;
border-left-color: #E3F2FD;
border-left-width: 1px;
padding-left: 5px;
border-right-color: #E3F2FD;
border-right-width: 1px;
background: #E3F2FD;
}
@media print {
div.cell.jupyter-soft-selected {
border-color: transparent;
}
}
div.cell.selected {
border-color: #ababab;
border-left-width: 0px;
padding-left: 6px;
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
div.cell.selected {
border-color: transparent;
}
}
div.cell.selected.jupyter-soft-selected {
border-left-width: 0;
padding-left: 6px;
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
border-color: #66BB6A;
border-left-width: 0px;
padding-left: 6px;
background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
.edit_mode div.cell.selected {
border-color: transparent;
}
}
.prompt {
/* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
min-width: 14ex;
/* This padding is tuned to match the padding on the CodeMirror editor. */
padding: 0.4em;
margin: 0px;
font-family: monospace;
text-align: right;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
/* Don't highlight prompt number selection */
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Use default cursor */
cursor: default;
}
@media (max-width: 540px) {
.prompt {
text-align: left;
}
}
div.inner_cell {
min-width: 0;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
border: 1px solid #cfcfcf;
border-radius: 2px;
background: #f7f7f7;
line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
is no content in the output_subarea and the prompt. The main purpose of this is
to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
padding-top: 0;
padding-bottom: 0;
}
div.unrecognized_cell {
padding: 5px 5px 5px 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.unrecognized_cell .inner_cell {
border-radius: 2px;
padding: 5px;
font-weight: bold;
color: red;
border: 1px solid #cfcfcf;
background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
color: inherit;
text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
color: inherit;
text-decoration: none;
}
@media (max-width: 540px) {
div.unrecognized_cell > div.prompt {
display: none;
}
}
div.code_cell {
/* avoid page breaking on code cells when printing */
}
@media print {
div.code_cell {
page-break-inside: avoid;
}
}
/* any special styling for code cells that are currently running goes here */
div.input {
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.input {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
color: #303F9F;
border-top: 1px solid transparent;
}
div.input_area > div.highlight {
margin: 0.4em;
border: none;
padding: 0px;
background-color: transparent;
}
div.input_area > div.highlight > pre {
margin: 0px;
border: none;
padding: 0px;
background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
* monospace font with inconsistent normal/bold/italic height. See
* notebookmain.js. Such fonts will have keywords vertically offset with
* respect to the rest of the text. The user should select a better font.
* See: https://github.com/ipython/ipython/issues/1503
*
* .CodeMirror span {
* vertical-align: bottom;
* }
*/
.CodeMirror {
line-height: 1.21429em;
/* Changed from 1em to our global default */
font-size: 14px;
height: auto;
/* Changed to auto to autogrow */
background: none;
/* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
/* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
/* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
overflow-y: hidden;
overflow-x: auto;
}
.CodeMirror-lines {
/* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
/* we have set a different line-height and want this to scale with that. */
padding: 0.4em;
}
.CodeMirror-linenumber {
padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.CodeMirror pre {
/* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
/* .CodeMirror-lines */
padding: 0;
border: 0;
border-radius: 0;
}
/*
Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme
*/
.highlight-base {
color: #000;
}
.highlight-variable {
color: #000;
}
.highlight-variable-2 {
color: #1a1a1a;
}
.highlight-variable-3 {
color: #333333;
}
.highlight-string {
color: #BA2121;
}
.highlight-comment {
color: #408080;
font-style: italic;
}
.highlight-number {
color: #080;
}
.highlight-atom {
color: #88F;
}
.highlight-keyword {
color: #008000;
font-weight: bold;
}
.highlight-builtin {
color: #008000;
}
.highlight-error {
color: #f00;
}
.highlight-operator {
color: #AA22FF;
font-weight: bold;
}
.highlight-meta {
color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
color: #00f;
}
.highlight-string-2 {
color: #f50;
}
.highlight-qualifier {
color: #555;
}
.highlight-bracket {
color: #997;
}
.highlight-tag {
color: #170;
}
.highlight-attribute {
color: #00c;
}
.highlight-header {
color: blue;
}
.highlight-quote {
color: #090;
}
.highlight-link {
color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
color: #008000;
font-weight: bold;
}
.cm-s-ipython span.cm-atom {
color: #88F;
}
.cm-s-ipython span.cm-number {
color: #080;
}
.cm-s-ipython span.cm-def {
color: #00f;
}
.cm-s-ipython span.cm-variable {
color: #000;
}
.cm-s-ipython span.cm-operator {
color: #AA22FF;
font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
color: #333333;
}
.cm-s-ipython span.cm-comment {
color: #408080;
font-style: italic;
}
.cm-s-ipython span.cm-string {
color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
color: #f50;
}
.cm-s-ipython span.cm-meta {
color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
color: #555;
}
.cm-s-ipython span.cm-builtin {
color: #008000;
}
.cm-s-ipython span.cm-bracket {
color: #997;
}
.cm-s-ipython span.cm-tag {
color: #170;
}
.cm-s-ipython span.cm-attribute {
color: #00c;
}
.cm-s-ipython span.cm-header {
color: blue;
}
.cm-s-ipython span.cm-quote {
color: #090;
}
.cm-s-ipython span.cm-link {
color: #00c;
}
.cm-s-ipython span.cm-error {
color: #f00;
}
.cm-s-ipython span.cm-tab {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
background-position: right;
background-repeat: no-repeat;
}
div.output_wrapper {
/* this position must be relative to enable descendents to be absolute within it */
position: relative;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
/* ideally, this would be max-height, but FF barfs all over that */
height: 24em;
/* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
width: 100%;
overflow: auto;
border-radius: 2px;
-webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
margin: 0px;
padding: 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
div.out_prompt_overlay {
height: 100%;
padding: 0px 0.4em;
position: absolute;
border-radius: 2px;
}
div.out_prompt_overlay:hover {
/* use inner shadow to get border that is computed the same on WebKit/FF */
-webkit-box-shadow: inset 0 0 1px #000;
box-shadow: inset 0 0 1px #000;
background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
padding: 0px;
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.output_area .MathJax_Display {
text-align: left !important;
}
div.output_area .rendered_html table {
margin-left: 0;
margin-right: 0;
}
div.output_area .rendered_html img {
margin-left: 0;
margin-right: 0;
}
div.output_area img,
div.output_area svg {
max-width: 100%;
height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
max-width: none;
}
/* This is needed to protect the pre formating from global settings such
as that of bootstrap */
.output {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
@media (max-width: 540px) {
div.output_area {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
div.output_area pre {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
color: black;
background-color: transparent;
border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
the prompt div. */
div.output_subarea {
overflow-x: auto;
padding: 0.4em;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
output types */
/* all text output has this class: */
div.output_text {
text-align: left;
color: #000;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
background: #fdd;
/* very light red background for stderr */
}
div.output_latex {
text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
padding: 0;
}
.js-error {
color: darkred;
}
/* raw_input styles */
div.raw_input_container {
line-height: 1.21429em;
padding-top: 5px;
}
pre.raw_input_prompt {
/* nothing needed here. */
}
input.raw_input {
font-family: monospace;
font-size: inherit;
color: inherit;
width: auto;
/* make sure input baseline aligns with prompt */
vertical-align: baseline;
/* padding + margin = 0.5em between prompt and cursor */
padding: 0em 0.25em;
margin: 0em 0.25em;
}
input.raw_input:focus {
box-shadow: none;
}
p.p-space {
margin-bottom: 10px;
}
div.output_unrecognized {
padding: 5px;
font-weight: bold;
color: red;
}
div.output_unrecognized a {
color: inherit;
text-decoration: none;
}
div.output_unrecognized a:hover {
color: inherit;
text-decoration: none;
}
.rendered_html {
color: #000;
/* any extras will just be numbers: */
}
.rendered_html em {
font-style: italic;
}
.rendered_html strong {
font-weight: bold;
}
.rendered_html u {
text-decoration: underline;
}
.rendered_html :link {
text-decoration: underline;
}
.rendered_html :visited {
text-decoration: underline;
}
.rendered_html h1 {
font-size: 185.7%;
margin: 1.08em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h2 {
font-size: 157.1%;
margin: 1.27em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h3 {
font-size: 128.6%;
margin: 1.55em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h4 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h5 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h6 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h1:first-child {
margin-top: 0.538em;
}
.rendered_html h2:first-child {
margin-top: 0.636em;
}
.rendered_html h3:first-child {
margin-top: 0.777em;
}
.rendered_html h4:first-child {
margin-top: 1em;
}
.rendered_html h5:first-child {
margin-top: 1em;
}
.rendered_html h6:first-child {
margin-top: 1em;
}
.rendered_html ul {
list-style: disc;
margin: 0em 2em;
padding-left: 0px;
}
.rendered_html ul ul {
list-style: square;
margin: 0em 2em;
}
.rendered_html ul ul ul {
list-style: circle;
margin: 0em 2em;
}
.rendered_html ol {
list-style: decimal;
margin: 0em 2em;
padding-left: 0px;
}
.rendered_html ol ol {
list-style: upper-alpha;
margin: 0em 2em;
}
.rendered_html ol ol ol {
list-style: lower-alpha;
margin: 0em 2em;
}
.rendered_html ol ol ol ol {
list-style: lower-roman;
margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
list-style: decimal;
margin: 0em 2em;
}
.rendered_html * + ul {
margin-top: 1em;
}
.rendered_html * + ol {
margin-top: 1em;
}
.rendered_html hr {
color: black;
background-color: black;
}
.rendered_html pre {
margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
border: 0;
background-color: #fff;
color: #000;
font-size: 100%;
padding: 0px;
}
.rendered_html blockquote {
margin: 1em 2em;
}
.rendered_html table {
margin-left: auto;
margin-right: auto;
border: 1px solid black;
border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
border: 1px solid black;
border-collapse: collapse;
margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
text-align: left;
vertical-align: middle;
padding: 4px;
}
.rendered_html th {
font-weight: bold;
}
.rendered_html * + table {
margin-top: 1em;
}
.rendered_html p {
text-align: left;
}
.rendered_html * + p {
margin-top: 1em;
}
.rendered_html img {
display: block;
margin-left: auto;
margin-right: auto;
}
.rendered_html * + img {
margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
max-width: 100%;
height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
max-width: none;
}
div.text_cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.text_cell > div.prompt {
display: none;
}
}
div.text_cell_render {
/*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
outline: none;
resize: none;
width: inherit;
border-style: none;
padding: 0.5em 0.5em 0.5em 0.4em;
color: #000;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
a.anchor-link:link {
text-decoration: none;
padding: 0px 20px;
visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
visibility: visible;
}
.text_cell.rendered .input_area {
display: none;
}
.text_cell.rendered .rendered_html {
overflow-x: auto;
overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
font-weight: bold;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
font-size: 185.7%;
}
.cm-header-2 {
font-size: 157.1%;
}
.cm-header-3 {
font-size: 128.6%;
}
.cm-header-4 {
font-size: 110%;
}
.cm-header-5 {
font-size: 100%;
font-style: italic;
}
.cm-header-6 {
font-size: 100%;
font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
.notebook_app {
padding-left: 0px;
padding-right: 0px;
}
}
#ipython-main-app {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook_panel {
margin: 0px;
padding: 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook {
font-size: 14px;
line-height: 20px;
overflow-y: hidden;
overflow-x: auto;
width: 100%;
/* This spaces the page away from the edge of the notebook area */
padding-top: 20px;
margin: 0px;
outline: none;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
min-height: 100%;
}
@media not print {
#notebook-container {
padding: 15px;
background-color: #fff;
min-height: 0;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
@media print {
#notebook-container {
width: 100%;
}
}
div.ui-widget-content {
border: 1px solid #ababab;
outline: none;
}
pre.dialog {
background-color: #f7f7f7;
border: 1px solid #ddd;
border-radius: 2px;
padding: 0.4em;
padding-left: 2em;
}
p.dialog {
padding: 0.2em;
}
/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
*/
pre,
code,
kbd,
samp {
white-space: pre-wrap;
}
#fonttest {
font-family: monospace;
}
p {
margin-bottom: 0;
}
.end_space {
min-height: 100px;
transition: height .2s ease;
}
.notebook_app > #header {
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
.notebook_app {
background-color: #EEE;
}
}
kbd {
border-style: solid;
border-width: 1px;
box-shadow: none;
margin: 2px;
padding-left: 2px;
padding-right: 2px;
padding-top: 1px;
padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
border: thin solid #CFCFCF;
border-bottom: none;
background: #EEE;
border-radius: 2px 2px 0px 0px;
width: 100%;
height: 29px;
padding-right: 4px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
display: -webkit-flex;
}
@media print {
.celltoolbar {
display: none;
}
}
.ctb_hideshow {
display: none;
vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
border-top-right-radius: 0px;
border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
border: 1px solid #cfcfcf;
}
.celltoolbar {
font-size: 87%;
padding-top: 3px;
}
.celltoolbar select {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
width: inherit;
font-size: inherit;
height: 22px;
padding: 0px;
display: inline-block;
}
.celltoolbar select:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
color: #999;
opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
color: #999;
}
.celltoolbar select::-ms-expand {
border: 0;
background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
background-color: #eeeeee;
opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
cursor: not-allowed;
}
textarea.celltoolbar select {
height: auto;
}
select.celltoolbar select {
height: 30px;
line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
height: auto;
}
.celltoolbar label {
margin-left: 5px;
margin-right: 5px;
}
.completions {
position: absolute;
z-index: 110;
overflow: hidden;
border: 1px solid #ababab;
border-radius: 2px;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
line-height: 1;
}
.completions select {
background: white;
outline: none;
border: none;
padding: 0px;
margin: 0px;
overflow: auto;
font-family: monospace;
font-size: 110%;
color: #000;
width: auto;
}
.completions select option.context {
color: #286090;
}
#kernel_logo_widget {
float: right !important;
float: right;
}
#kernel_logo_widget .current_kernel_logo {
display: none;
margin-top: -1px;
margin-bottom: -1px;
width: 32px;
height: 32px;
}
#menubar {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
margin-top: 1px;
}
#menubar .navbar {
border-top: 1px;
border-radius: 0px 0px 2px 2px;
margin-bottom: 0px;
}
#menubar .navbar-toggle {
float: left;
padding-top: 7px;
padding-bottom: 7px;
border: none;
}
#menubar .navbar-collapse {
clear: left;
}
.nav-wrapper {
border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
padding-top: 4px;
}
ul#help_menu li a {
overflow: hidden;
padding-right: 2.2em;
}
ul#help_menu li a i {
margin-right: -1.2em;
}
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropdown-submenu > a:after {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display: block;
content: "\f0da";
float: right;
color: #333333;
margin-top: 2px;
margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
color: #262626;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
}
#notification_area {
float: right !important;
float: right;
z-index: 10;
}
.indicator_area {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
}
#kernel_indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
padding-left: 5px;
padding-right: 5px;
}
#modal_indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
}
#readonly-indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
margin-top: 2px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
display: none;
}
.modal_indicator:before {
width: 1.28571429em;
text-align: center;
}
.edit_mode .modal_indicator:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
margin-left: .3em;
}
.command_mode .modal_indicator:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
margin-left: .3em;
}
.kernel_idle_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
margin-left: .3em;
}
.kernel_busy_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f111";
}
.kernel_busy_icon:before.pull-left {
margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
margin-left: .3em;
}
.kernel_dead_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
margin-left: .3em;
}
.kernel_disconnected_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
margin-left: .3em;
}
.notification_widget {
color: #777;
z-index: 10;
background: rgba(240, 240, 240, 0.5);
margin-right: 4px;
color: #333;
background-color: #fff;
border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.notification_widget:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
background-color: #fff;
border-color: #ccc;
}
.notification_widget .badge {
color: #fff;
background-color: #333;
}
.notification_widget.warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.notification_widget.warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.notification_widget.warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.notification_widget.success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.notification_widget.success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.notification_widget.success .badge {
color: #5cb85c;
background-color: #fff;
}
.notification_widget.info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.notification_widget.info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.notification_widget.info .badge {
color: #5bc0de;
background-color: #fff;
}
.notification_widget.danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.notification_widget.danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.notification_widget.danger .badge {
color: #d9534f;
background-color: #fff;
}
div#pager {
background-color: #fff;
font-size: 14px;
line-height: 20px;
overflow: hidden;
display: none;
position: fixed;
bottom: 0px;
width: 100%;
max-height: 50%;
padding-top: 8px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
/* Display over codemirror */
z-index: 100;
/* Hack which prevents jquery ui resizable from changing top. */
top: auto !important;
}
div#pager pre {
line-height: 1.21429em;
color: #000;
background-color: #f7f7f7;
padding: 0.4em;
}
div#pager #pager-button-area {
position: absolute;
top: 8px;
right: 20px;
}
div#pager #pager-contents {
position: relative;
overflow: auto;
width: 100%;
height: 100%;
}
div#pager #pager-contents #pager-container {
position: relative;
padding: 15px 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
top: 0px;
height: 8px;
background: #f7f7f7;
border-top: 1px solid #cfcfcf;
border-bottom: 1px solid #cfcfcf;
/* This injects handle bars (a short, wide = symbol) for
the resize handle. */
}
div#pager .ui-resizable-handle::after {
content: '';
top: 2px;
left: 50%;
height: 3px;
width: 30px;
margin-left: -15px;
position: absolute;
border-top: 1px solid #cfcfcf;
}
.quickhelp {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
line-height: 1.8em;
}
.shortcut_key {
display: inline-block;
width: 21ex;
text-align: right;
font-family: monospace;
}
.shortcut_descr {
display: inline-block;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
span.save_widget {
margin-top: 6px;
}
span.save_widget span.filename {
height: 1em;
line-height: 1em;
padding: 3px;
margin-left: 16px;
border: none;
font-size: 146.5%;
border-radius: 2px;
}
span.save_widget span.filename:hover {
background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
font-size: small;
}
@media (max-width: 767px) {
span.save_widget {
font-size: small;
}
span.checkpoint_status,
span.autosave_status {
display: none;
}
}
@media (min-width: 768px) and (max-width: 991px) {
span.checkpoint_status {
display: none;
}
span.autosave_status {
font-size: x-small;
}
}
.toolbar {
padding: 0px;
margin-left: -5px;
margin-top: 2px;
margin-bottom: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
width: auto;
vertical-align: middle;
margin-right: 2px;
margin-bottom: 0px;
display: inline;
font-size: 92%;
margin-left: 0.3em;
margin-right: 0.3em;
padding: 0px;
padding-top: 3px;
}
.toolbar .btn {
padding: 2px 8px;
}
.toolbar .btn-group {
margin-top: 0px;
margin-left: 5px;
}
#maintoolbar {
margin-bottom: -3px;
margin-top: -8px;
border: 0px;
min-height: 27px;
margin-left: 0px;
padding-top: 11px;
padding-bottom: 3px;
}
#maintoolbar .navbar-text {
float: none;
vertical-align: middle;
text-align: right;
margin-left: 5px;
margin-right: 0px;
margin-top: 0px;
}
.select-xs {
height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
background-color: #F37626;
color: white;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
* of chance of beeing generated from the ../less/[samename].less file, you can
* try to get back the less file by reverting somme commit in history
**/
/*
* We'll try to get something pretty, so we
* have some strange css to have the scroll bar on
* the left with fix button on the top right of the tooltip
*/
@-moz-keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-webkit-keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-moz-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-webkit-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/*properties of tooltip after "expand"*/
.bigtooltip {
overflow: auto;
height: 200px;
-webkit-transition-property: height;
-webkit-transition-duration: 500ms;
-moz-transition-property: height;
-moz-transition-duration: 500ms;
transition-property: height;
transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
-webkit-transition-property: height;
-webkit-transition-duration: 500ms;
-moz-transition-property: height;
-moz-transition-duration: 500ms;
transition-property: height;
transition-duration: 500ms;
text-overflow: ellipsis;
overflow: hidden;
height: 80px;
}
.tooltipbuttons {
position: absolute;
padding-right: 15px;
top: 0px;
right: 0px;
}
.tooltiptext {
/*avoid the button to overlap on some docstring*/
padding-right: 30px;
}
.ipython_tooltip {
max-width: 700px;
/*fade-in animation when inserted*/
-webkit-animation: fadeOut 400ms;
-moz-animation: fadeOut 400ms;
animation: fadeOut 400ms;
-webkit-animation: fadeIn 400ms;
-moz-animation: fadeIn 400ms;
animation: fadeIn 400ms;
vertical-align: middle;
background-color: #f7f7f7;
overflow: visible;
border: #ababab 1px solid;
outline: none;
padding: 3px;
margin: 0px;
padding-left: 7px;
font-family: monospace;
min-height: 50px;
-moz-box-shadow: 0px 6px 10px -1px #adadad;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
border-radius: 2px;
position: absolute;
z-index: 1000;
}
.ipython_tooltip a {
float: right;
}
.ipython_tooltip .tooltiptext pre {
border: 0;
border-radius: 0;
font-size: 100%;
background-color: #f7f7f7;
}
.pretooltiparrow {
left: 0px;
margin: 0px;
top: -16px;
width: 40px;
height: 16px;
overflow: hidden;
position: absolute;
}
.pretooltiparrow:before {
background-color: #f7f7f7;
border: 1px #ababab solid;
z-index: 11;
content: "";
position: absolute;
left: 15px;
top: 10px;
width: 25px;
height: 25px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
ul.typeahead-list i {
margin-left: -10px;
width: 18px;
}
ul.typeahead-list {
max-height: 80vh;
overflow: auto;
}
ul.typeahead-list > li > a {
/** Firefox bug **/
/* see https://github.com/jupyter/notebook/issues/559 */
white-space: normal;
}
.cmd-palette .modal-body {
padding: 7px;
}
.cmd-palette form {
background: white;
}
.cmd-palette input {
outline: none;
}
.no-shortcut {
display: none;
}
.command-shortcut:before {
content: "(command)";
padding-right: 3px;
color: #777777;
}
.edit-shortcut:before {
content: "(edit)";
padding-right: 3px;
color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
background-color: #BBDEFB;
border-color: #90CAF9;
border-style: solid;
border-width: 1px;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
background-color: #FFCDD2;
border-color: #EF9A9A;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
background-color: #C8E6C9;
border-color: #A5D6A7;
border-radius: 0px;
}
#find-and-replace #replace-preview {
max-height: 60vh;
overflow: auto;
}
#find-and-replace #replace-preview pre {
padding: 5px 10px;
}
.terminal-app {
background: #EEE;
}
.terminal-app #header {
background: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
width: 100%;
float: left;
font-family: monospace;
color: white;
background: black;
padding: 0.4em;
border-radius: 2px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
line-height: 1em;
font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
padding: 10px;
}
.terminal-app .terminal-cursor {
color: black;
background: white;
}
.terminal-app #terminado-container {
margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
</style>
<style type="text/css">
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<style type="text/css">
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }
.ansi-bold { font-weight: bold; }
</style>
<style type="text/css">
.container { width:100% !important; }
.widget-label {'description_width': 'initial'}
</style>
<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
overflow: visible;
padding: 8px;
}
div#notebook {
overflow: visible;
border-top: none;
}@media print {
div.cell {
display: block;
page-break-inside: avoid;
}
div.output_wrapper {
display: block;
page-break-inside: avoid;
}
div.output {
display: block;
page-break-inside: avoid;
}
}
</style>
<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link href="custom.css" rel="stylesheet"></link>
<!-- Loading mathjax macro -->
<!-- Load mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
// Center justify equations in code and markdown cells. Elsewhere
// we use CSS to left justify single line equations in code cells.
displayAlign: 'center',
"HTML-CSS": {
styles: {'.MathJax_Display': {"margin": 0}},
linebreaks: { automatic: true }
}
});
</script>
<br />
<div class="border-box-sizing" id="notebook" tabindex="-1">
<div class="container" id="notebook-container">
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="H1:-There-exists-an-association-between-the-rise-in-personal-income-rise-for-a-country-and-the-rise-in-the-population-of-Jews-in-that-country.">
H<sub>1</sub>: There exists an association between the rise in personal income rise for a country and the rise in the population of Jews in that country.</h1>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [1]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=3105843" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=3105843" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=3105843" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=3105843" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<pre><span class="c1"># https://www.kaggle.com/andrewfager/mobile-phone-activity-exploratory-analysis</span>
<span class="c1"># https://www.kaggle.com/marcodena/mobile-phone-activity/data</span>
<span class="c1"># https://www.nature.com/articles/sdata201555</span>
<span class="kn">import</span> <span class="nn">pickle</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="c1"># Handy list of the different types of encodings</span>
<span class="n">encoding</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'latin1'</span><span class="p">,</span> <span class="s1">'iso8859-1'</span><span class="p">,</span> <span class="s1">'utf-8'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
<span class="k">def</span> <span class="nf">load_object</span><span class="p">(</span><span class="n">obj_name</span><span class="p">):</span>
<span class="n">pickle_path</span> <span class="o">=</span> <span class="s1">'../../saves/pickle/'</span> <span class="o">+</span> <span class="n">obj_name</span> <span class="o">+</span> <span class="s1">'.pickle'</span>
<span class="k">try</span><span class="p">:</span>
<span class="nb">object</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_pickle</span><span class="p">(</span><span class="n">pickle_path</span><span class="p">)</span>
<span class="k">except</span><span class="p">:</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">pickle_path</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">handle</span><span class="p">:</span>
<span class="nb">object</span> <span class="o">=</span> <span class="n">pickle</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">handle</span><span class="p">)</span>
<span class="k">return</span><span class="p">(</span><span class="nb">object</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">save_dataframes</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="n">csv_folder</span> <span class="o">=</span> <span class="s1">'../../saves/csv/'</span>
<span class="k">for</span> <span class="n">frame_name</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
<span class="n">csv_path</span> <span class="o">=</span> <span class="n">csv_folder</span> <span class="o">+</span> <span class="n">frame_name</span> <span class="o">+</span> <span class="s1">'.csv'</span>
<span class="n">kwargs</span><span class="p">[</span><span class="n">frame_name</span><span class="p">]</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">csv_path</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s1">','</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="n">encoding</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
<span class="c1"># Classes, functions, and methods cannot be pickled</span>
<span class="k">def</span> <span class="nf">store_objects</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="k">for</span> <span class="n">obj_name</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">kwargs</span><span class="p">[</span><span class="n">obj_name</span><span class="p">],</span> <span class="s1">'__call__'</span><span class="p">):</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s1">'Functions cannot be pickled.'</span><span class="p">)</span>
<span class="n">obj_path</span> <span class="o">=</span> <span class="s1">'../../saves/pickle/'</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">obj_name</span><span class="p">)</span>
<span class="n">pickle_path</span> <span class="o">=</span> <span class="n">obj_path</span> <span class="o">+</span> <span class="s1">'.pickle'</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">kwargs</span><span class="p">[</span><span class="n">obj_name</span><span class="p">],</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">):</span>
<span class="n">kwargs</span><span class="p">[</span><span class="n">obj_name</span><span class="p">]</span><span class="o">.</span><span class="n">to_pickle</span><span class="p">(</span><span class="n">pickle_path</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">pickle_path</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">handle</span><span class="p">:</span>
<span class="n">pickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">kwargs</span><span class="p">[</span><span class="n">obj_name</span><span class="p">],</span> <span class="n">handle</span><span class="p">,</span> <span class="n">pickle</span><span class="o">.</span><span class="n">HIGHEST_PROTOCOL</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [2]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="kn">import</span> <span class="nn">re</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="c1"># Create a dataframe of the Jewish population data from</span>
<span class="c1"># https://en.wikipedia.org/wiki/Historical_Jewish_population_comparisons</span>
<span class="n">file_path</span> <span class="o">=</span> <span class="s1">'../../data/html/JewishPopulation.html'</span>
<span class="n">jews_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_html</span><span class="p">(</span><span class="n">file_path</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">numeric_columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Pop1900'</span><span class="p">,</span> <span class="s1">'Pct1900'</span><span class="p">,</span> <span class="s1">'Pop1942'</span><span class="p">,</span> <span class="s1">'Pct1942'</span><span class="p">,</span>
<span class="s1">'Pop1970'</span><span class="p">,</span> <span class="s1">'Pct1970'</span><span class="p">,</span> <span class="s1">'Pop2010'</span><span class="p">,</span> <span class="s1">'Pct2010'</span><span class="p">]</span>
<span class="n">int_columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Pop1900'</span><span class="p">,</span> <span class="s1">'Pop1942'</span><span class="p">,</span> <span class="s1">'Pop1970'</span><span class="p">,</span> <span class="s1">'Pop2010'</span><span class="p">]</span>
<span class="n">float_columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Pct1900'</span><span class="p">,</span> <span class="s1">'Pct1942'</span><span class="p">,</span> <span class="s1">'Pct1970'</span><span class="p">,</span> <span class="s1">'Pct2010'</span><span class="p">]</span>
<span class="n">jews_df</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Region'</span><span class="p">]</span> <span class="o">+</span> <span class="n">numeric_columns</span>
<span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="n">element</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">element</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'['</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">jews_df</span><span class="p">[</span><span class="s1">'Region'</span><span class="p">]</span> <span class="o">=</span> <span class="n">jews_df</span><span class="p">[</span><span class="s1">'Region'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
<span class="n">jews_df</span><span class="p">[</span><span class="s1">'Pop1900'</span><span class="p">]</span> <span class="o">=</span> <span class="n">jews_df</span><span class="p">[</span><span class="s1">'Pop1900'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
<span class="n">num_regex</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s1">'[^0-9.]+'</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="n">row</span><span class="p">):</span>
<span class="k">for</span> <span class="n">column_name</span> <span class="ow">in</span> <span class="n">numeric_columns</span><span class="p">:</span>
<span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">num_regex</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">''</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">]))</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">]</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">])</span>
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
<span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">NaN</span>
<span class="k">return</span> <span class="n">row</span>
<span class="n">jews_df</span> <span class="o">=</span> <span class="n">jews_df</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">jews_df</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="n">keys</span><span class="o">=</span><span class="s1">'Region'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="c1"># Create dataframes from the GapMinder data from</span>
<span class="c1"># http://www.gapminder.org/data/</span>
<span class="n">encoding</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'latin1'</span><span class="p">,</span> <span class="s1">'iso8859-1'</span><span class="p">,</span> <span class="s1">'utf-8'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
<span class="n">income_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'../../data/csv/income_df.csv'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="n">encoding</span><span class="p">)</span>
<span class="n">income_df</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="n">keys</span><span class="o">=</span><span class="s1">'Country'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">population_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'../../data/csv/population_df.csv'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="n">encoding</span><span class="p">)</span>
<span class="n">population_df</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="n">keys</span><span class="o">=</span><span class="s1">'Country'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [3]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Regions that can't be compared directly to the income dataframe</span>
<span class="c1"># (basically lots of them)</span>
<span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">difference</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[3]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>Index(['Africa', 'Americas', 'Arabia/Yemen', 'Asia',
'Bolivia/Chile/Ecuador/Peru/Uruguay', 'Bulgaria/Turkey/Ottoman Empire',
'Central America', 'China/Taiwan/Japan', 'Colombia/Guiana/Venezuela',
'Europe', 'Israel', 'Norway/Sweden', 'Oceania', 'Russian Empire (Asia)',
'Russian Empire (Europe)', 'Total', 'United Kingdom/Ireland'],
dtype='object')</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [4]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="kn">from</span> <span class="nn">difflib</span> <span class="k">import</span> <span class="n">SequenceMatcher</span>
<span class="k">def</span> <span class="nf">similar</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
<span class="k">return</span> <span class="n">SequenceMatcher</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">a</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">))</span><span class="o">.</span><span class="n">ratio</span><span class="p">()</span>
<span class="c1">#Check the closest names for typos</span>
<span class="k">def</span> <span class="nf">check_for_typos</span><span class="p">(</span><span class="n">first_list</span><span class="p">,</span> <span class="n">second_list</span><span class="p">):</span>
<span class="n">rows_list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">first_item</span> <span class="ow">in</span> <span class="n">first_list</span><span class="p">:</span>
<span class="n">max_similarity</span> <span class="o">=</span> <span class="mf">0.0</span>
<span class="n">max_item</span> <span class="o">=</span> <span class="n">first_item</span>
<span class="k">for</span> <span class="n">second_item</span> <span class="ow">in</span> <span class="n">second_list</span><span class="p">:</span>
<span class="n">this_similarity</span> <span class="o">=</span> <span class="n">similar</span><span class="p">(</span><span class="n">first_item</span><span class="p">,</span> <span class="n">second_item</span><span class="p">)</span>
<span class="k">if</span> <span class="n">this_similarity</span> <span class="o">></span> <span class="n">max_similarity</span><span class="p">:</span>
<span class="n">max_similarity</span> <span class="o">=</span> <span class="n">this_similarity</span>
<span class="n">max_item</span> <span class="o">=</span> <span class="n">second_item</span>
<span class="c1"># Get input row in dictionary format; key = col_name</span>
<span class="n">row_dict</span> <span class="o">=</span> <span class="p">{}</span>
<span class="n">row_dict</span><span class="p">[</span><span class="s1">'first_item'</span><span class="p">]</span> <span class="o">=</span> <span class="n">first_item</span>
<span class="n">row_dict</span><span class="p">[</span><span class="s1">'second_item'</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_item</span>
<span class="n">row_dict</span><span class="p">[</span><span class="s1">'max_similarity'</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_similarity</span>
<span class="n">rows_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">row_dict</span><span class="p">)</span>
<span class="n">column_list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'first_item'</span><span class="p">,</span> <span class="s1">'second_item'</span><span class="p">,</span> <span class="s1">'max_similarity'</span><span class="p">]</span>
<span class="n">name_similarities_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">rows_list</span><span class="p">,</span> <span class="n">columns</span><span class="o">=</span><span class="n">column_list</span><span class="p">)</span>
<span class="k">return</span> <span class="n">name_similarities_df</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [5]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Closest regions to the countries in the income dataframe that are not paired up</span>
<span class="n">name_similarities_df</span> <span class="o">=</span> <span class="n">check_for_typos</span><span class="p">(</span><span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">difference</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">),</span> <span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
<span class="n">name_similarities_df</span><span class="o">.</span><span class="n">sort_values</span><span class="p">([</span><span class="s1">'max_similarity'</span><span class="p">],</span> <span class="n">ascending</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[5]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>first_item</th>
<th>second_item</th>
<th>max_similarity</th>
</tr>
</thead>
<tbody>
<tr>
<th>16</th>
<td>United Kingdom/Ireland</td>
<td>United Kingdom</td>
<td>0.777778</td>
</tr>
<tr>
<th>6</th>
<td>Central America</td>
<td>Central African Rep.</td>
<td>0.742857</td>
</tr>
<tr>
<th>3</th>
<td>Asia</td>
<td>Austria</td>
<td>0.727273</td>
</tr>
<tr>
<th>1</th>
<td>Americas</td>
<td>Algeria</td>
<td>0.666667</td>
</tr>
<tr>
<th>0</th>
<td>Africa</td>
<td>South Africa</td>
<td>0.666667</td>
</tr>
<tr>
<th>11</th>
<td>Norway/Sweden</td>
<td>Norway</td>
<td>0.631579</td>
</tr>
<tr>
<th>10</th>
<td>Israel</td>
<td>Ireland</td>
<td>0.615385</td>
</tr>
<tr>
<th>15</th>
<td>Total</td>
<td>Portugal</td>
<td>0.615385</td>
</tr>
<tr>
<th>2</th>
<td>Arabia/Yemen</td>
<td>Yemen</td>
<td>0.588235</td>
</tr>
<tr>
<th>12</th>
<td>Oceania</td>
<td>Albania</td>
<td>0.571429</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
Well, how about the countries that match?</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [6]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Get the intersection of the jew and income indexes</span>
<span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[6]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>Index(['Austria', 'Belgium', 'Bosnia and Herzegovina', 'Denmark', 'France',
'Germany', 'Hungary', 'Italy', 'Luxembourg', 'Netherlands', 'Poland',
'Portugal', 'Romania', 'Serbia', 'Spain', 'Switzerland', 'India',
'Iran', 'Algeria', 'Egypt', 'Ethiopia', 'Libya', 'Morocco',
'South Africa', 'Tunisia', 'Argentina', 'Brazil', 'Canada', 'Mexico',
'Suriname', 'United States', 'Australia', 'New Zealand'],
dtype='object')</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
I think this is enough data to demonstrate the hypothesis</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [7]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Create a Jewish population dataframe with the common rows</span>
<span class="n">jew_pop_df</span> <span class="o">=</span> <span class="n">jews_df</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">isin</span><span class="p">(</span><span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span><span class="o">.</span><span class="n">tolist</span><span class="p">()),</span>
<span class="n">int_columns</span><span class="p">]</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">'Country'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">jew_pop_df</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[7]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
<th>1942</th>
<th>1970</th>
<th>2010</th>
</tr>
<tr>
<th>Country</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>Austria</th>
<td>191000.0</td>
<td>NaN</td>
<td>NaN</td>
<td>9000.0</td>
</tr>
<tr>
<th>Belgium</th>
<td>12000.0</td>
<td>60000.0</td>
<td>NaN</td>
<td>30300.0</td>
</tr>
<tr>
<th>Bosnia and Herzegovina</th>
<td>8213.0</td>
<td>NaN</td>
<td>NaN</td>
<td>500.0</td>
</tr>
<tr>
<th>Denmark</th>
<td>5000.0</td>
<td>NaN</td>
<td>NaN</td>
<td>6400.0</td>
</tr>
<tr>
<th>France</th>
<td>86885.0</td>
<td>250000.0</td>
<td>530000.0</td>
<td>483500.0</td>
</tr>
<tr>
<th>Germany</th>
<td>586948.0</td>
<td>NaN</td>
<td>30000.0</td>
<td>119000.0</td>
</tr>
<tr>
<th>Hungary</th>
<td>851378.0</td>
<td>445000.0</td>
<td>70000.0</td>
<td>48600.0</td>
</tr>
<tr>
<th>Italy</th>
<td>34653.0</td>
<td>48000.0</td>
<td>NaN</td>
<td>28400.0</td>
</tr>
<tr>
<th>Luxembourg</th>
<td>1200.0</td>
<td>NaN</td>
<td>NaN</td>
<td>600.0</td>
</tr>
<tr>
<th>Netherlands</th>
<td>103988.0</td>
<td>156000.0</td>
<td>NaN</td>
<td>30000.0</td>
</tr>
<tr>
<th>Poland</th>
<td>1316776.0</td>
<td>3000000.0</td>
<td>NaN</td>
<td>3200.0</td>
</tr>
<tr>
<th>Portugal</th>
<td>1200.0</td>
<td>1200.0</td>
<td>NaN</td>
<td>500.0</td>
</tr>
<tr>
<th>Romania</th>
<td>269015.0</td>
<td>756000.0</td>
<td>NaN</td>
<td>9700.0</td>
</tr>
<tr>
<th>Serbia</th>
<td>5102.0</td>
<td>NaN</td>
<td>NaN</td>
<td>1400.0</td>
</tr>
<tr>
<th>Spain</th>
<td>5000.0</td>
<td>4000.0</td>
<td>NaN</td>
<td>12000.0</td>
</tr>
<tr>
<th>Switzerland</th>
<td>12551.0</td>
<td>NaN</td>
<td>NaN</td>
<td>17600.0</td>
</tr>
<tr>
<th>India</th>
<td>18228.0</td>
<td>NaN</td>
<td>NaN</td>
<td>5000.0</td>
</tr>
<tr>
<th>Iran</th>
<td>35000.0</td>
<td>NaN</td>
<td>NaN</td>
<td>10400.0</td>
</tr>
<tr>
<th>Algeria</th>
<td>51044.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr>
<th>Egypt</th>
<td>30678.0</td>
<td>NaN</td>
<td>NaN</td>
<td>100.0</td>
</tr>
<tr>
<th>Ethiopia</th>
<td>50000.0</td>
<td>NaN</td>
<td>NaN</td>
<td>100.0</td>
</tr>
<tr>
<th>Libya</th>
<td>18680.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr>
<th>Morocco</th>
<td>109712.0</td>
<td>NaN</td>
<td>NaN</td>
<td>2700.0</td>
</tr>
<tr>
<th>South Africa</th>
<td>50000.0</td>
<td>NaN</td>
<td>118000.0</td>
<td>70800.0</td>
</tr>
<tr>
<th>Tunisia</th>
<td>62545.0</td>
<td>NaN</td>
<td>NaN</td>
<td>1000.0</td>
</tr>
<tr>
<th>Argentina</th>
<td>20000.0</td>
<td>NaN</td>
<td>282000.0</td>
<td>182300.0</td>
</tr>
<tr>
<th>Brazil</th>
<td>2000.0</td>
<td>NaN</td>
<td>90000.0</td>
<td>95600.0</td>
</tr>
<tr>
<th>Canada</th>
<td>22500.0</td>
<td>NaN</td>
<td>286000.0</td>
<td>375000.0</td>
</tr>
<tr>
<th>Mexico</th>
<td>1000.0</td>
<td>NaN</td>
<td>35000.0</td>
<td>39400.0</td>
</tr>
<tr>
<th>Suriname</th>
<td>1121.0</td>
<td>NaN</td>
<td>NaN</td>
<td>200.0</td>
</tr>
<tr>
<th>United States</th>
<td>1500000.0</td>
<td>4228529.0</td>
<td>5400000.0</td>
<td>5275000.0</td>
</tr>
<tr>
<th>Australia</th>
<td>15122.0</td>
<td>NaN</td>
<td>65000.0</td>
<td>107500.0</td>
</tr>
<tr>
<th>New Zealand</th>
<td>1611.0</td>
<td>NaN</td>
<td>NaN</td>
<td>7500.0</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
Notice there are lots of missing values in the dataset above. I'm going to make two assumptions:<br />
<ol>
<li>
All Jews left the countries with missing 2010 values by 2010, and</li>
<li>
The populations of the countries with missing values changed smoothly over time.</li>
</ol>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [8]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Assume all Jews left Algeria and Libya by 2010</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'2010'</span><span class="p">]</span><span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="c1"># Interpolate the rest of the missing values</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="n">pd</span><span class="o">.</span><span class="n">datetime</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]),</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">interpolate</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="s1">'time'</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]</span>
<span class="n">jew_pop_df</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[8]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
<th>1942</th>
<th>1970</th>
<th>2010</th>
</tr>
<tr>
<th>Country</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>Austria</th>
<td>191000.0</td>
<td>1.215105e+05</td>
<td>7.518264e+04</td>
<td>9000.0</td>
</tr>
<tr>
<th>Belgium</th>
<td>12000.0</td>
<td>6.000000e+04</td>
<td>4.777059e+04</td>
<td>30300.0</td>
</tr>
<tr>
<th>Bosnia and Herzegovina</th>
<td>8213.0</td>
<td>5.268096e+03</td>
<td>3.304762e+03</td>
<td>500.0</td>
</tr>
<tr>
<th>Denmark</th>
<td>5000.0</td>
<td>5.534535e+03</td>
<td>5.890903e+03</td>
<td>6400.0</td>
</tr>
<tr>
<th>France</th>
<td>86885.0</td>
<td>2.500000e+05</td>
<td>5.300000e+05</td>
<td>483500.0</td>
</tr>
<tr>
<th>Germany</th>
<td>586948.0</td>
<td>2.527836e+05</td>
<td>3.000000e+04</td>
<td>119000.0</td>
</tr>
<tr>
<th>Hungary</th>
<td>851378.0</td>
<td>4.450000e+05</td>
<td>7.000000e+04</td>
<td>48600.0</td>
</tr>
<tr>
<th>Italy</th>
<td>34653.0</td>
<td>4.800000e+04</td>
<td>3.992941e+04</td>
<td>28400.0</td>
</tr>
<tr>
<th>Luxembourg</th>
<td>1200.0</td>
<td>9.709137e+02</td>
<td>8.181845e+02</td>
<td>600.0</td>
</tr>
<tr>
<th>Netherlands</th>
<td>103988.0</td>
<td>1.560000e+05</td>
<td>1.041176e+05</td>
<td>30000.0</td>
</tr>
<tr>
<th>Poland</th>
<td>1316776.0</td>
<td>3.000000e+06</td>
<td>1.766024e+06</td>
<td>3200.0</td>
</tr>
<tr>
<th>Portugal</th>
<td>1200.0</td>
<td>1.200000e+03</td>
<td>9.117647e+02</td>
<td>500.0</td>
</tr>
<tr>
<th>Romania</th>
<td>269015.0</td>
<td>7.560000e+05</td>
<td>4.487000e+05</td>
<td>9700.0</td>
</tr>
<tr>
<th>Serbia</th>
<td>5102.0</td>
<td>3.688538e+03</td>
<td>2.746199e+03</td>
<td>1400.0</td>
</tr>
<tr>
<th>Spain</th>
<td>5000.0</td>
<td>4.000000e+03</td>
<td>7.294118e+03</td>
<td>12000.0</td>
</tr>
<tr>
<th>Switzerland</th>
<td>12551.0</td>
<td>1.447876e+04</td>
<td>1.576398e+04</td>
<td>17600.0</td>
</tr>
<tr>
<th>India</th>
<td>18228.0</td>
<td>1.317741e+04</td>
<td>9.810242e+03</td>
<td>5000.0</td>
</tr>
<tr>
<th>Iran</th>
<td>35000.0</td>
<td>2.560746e+04</td>
<td>1.934557e+04</td>
<td>10400.0</td>
</tr>
<tr>
<th>Algeria</th>
<td>51044.0</td>
<td>3.155487e+04</td>
<td>1.856169e+04</td>
<td>0.0</td>
</tr>
<tr>
<th>Egypt</th>
<td>30678.0</td>
<td>1.900300e+04</td>
<td>1.121941e+04</td>
<td>100.0</td>
</tr>
<tr>
<th>Ethiopia</th>
<td>50000.0</td>
<td>3.094766e+04</td>
<td>1.824568e+04</td>
<td>100.0</td>
</tr>
<tr>
<th>Libya</th>
<td>18680.0</td>
<td>1.154778e+04</td>
<td>6.792812e+03</td>
<td>0.0</td>
</tr>
<tr>
<th>Morocco</th>
<td>109712.0</td>
<td>6.885370e+04</td>
<td>4.161394e+04</td>
<td>2700.0</td>
</tr>
<tr>
<th>South Africa</th>
<td>50000.0</td>
<td>9.079947e+04</td>
<td>1.180000e+05</td>
<td>70800.0</td>
</tr>
<tr>
<th>Tunisia</th>
<td>62545.0</td>
<td>3.904647e+04</td>
<td>2.338028e+04</td>
<td>1000.0</td>
</tr>
<tr>
<th>Argentina</th>
<td>20000.0</td>
<td>1.771980e+05</td>
<td>2.820000e+05</td>
<td>182300.0</td>
</tr>
<tr>
<th>Brazil</th>
<td>2000.0</td>
<td>5.479931e+04</td>
<td>9.000000e+04</td>
<td>95600.0</td>
</tr>
<tr>
<th>Canada</th>
<td>22500.0</td>
<td>1.805979e+05</td>
<td>2.860000e+05</td>
<td>375000.0</td>
</tr>
<tr>
<th>Mexico</th>
<td>1000.0</td>
<td>2.139973e+04</td>
<td>3.500000e+04</td>
<td>39400.0</td>
</tr>
<tr>
<th>Suriname</th>
<td>1121.0</td>
<td>7.693525e+02</td>
<td>5.349133e+02</td>
<td>200.0</td>
</tr>
<tr>
<th>United States</th>
<td>1500000.0</td>
<td>4.228529e+06</td>
<td>5.400000e+06</td>
<td>5275000.0</td>
</tr>
<tr>
<th>Australia</th>
<td>15122.0</td>
<td>4.504841e+04</td>
<td>6.500000e+04</td>
<td>107500.0</td>
</tr>
<tr>
<th>New Zealand</th>
<td>1611.0</td>
<td>3.859482e+03</td>
<td>5.358519e+03</td>
<td>7500.0</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [9]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Frequency tables are kind of pointless,</span>
<span class="c1"># as the data has mostly unique values</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'1900'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'1942'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'1970'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'2010'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[9]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
</tr>
</thead>
<tbody>
<tr>
<th>5000.0</th>
<td>2</td>
</tr>
<tr>
<th>1200.0</th>
<td>2</td>
</tr>
<tr>
<th>50000.0</th>
<td>2</td>
</tr>
<tr>
<th>12551.0</th>
<td>1</td>
</tr>
<tr>
<th>103988.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[9]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1942</th>
</tr>
</thead>
<tbody>
<tr>
<th>25607.461981</th>
<td>1</td>
</tr>
<tr>
<th>177197.950483</th>
<td>1</td>
</tr>
<tr>
<th>48000.000000</th>
<td>1</td>
</tr>
<tr>
<th>1200.000000</th>
<td>1</td>
</tr>
<tr>
<th>4000.000000</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[9]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1970</th>
</tr>
</thead>
<tbody>
<tr>
<th>11219.411106</th>
<td>1</td>
</tr>
<tr>
<th>41613.938821</th>
<td>1</td>
</tr>
<tr>
<th>65000.000000</th>
<td>1</td>
</tr>
<tr>
<th>19345.565871</th>
<td>1</td>
</tr>
<tr>
<th>15763.977151</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[9]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>2010</th>
</tr>
</thead>
<tbody>
<tr>
<th>500.0</th>
<td>2</td>
</tr>
<tr>
<th>0.0</th>
<td>2</td>
</tr>
<tr>
<th>100.0</th>
<td>2</td>
</tr>
<tr>
<th>39400.0</th>
<td>1</td>
</tr>
<tr>
<th>30300.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [10]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Create a personal income dataframe with the common rows</span>
<span class="n">pers_inc_df</span> <span class="o">=</span> <span class="n">income_df</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">),</span> <span class="p">[</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]]</span>
<span class="n">pers_inc_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">'Country'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">pers_inc_df</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[10]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
<th>1942</th>
<th>1970</th>
<th>2010</th>
</tr>
<tr>
<th>Country</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>Austria</th>
<td>5704.0</td>
<td>7534.0</td>
<td>17865.0</td>
<td>42861.0</td>
</tr>
<tr>
<th>Belgium</th>
<td>6967.0</td>
<td>6157.0</td>
<td>18903.0</td>
<td>40764.0</td>
</tr>
<tr>
<th>Bosnia and Herzegovina</th>
<td>1072.0</td>
<td>1233.0</td>
<td>2500.0</td>
<td>9145.0</td>
</tr>
<tr>
<th>Denmark</th>
<td>5566.0</td>
<td>8095.0</td>
<td>21990.0</td>
<td>42997.0</td>
</tr>
<tr>
<th>France</th>
<td>4314.0</td>
<td>4700.0</td>
<td>18185.0</td>
<td>36745.0</td>
</tr>
<tr>
<th>Germany</th>
<td>4596.0</td>
<td>10407.0</td>
<td>21218.0</td>
<td>40632.0</td>
</tr>
<tr>
<th>Hungary</th>
<td>2863.0</td>
<td>6199.0</td>
<td>12917.0</td>
<td>22062.0</td>
</tr>
<tr>
<th>Italy</th>
<td>3528.0</td>
<td>6403.0</td>
<td>16450.0</td>
<td>35753.0</td>
</tr>
<tr>
<th>Luxembourg</th>
<td>3751.0</td>
<td>13698.0</td>
<td>29363.0</td>
<td>91147.0</td>
</tr>
<tr>
<th>Netherlands</th>
<td>6063.0</td>
<td>6617.0</td>
<td>19800.0</td>
<td>45843.0</td>
</tr>
<tr>
<th>Poland</th>
<td>2583.0</td>
<td>2978.0</td>
<td>8705.0</td>
<td>21328.0</td>
</tr>
<tr>
<th>Portugal</th>
<td>2412.0</td>
<td>3160.0</td>
<td>10175.0</td>
<td>27393.0</td>
</tr>
<tr>
<th>Romania</th>
<td>2474.0</td>
<td>3054.0</td>
<td>9602.0</td>
<td>16888.0</td>
</tr>
<tr>
<th>Serbia</th>
<td>2845.0</td>
<td>4084.0</td>
<td>10197.0</td>
<td>12301.0</td>
</tr>
<tr>
<th>Spain</th>
<td>2730.0</td>
<td>3756.0</td>
<td>12233.0</td>
<td>32994.0</td>
</tr>
<tr>
<th>Switzerland</th>
<td>9640.0</td>
<td>13896.0</td>
<td>36582.0</td>
<td>54183.0</td>
</tr>
<tr>
<th>India</th>
<td>1194.0</td>
<td>1054.0</td>
<td>1170.0</td>
<td>4547.0</td>
</tr>
<tr>
<th>Iran</th>
<td>1322.0</td>
<td>3219.0</td>
<td>10467.0</td>
<td>16980.0</td>
</tr>
<tr>
<th>Algeria</th>
<td>1750.0</td>
<td>3589.0</td>
<td>7227.0</td>
<td>12494.0</td>
</tr>
<tr>
<th>Egypt</th>
<td>1295.0</td>
<td>1572.0</td>
<td>3055.0</td>
<td>10615.0</td>
</tr>
<tr>
<th>Ethiopia</th>
<td>539.0</td>
<td>571.0</td>
<td>778.0</td>
<td>1081.0</td>
</tr>
<tr>
<th>Libya</th>
<td>2806.0</td>
<td>4714.0</td>
<td>67491.0</td>
<td>30261.0</td>
</tr>
<tr>
<th>Morocco</th>
<td>824.0</td>
<td>1729.0</td>
<td>2411.0</td>
<td>6466.0</td>
</tr>
<tr>
<th>South Africa</th>
<td>2802.0</td>
<td>6839.0</td>
<td>10394.0</td>
<td>12087.0</td>
</tr>
<tr>
<th>Tunisia</th>
<td>1053.0</td>
<td>1602.0</td>
<td>2990.0</td>
<td>10411.0</td>
</tr>
<tr>
<th>Argentina</th>
<td>6002.0</td>
<td>6943.0</td>
<td>9951.0</td>
<td>15765.0</td>
</tr>
<tr>
<th>Brazil</th>
<td>1201.0</td>
<td>2214.0</td>
<td>5930.0</td>
<td>14660.0</td>
</tr>
<tr>
<th>Canada</th>
<td>4858.0</td>
<td>11617.0</td>
<td>19842.0</td>
<td>40773.0</td>
</tr>
<tr>
<th>Mexico</th>
<td>2164.0</td>
<td>3492.0</td>
<td>8757.0</td>
<td>15460.0</td>
</tr>
<tr>
<th>Suriname</th>
<td>2813.0</td>
<td>4866.0</td>
<td>8786.0</td>
<td>14325.0</td>
</tr>
<tr>
<th>United States</th>
<td>6819.0</td>
<td>15702.0</td>
<td>23908.0</td>
<td>49373.0</td>
</tr>
<tr>
<th>Australia</th>
<td>6688.0</td>
<td>12236.0</td>
<td>19719.0</td>
<td>41330.0</td>
</tr>
<tr>
<th>New Zealand</th>
<td>7181.0</td>
<td>11465.0</td>
<td>19200.0</td>
<td>31824.0</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [11]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Frequency tables are kind of pointless,</span>
<span class="c1"># as the data has mostly unique values</span>
<span class="n">pers_inc_df</span><span class="p">[</span><span class="s1">'1900'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">pers_inc_df</span><span class="p">[</span><span class="s1">'1942'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">pers_inc_df</span><span class="p">[</span><span class="s1">'1970'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">pers_inc_df</span><span class="p">[</span><span class="s1">'2010'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[11]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
</tr>
</thead>
<tbody>
<tr>
<th>6819.0</th>
<td>1</td>
</tr>
<tr>
<th>2806.0</th>
<td>1</td>
</tr>
<tr>
<th>1072.0</th>
<td>1</td>
</tr>
<tr>
<th>4314.0</th>
<td>1</td>
</tr>
<tr>
<th>4596.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[11]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1942</th>
</tr>
</thead>
<tbody>
<tr>
<th>10407.0</th>
<td>1</td>
</tr>
<tr>
<th>2214.0</th>
<td>1</td>
</tr>
<tr>
<th>1233.0</th>
<td>1</td>
</tr>
<tr>
<th>4700.0</th>
<td>1</td>
</tr>
<tr>
<th>2978.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[11]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1970</th>
</tr>
</thead>
<tbody>
<tr>
<th>18903.0</th>
<td>1</td>
</tr>
<tr>
<th>8705.0</th>
<td>1</td>
</tr>
<tr>
<th>1170.0</th>
<td>1</td>
</tr>
<tr>
<th>3055.0</th>
<td>1</td>
</tr>
<tr>
<th>778.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[11]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>2010</th>
</tr>
</thead>
<tbody>
<tr>
<th>54183.0</th>
<td>1</td>
</tr>
<tr>
<th>40773.0</th>
<td>1</td>
</tr>
<tr>
<th>21328.0</th>
<td>1</td>
</tr>
<tr>
<th>1081.0</th>
<td>1</td>
</tr>
<tr>
<th>31824.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [12]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span class="c1"># Histograms are better</span>
<span class="o">%</span><span class="k">matplotlib</span> inline
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
<span class="n">num_rows</span> <span class="o">=</span> <span class="mi">2</span>
<span class="n">num_cols</span> <span class="o">=</span> <span class="mi">4</span>
<span class="n">i</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">for</span> <span class="n">row_num</span><span class="p">,</span> <span class="n">df</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="n">pers_inc_df</span><span class="p">,</span> <span class="n">jew_pop_df</span><span class="p">]):</span>
<span class="k">for</span> <span class="n">col_num</span><span class="p">,</span> <span class="n">col_name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]):</span>
<span class="n">ax</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="n">num_rows</span><span class="p">,</span> <span class="n">num_cols</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">autoscale_on</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="n">note_text</span> <span class="o">=</span> <span class="n">col_name</span>
<span class="k">if</span> <span class="n">row_num</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
<span class="n">xrot</span> <span class="o">=</span> <span class="mi">45</span>
<span class="n">note_text</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">Jewish Population'</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">xrot</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">note_text</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">Personal Income'</span>
<span class="n">note</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mf">0.65</span><span class="p">,</span> <span class="mf">0.97</span><span class="p">,</span> <span class="n">note_text</span><span class="p">,</span> <span class="n">transform</span><span class="o">=</span><span class="n">ax</span><span class="o">.</span><span class="n">transAxes</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">14</span><span class="p">,</span>
<span class="n">fontweight</span><span class="o">=</span><span class="s1">'normal'</span><span class="p">,</span> <span class="n">va</span><span class="o">=</span><span class="s1">'top'</span><span class="p">,</span> <span class="n">ha</span><span class="o">=</span><span class="s1">'center'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=.</span><span class="mi">6</span><span class="p">)</span>
<span class="n">histogram</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">col_name</span><span class="p">]</span><span class="o">.</span><span class="n">hist</span><span class="p">(</span><span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">grid</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">bins</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">xrot</span><span class="o">=</span><span class="n">xrot</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr0ud6g465xtfvQGeSb0CQ2emhx3HJyPztVvDzH1k8uWO_5vmoAbp8W4W099W7FqoezRWhVAD2ckMHi5svcgzlcv5EgONYlNSRYJ_2WunrvgsWu1vqX-ZsdYuzVOUI0EJPOAxSKw/s1600/download.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1034" data-original-width="1600" height="414" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr0ud6g465xtfvQGeSb0CQ2emhx3HJyPztVvDzH1k8uWO_5vmoAbp8W4W099W7FqoezRWhVAD2ckMHi5svcgzlcv5EgONYlNSRYJ_2WunrvgsWu1vqX-ZsdYuzVOUI0EJPOAxSKw/s640/download.png" width="640" /></a></div>
<pre>Country
Luxembourg -47925.205289
Portugal -2474.345246
Denmark -1537.486846
Suriname -634.791281
Switzerland -130.175817
New Zealand -46.227980
Libya -25.365076
Serbia -23.612054
Italy -14.976870
Spain -11.356662
South Africa -8.635626
United States -6.736970
India -4.494938
Iran -4.454210
Netherlands -3.871481
Bosnia and Herzegovina -3.503249
France -3.102373
Argentina -2.723588
Canada -2.069449
Poland -2.004145
Brazil -1.948525
Belgium -1.943495
Morocco -1.937680
Austria -1.934420
Tunisia -1.819965
Romania -1.814459
Ethiopia -1.771854
Egypt -1.700255
Algeria -1.520236
Germany -1.256640
Hungary -1.133395
Mexico -0.772091
Australia -0.681665
Name: coefficient_of_dermination, dtype: float64</pre>
</div>
</div>
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
All of these coefficients of determination are negative, therefore there is a <em>negative</em> association.</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
</div>
</div>
</div>
</div>
</div>
</div>
dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-24340996764198584672017-10-01T09:42:00.000-04:002017-10-01T09:42:22.435-04:00Peer-graded Assignment: Running Your First Program<div class="border-box-sizing" id="notebook" tabindex="-1">
<div class="container" id="notebook-container">
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
H<sub>1</sub>: There exists an association between personal income rise for a country and the rise in the population of Jews in that country.</h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [1]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">re</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="c1"># Create a dataframe of the Jewish population data from</span>
<span class="c1"># https://en.wikipedia.org/wiki/Historical_Jewish_population_comparisons</span>
<span class="n">file_path</span> <span class="o">=</span> <span class="s1">'../../data/html/JewishPopulation.html'</span>
<span class="n">jews_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_html</span><span class="p">(</span><span class="n">file_path</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">numeric_columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Pop1900'</span><span class="p">,</span> <span class="s1">'Pct1900'</span><span class="p">,</span> <span class="s1">'Pop1942'</span><span class="p">,</span> <span class="s1">'Pct1942'</span><span class="p">,</span>
<span class="s1">'Pop1970'</span><span class="p">,</span> <span class="s1">'Pct1970'</span><span class="p">,</span> <span class="s1">'Pop2010'</span><span class="p">,</span> <span class="s1">'Pct2010'</span><span class="p">]</span>
<span class="n">int_columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Pop1900'</span><span class="p">,</span> <span class="s1">'Pop1942'</span><span class="p">,</span> <span class="s1">'Pop1970'</span><span class="p">,</span> <span class="s1">'Pop2010'</span><span class="p">]</span>
<span class="n">float_columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Pct1900'</span><span class="p">,</span> <span class="s1">'Pct1942'</span><span class="p">,</span> <span class="s1">'Pct1970'</span><span class="p">,</span> <span class="s1">'Pct2010'</span><span class="p">]</span>
<span class="n">jews_df</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Region'</span><span class="p">]</span> <span class="o">+</span> <span class="n">numeric_columns</span>
<span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="n">element</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">element</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'['</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">jews_df</span><span class="p">[</span><span class="s1">'Region'</span><span class="p">]</span> <span class="o">=</span> <span class="n">jews_df</span><span class="p">[</span><span class="s1">'Region'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
<span class="n">jews_df</span><span class="p">[</span><span class="s1">'Pop1900'</span><span class="p">]</span> <span class="o">=</span> <span class="n">jews_df</span><span class="p">[</span><span class="s1">'Pop1900'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
<span class="n">num_regex</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s1">'[^0-9.]+'</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="n">row</span><span class="p">):</span>
<span class="k">for</span> <span class="n">column_name</span> <span class="ow">in</span> <span class="n">numeric_columns</span><span class="p">:</span>
<span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">num_regex</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">''</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">]))</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">]</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">])</span>
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
<span class="n">row</span><span class="p">[</span><span class="n">column_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">NaN</span>
<span class="k">return</span> <span class="n">row</span>
<span class="n">jews_df</span> <span class="o">=</span> <span class="n">jews_df</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">jews_df</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="n">keys</span><span class="o">=</span><span class="s1">'Region'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="c1"># Create dataframes from the GapMinder data from</span>
<span class="c1"># http://www.gapminder.org/data/</span>
<span class="n">encoding</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'latin1'</span><span class="p">,</span> <span class="s1">'iso8859-1'</span><span class="p">,</span> <span class="s1">'utf-8'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
<span class="n">income_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'../../data/csv/income_df.csv'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="n">encoding</span><span class="p">)</span>
<span class="n">income_df</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="n">keys</span><span class="o">=</span><span class="s1">'Country'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">population_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'../../data/csv/population_df.csv'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="n">encoding</span><span class="p">)</span>
<span class="n">population_df</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="n">keys</span><span class="o">=</span><span class="s1">'Country'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></span>
</pre>
<pre><span style="background-color: #fff2cc;"><span class="p">
</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [2]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Regions that can't be compared directly to the income dataframe</span>
<span class="c1"># (basically lots of them)</span>
<span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">difference</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span></span>
</pre>
<pre><span style="background-color: #fff2cc;"><span class="p">
</span></span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[2]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>Index(['Africa', 'Americas', 'Arabia/Yemen', 'Asia',
'Bolivia/Chile/Ecuador/Peru/Uruguay', 'Bulgaria/Turkey/Ottoman Empire',
'Central America', 'China/Taiwan/Japan', 'Colombia/Guiana/Venezuela',
'Europe', 'Israel', 'Norway/Sweden', 'Oceania', 'Russian Empire (Asia)',
'Russian Empire (Europe)', 'Total', 'United Kingdom/Ireland'],
dtype='object')</pre>
<pre></pre>
<pre></pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [3]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="kn">from</span> <span class="nn">difflib</span> <span class="k">import</span> <span class="n">SequenceMatcher</span>
<span class="k">def</span> <span class="nf">similar</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
<span class="k">return</span> <span class="n">SequenceMatcher</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">a</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">))</span><span class="o">.</span><span class="n">ratio</span><span class="p">()</span>
<span class="c1">#Check the closest names for typos</span>
<span class="k">def</span> <span class="nf">check_for_typos</span><span class="p">(</span><span class="n">first_list</span><span class="p">,</span> <span class="n">second_list</span><span class="p">):</span>
<span class="n">rows_list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">first_item</span> <span class="ow">in</span> <span class="n">first_list</span><span class="p">:</span>
<span class="n">max_similarity</span> <span class="o">=</span> <span class="mf">0.0</span>
<span class="n">max_item</span> <span class="o">=</span> <span class="n">first_item</span>
<span class="k">for</span> <span class="n">second_item</span> <span class="ow">in</span> <span class="n">second_list</span><span class="p">:</span>
<span class="n">this_similarity</span> <span class="o">=</span> <span class="n">similar</span><span class="p">(</span><span class="n">first_item</span><span class="p">,</span> <span class="n">second_item</span><span class="p">)</span>
<span class="k">if</span> <span class="n">this_similarity</span> <span class="o">></span> <span class="n">max_similarity</span><span class="p">:</span>
<span class="n">max_similarity</span> <span class="o">=</span> <span class="n">this_similarity</span>
<span class="n">max_item</span> <span class="o">=</span> <span class="n">second_item</span>
<span class="c1"># Get input row in dictionary format; key = col_name</span>
<span class="n">row_dict</span> <span class="o">=</span> <span class="p">{}</span>
<span class="n">row_dict</span><span class="p">[</span><span class="s1">'first_item'</span><span class="p">]</span> <span class="o">=</span> <span class="n">first_item</span>
<span class="n">row_dict</span><span class="p">[</span><span class="s1">'second_item'</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_item</span>
<span class="n">row_dict</span><span class="p">[</span><span class="s1">'max_similarity'</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_similarity</span>
<span class="n">rows_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">row_dict</span><span class="p">)</span>
<span class="n">column_list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'first_item'</span><span class="p">,</span> <span class="s1">'second_item'</span><span class="p">,</span> <span class="s1">'max_similarity'</span><span class="p">]</span>
<span class="n">name_similarities_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">rows_list</span><span class="p">,</span> <span class="n">columns</span><span class="o">=</span><span class="n">column_list</span><span class="p">)</span>
<span class="k">return</span> <span class="n">name_similarities_df</span></span>
</pre>
<pre><span style="background-color: #fff2cc;"><span class="n">
</span></span></pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [4]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Closest regions to the countries in the income dataframe that are not paired up</span>
<span class="n">name_similarities_df</span> <span class="o">=</span> <span class="n">check_for_typos</span><span class="p">(</span><span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">difference</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">),</span></span></pre>
<pre><span style="background-color: #fff2cc;"> <span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
<span class="n">name_similarities_df</span><span class="o">.</span><span class="n">sort_values</span><span class="p">([</span><span class="s1">'max_similarity'</span><span class="p">],</span> <span class="n">ascending</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span></span>
</pre>
<pre><span class="p">
</span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[4]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>first_item</th>
<th>second_item</th>
<th>max_similarity</th>
</tr>
</thead>
<tbody>
<tr>
<th>16</th>
<td>United Kingdom/Ireland</td>
<td>United Kingdom</td>
<td>0.777778</td>
</tr>
<tr>
<th>6</th>
<td>Central America</td>
<td>Central African Rep.</td>
<td>0.742857</td>
</tr>
<tr>
<th>3</th>
<td>Asia</td>
<td>Austria</td>
<td>0.727273</td>
</tr>
<tr>
<th>1</th>
<td>Americas</td>
<td>Algeria</td>
<td>0.666667</td>
</tr>
<tr>
<th>0</th>
<td>Africa</td>
<td>South Africa</td>
<td>0.666667</td>
</tr>
<tr>
<th>11</th>
<td>Norway/Sweden</td>
<td>Norway</td>
<td>0.631579</td>
</tr>
<tr>
<th>10</th>
<td>Israel</td>
<td>Ireland</td>
<td>0.615385</td>
</tr>
<tr>
<th>15</th>
<td>Total</td>
<td>Portugal</td>
<td>0.615385</td>
</tr>
<tr>
<th>2</th>
<td>Arabia/Yemen</td>
<td>Yemen</td>
<td>0.588235</td>
</tr>
<tr>
<th>12</th>
<td>Oceania</td>
<td>Albania</td>
<td>0.571429</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
Well, how about the countries that match?</h4>
<br /></div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [5]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Get the intersection of the jew and income indexes</span>
<span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span></span>
</pre>
<pre><span style="background-color: #fff2cc;"><span class="p">
</span></span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[5]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>Index(['Austria', 'Belgium', 'Bosnia and Herzegovina', 'Denmark', 'France',
'Germany', 'Hungary', 'Italy', 'Luxembourg', 'Netherlands', 'Poland',
'Portugal', 'Romania', 'Serbia', 'Spain', 'Switzerland', 'India',
'Iran', 'Algeria', 'Egypt', 'Ethiopia', 'Libya', 'Morocco',
'South Africa', 'Tunisia', 'Argentina', 'Brazil', 'Canada', 'Mexico',
'Suriname', 'United States', 'Australia', 'New Zealand'],
dtype='object')</pre>
<pre></pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
I think this is enough data to demonstrate the hypothesis.</h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [6]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Create a Jewish population dataframe with the common rows</span>
<span class="n">jew_pop_df</span> <span class="o">=</span> <span class="n">jews_df</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">isin</span><span class="p">(</span><span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span><span class="o">.</span><span class="n">tolist</span><span class="p">()),</span>
<span class="n">int_columns</span><span class="p">]</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">'Country'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">jew_pop_df</span></span>
</pre>
<pre><span style="background-color: #fff2cc;"><span class="n">
</span></span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[6]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
<th>1942</th>
<th>1970</th>
<th>2010</th>
</tr>
<tr>
<th>Country</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>Austria</th>
<td>191000</td>
<td>NaN</td>
<td>NaN</td>
<td>9000</td>
</tr>
<tr>
<th>Belgium</th>
<td>12000</td>
<td>60000</td>
<td>NaN</td>
<td>30300</td>
</tr>
<tr>
<th>Bosnia and Herzegovina</th>
<td>8213</td>
<td>NaN</td>
<td>NaN</td>
<td>500</td>
</tr>
<tr>
<th>Denmark</th>
<td>5000</td>
<td>NaN</td>
<td>NaN</td>
<td>6400</td>
</tr>
<tr>
<th>France</th>
<td>86885</td>
<td>250000</td>
<td>530000</td>
<td>483500</td>
</tr>
<tr>
<th>Germany</th>
<td>586948</td>
<td>NaN</td>
<td>30000</td>
<td>119000</td>
</tr>
<tr>
<th>Hungary</th>
<td>851378</td>
<td>445000</td>
<td>70000</td>
<td>48600</td>
</tr>
<tr>
<th>Italy</th>
<td>34653</td>
<td>48000</td>
<td>NaN</td>
<td>28400</td>
</tr>
<tr>
<th>Luxembourg</th>
<td>1200</td>
<td>NaN</td>
<td>NaN</td>
<td>600</td>
</tr>
<tr>
<th>Netherlands</th>
<td>103988</td>
<td>156000</td>
<td>NaN</td>
<td>30000</td>
</tr>
<tr>
<th>Poland</th>
<td>1316776</td>
<td>3000000</td>
<td>NaN</td>
<td>3200</td>
</tr>
<tr>
<th>Portugal</th>
<td>1200</td>
<td>1200</td>
<td>NaN</td>
<td>500</td>
</tr>
<tr>
<th>Romania</th>
<td>269015</td>
<td>756000</td>
<td>NaN</td>
<td>9700</td>
</tr>
<tr>
<th>Serbia</th>
<td>5102</td>
<td>NaN</td>
<td>NaN</td>
<td>1400</td>
</tr>
<tr>
<th>Spain</th>
<td>5000</td>
<td>4000</td>
<td>NaN</td>
<td>12000</td>
</tr>
<tr>
<th>Switzerland</th>
<td>12551</td>
<td>NaN</td>
<td>NaN</td>
<td>17600</td>
</tr>
<tr>
<th>India</th>
<td>18228</td>
<td>NaN</td>
<td>NaN</td>
<td>5000</td>
</tr>
<tr>
<th>Iran</th>
<td>35000</td>
<td>NaN</td>
<td>NaN</td>
<td>10400</td>
</tr>
<tr>
<th>Algeria</th>
<td>51044</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr>
<th>Egypt</th>
<td>30678</td>
<td>NaN</td>
<td>NaN</td>
<td>100</td>
</tr>
<tr>
<th>Ethiopia</th>
<td>50000</td>
<td>NaN</td>
<td>NaN</td>
<td>100</td>
</tr>
<tr>
<th>Libya</th>
<td>18680</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr>
<th>Morocco</th>
<td>109712</td>
<td>NaN</td>
<td>NaN</td>
<td>2700</td>
</tr>
<tr>
<th>South Africa</th>
<td>50000</td>
<td>NaN</td>
<td>118000</td>
<td>70800</td>
</tr>
<tr>
<th>Tunisia</th>
<td>62545</td>
<td>NaN</td>
<td>NaN</td>
<td>1000</td>
</tr>
<tr>
<th>Argentina</th>
<td>20000</td>
<td>NaN</td>
<td>282000</td>
<td>182300</td>
</tr>
<tr>
<th>Brazil</th>
<td>2000</td>
<td>NaN</td>
<td>90000</td>
<td>95600</td>
</tr>
<tr>
<th>Canada</th>
<td>22500</td>
<td>NaN</td>
<td>286000</td>
<td>375000</td>
</tr>
<tr>
<th>Mexico</th>
<td>1000</td>
<td>NaN</td>
<td>35000</td>
<td>39400</td>
</tr>
<tr>
<th>Suriname</th>
<td>1121</td>
<td>NaN</td>
<td>NaN</td>
<td>200</td>
</tr>
<tr>
<th>United States</th>
<td>1500000</td>
<td>4228529</td>
<td>5400000</td>
<td>5275000</td>
</tr>
<tr>
<th>Australia</th>
<td>15122</td>
<td>NaN</td>
<td>65000</td>
<td>107500</td>
</tr>
<tr>
<th>New Zealand</th>
<td>1611</td>
<td>NaN</td>
<td>NaN</td>
<td>7500</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
Notice there are lots of missing values in the dataset above. I'm going to make two assumptions:<ol>
<li>
All Jews left the countries with missing 2010 values by 2010, and</li>
<li>
The populations of the countries with missing values changed smoothly over time.</li>
</ol>
</h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [7]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Assume all Jews left Algeria and Libya by 2010</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'2010'</span><span class="p">]</span><span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="c1"># Interpolate the rest of the missing values</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="n">pd</span><span class="o">.</span><span class="n">datetime</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]),</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">interpolate</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="s1">'time'</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">jew_pop_df</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]</span>
<span class="n">jew_pop_df</span></span>
</pre>
<pre><span class="n">
</span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[7]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
<th>1942</th>
<th>1970</th>
<th>2010</th>
</tr>
<tr>
<th>Country</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>Austria</th>
<td>191000</td>
<td>1.215105e+05</td>
<td>7.518264e+04</td>
<td>9000</td>
</tr>
<tr>
<th>Belgium</th>
<td>12000</td>
<td>6.000000e+04</td>
<td>4.777059e+04</td>
<td>30300</td>
</tr>
<tr>
<th>Bosnia and Herzegovina</th>
<td>8213</td>
<td>5.268096e+03</td>
<td>3.304762e+03</td>
<td>500</td>
</tr>
<tr>
<th>Denmark</th>
<td>5000</td>
<td>5.534535e+03</td>
<td>5.890903e+03</td>
<td>6400</td>
</tr>
<tr>
<th>France</th>
<td>86885</td>
<td>2.500000e+05</td>
<td>5.300000e+05</td>
<td>483500</td>
</tr>
<tr>
<th>Germany</th>
<td>586948</td>
<td>2.527836e+05</td>
<td>3.000000e+04</td>
<td>119000</td>
</tr>
<tr>
<th>Hungary</th>
<td>851378</td>
<td>4.450000e+05</td>
<td>7.000000e+04</td>
<td>48600</td>
</tr>
<tr>
<th>Italy</th>
<td>34653</td>
<td>4.800000e+04</td>
<td>3.992941e+04</td>
<td>28400</td>
</tr>
<tr>
<th>Luxembourg</th>
<td>1200</td>
<td>9.709137e+02</td>
<td>8.181845e+02</td>
<td>600</td>
</tr>
<tr>
<th>Netherlands</th>
<td>103988</td>
<td>1.560000e+05</td>
<td>1.041176e+05</td>
<td>30000</td>
</tr>
<tr>
<th>Poland</th>
<td>1316776</td>
<td>3.000000e+06</td>
<td>1.766024e+06</td>
<td>3200</td>
</tr>
<tr>
<th>Portugal</th>
<td>1200</td>
<td>1.200000e+03</td>
<td>9.117647e+02</td>
<td>500</td>
</tr>
<tr>
<th>Romania</th>
<td>269015</td>
<td>7.560000e+05</td>
<td>4.487000e+05</td>
<td>9700</td>
</tr>
<tr>
<th>Serbia</th>
<td>5102</td>
<td>3.688538e+03</td>
<td>2.746199e+03</td>
<td>1400</td>
</tr>
<tr>
<th>Spain</th>
<td>5000</td>
<td>4.000000e+03</td>
<td>7.294118e+03</td>
<td>12000</td>
</tr>
<tr>
<th>Switzerland</th>
<td>12551</td>
<td>1.447876e+04</td>
<td>1.576398e+04</td>
<td>17600</td>
</tr>
<tr>
<th>India</th>
<td>18228</td>
<td>1.317741e+04</td>
<td>9.810242e+03</td>
<td>5000</td>
</tr>
<tr>
<th>Iran</th>
<td>35000</td>
<td>2.560746e+04</td>
<td>1.934557e+04</td>
<td>10400</td>
</tr>
<tr>
<th>Algeria</th>
<td>51044</td>
<td>3.155487e+04</td>
<td>1.856169e+04</td>
<td>0</td>
</tr>
<tr>
<th>Egypt</th>
<td>30678</td>
<td>1.900300e+04</td>
<td>1.121941e+04</td>
<td>100</td>
</tr>
<tr>
<th>Ethiopia</th>
<td>50000</td>
<td>3.094766e+04</td>
<td>1.824568e+04</td>
<td>100</td>
</tr>
<tr>
<th>Libya</th>
<td>18680</td>
<td>1.154778e+04</td>
<td>6.792812e+03</td>
<td>0</td>
</tr>
<tr>
<th>Morocco</th>
<td>109712</td>
<td>6.885370e+04</td>
<td>4.161394e+04</td>
<td>2700</td>
</tr>
<tr>
<th>South Africa</th>
<td>50000</td>
<td>9.079947e+04</td>
<td>1.180000e+05</td>
<td>70800</td>
</tr>
<tr>
<th>Tunisia</th>
<td>62545</td>
<td>3.904647e+04</td>
<td>2.338028e+04</td>
<td>1000</td>
</tr>
<tr>
<th>Argentina</th>
<td>20000</td>
<td>1.771980e+05</td>
<td>2.820000e+05</td>
<td>182300</td>
</tr>
<tr>
<th>Brazil</th>
<td>2000</td>
<td>5.479931e+04</td>
<td>9.000000e+04</td>
<td>95600</td>
</tr>
<tr>
<th>Canada</th>
<td>22500</td>
<td>1.805979e+05</td>
<td>2.860000e+05</td>
<td>375000</td>
</tr>
<tr>
<th>Mexico</th>
<td>1000</td>
<td>2.139973e+04</td>
<td>3.500000e+04</td>
<td>39400</td>
</tr>
<tr>
<th>Suriname</th>
<td>1121</td>
<td>7.693525e+02</td>
<td>5.349133e+02</td>
<td>200</td>
</tr>
<tr>
<th>United States</th>
<td>1500000</td>
<td>4.228529e+06</td>
<td>5.400000e+06</td>
<td>5275000</td>
</tr>
<tr>
<th>Australia</th>
<td>15122</td>
<td>4.504841e+04</td>
<td>6.500000e+04</td>
<td>107500</td>
</tr>
<tr>
<th>New Zealand</th>
<td>1611</td>
<td>3.859482e+03</td>
<td>5.358519e+03</td>
<td>7500</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [8]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Frequency tables are kind of pointless,</span>
<span class="c1"># as the data has mostly unique values</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'1900'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'1942'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'1970'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">jew_pop_df</span><span class="p">[</span><span class="s1">'2010'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span></span>
</pre>
<pre><span class="p">
</span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[8]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
</tr>
</thead>
<tbody>
<tr>
<th>5000.0</th>
<td>2</td>
</tr>
<tr>
<th>1200.0</th>
<td>2</td>
</tr>
<tr>
<th>50000.0</th>
<td>2</td>
</tr>
<tr>
<th>12551.0</th>
<td>1</td>
</tr>
<tr>
<th>103988.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[8]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1942</th>
</tr>
</thead>
<tbody>
<tr>
<th>25607.461981</th>
<td>1</td>
</tr>
<tr>
<th>177197.950483</th>
<td>1</td>
</tr>
<tr>
<th>48000.000000</th>
<td>1</td>
</tr>
<tr>
<th>1200.000000</th>
<td>1</td>
</tr>
<tr>
<th>4000.000000</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[8]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1970</th>
</tr>
</thead>
<tbody>
<tr>
<th>11219.411106</th>
<td>1</td>
</tr>
<tr>
<th>41613.938821</th>
<td>1</td>
</tr>
<tr>
<th>65000.000000</th>
<td>1</td>
</tr>
<tr>
<th>19345.565871</th>
<td>1</td>
</tr>
<tr>
<th>15763.977151</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[8]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>2010</th>
</tr>
</thead>
<tbody>
<tr>
<th>500.0</th>
<td>2</td>
</tr>
<tr>
<th>0.0</th>
<td>2</td>
</tr>
<tr>
<th>100.0</th>
<td>2</td>
</tr>
<tr>
<th>39400.0</th>
<td>1</td>
</tr>
<tr>
<th>30300.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [9]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Create a personal income dataframe with the common rows</span>
<span class="n">pers_inc_df</span> <span class="o">=</span> <span class="n">income_df</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="n">jews_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">income_df</span><span class="o">.</span><span class="n">index</span><span class="p">),</span></span></pre>
<pre><span style="background-color: #fff2cc;"> <span class="p">[</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]]</span>
<span class="n">pers_inc_df</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">'Country'</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">pers_inc_df</span></span>
</pre>
<pre><span class="n">
</span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[9]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
<th>1942</th>
<th>1970</th>
<th>2010</th>
</tr>
<tr>
<th>Country</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>Austria</th>
<td>5704</td>
<td>7534</td>
<td>17865</td>
<td>42861</td>
</tr>
<tr>
<th>Belgium</th>
<td>6967</td>
<td>6157</td>
<td>18903</td>
<td>40764</td>
</tr>
<tr>
<th>Bosnia and Herzegovina</th>
<td>1072</td>
<td>1233</td>
<td>2500</td>
<td>9145</td>
</tr>
<tr>
<th>Denmark</th>
<td>5566</td>
<td>8095</td>
<td>21990</td>
<td>42997</td>
</tr>
<tr>
<th>France</th>
<td>4314</td>
<td>4700</td>
<td>18185</td>
<td>36745</td>
</tr>
<tr>
<th>Germany</th>
<td>4596</td>
<td>10407</td>
<td>21218</td>
<td>40632</td>
</tr>
<tr>
<th>Hungary</th>
<td>2863</td>
<td>6199</td>
<td>12917</td>
<td>22062</td>
</tr>
<tr>
<th>Italy</th>
<td>3528</td>
<td>6403</td>
<td>16450</td>
<td>35753</td>
</tr>
<tr>
<th>Luxembourg</th>
<td>3751</td>
<td>13698</td>
<td>29363</td>
<td>91147</td>
</tr>
<tr>
<th>Netherlands</th>
<td>6063</td>
<td>6617</td>
<td>19800</td>
<td>45843</td>
</tr>
<tr>
<th>Poland</th>
<td>2583</td>
<td>2978</td>
<td>8705</td>
<td>21328</td>
</tr>
<tr>
<th>Portugal</th>
<td>2412</td>
<td>3160</td>
<td>10175</td>
<td>27393</td>
</tr>
<tr>
<th>Romania</th>
<td>2474</td>
<td>3054</td>
<td>9602</td>
<td>16888</td>
</tr>
<tr>
<th>Serbia</th>
<td>2845</td>
<td>4084</td>
<td>10197</td>
<td>12301</td>
</tr>
<tr>
<th>Spain</th>
<td>2730</td>
<td>3756</td>
<td>12233</td>
<td>32994</td>
</tr>
<tr>
<th>Switzerland</th>
<td>9640</td>
<td>13896</td>
<td>36582</td>
<td>54183</td>
</tr>
<tr>
<th>India</th>
<td>1194</td>
<td>1054</td>
<td>1170</td>
<td>4547</td>
</tr>
<tr>
<th>Iran</th>
<td>1322</td>
<td>3219</td>
<td>10467</td>
<td>16980</td>
</tr>
<tr>
<th>Algeria</th>
<td>1750</td>
<td>3589</td>
<td>7227</td>
<td>12494</td>
</tr>
<tr>
<th>Egypt</th>
<td>1295</td>
<td>1572</td>
<td>3055</td>
<td>10615</td>
</tr>
<tr>
<th>Ethiopia</th>
<td>539</td>
<td>571</td>
<td>778</td>
<td>1081</td>
</tr>
<tr>
<th>Libya</th>
<td>2806</td>
<td>4714</td>
<td>67491</td>
<td>30261</td>
</tr>
<tr>
<th>Morocco</th>
<td>824</td>
<td>1729</td>
<td>2411</td>
<td>6466</td>
</tr>
<tr>
<th>South Africa</th>
<td>2802</td>
<td>6839</td>
<td>10394</td>
<td>12087</td>
</tr>
<tr>
<th>Tunisia</th>
<td>1053</td>
<td>1602</td>
<td>2990</td>
<td>10411</td>
</tr>
<tr>
<th>Argentina</th>
<td>6002</td>
<td>6943</td>
<td>9951</td>
<td>15765</td>
</tr>
<tr>
<th>Brazil</th>
<td>1201</td>
<td>2214</td>
<td>5930</td>
<td>14660</td>
</tr>
<tr>
<th>Canada</th>
<td>4858</td>
<td>11617</td>
<td>19842</td>
<td>40773</td>
</tr>
<tr>
<th>Mexico</th>
<td>2164</td>
<td>3492</td>
<td>8757</td>
<td>15460</td>
</tr>
<tr>
<th>Suriname</th>
<td>2813</td>
<td>4866</td>
<td>8786</td>
<td>14325</td>
</tr>
<tr>
<th>United States</th>
<td>6819</td>
<td>15702</td>
<td>23908</td>
<td>49373</td>
</tr>
<tr>
<th>Australia</th>
<td>6688</td>
<td>12236</td>
<td>19719</td>
<td>41330</td>
</tr>
<tr>
<th>New Zealand</th>
<td>7181</td>
<td>11465</td>
<td>19200</td>
<td>31824</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [10]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Frequency tables are kind of pointless,</span>
<span class="c1"># as the data has mostly unique values</span>
<span class="n">pers_inc_df</span><span class="p">[</span><span class="s1">'1900'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">pers_inc_df</span><span class="p">[</span><span class="s1">'1942'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">pers_inc_df</span><span class="p">[</span><span class="s1">'1970'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
<span class="n">pers_inc_df</span><span class="p">[</span><span class="s1">'2010'</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span></span>
</pre>
<pre><span class="p">
</span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">
Out[10]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1900</th>
</tr>
</thead>
<tbody>
<tr>
<th>6819.0</th>
<td>1</td>
</tr>
<tr>
<th>2806.0</th>
<td>1</td>
</tr>
<tr>
<th>1072.0</th>
<td>1</td>
</tr>
<tr>
<th>4314.0</th>
<td>1</td>
</tr>
<tr>
<th>4596.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[10]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1942</th>
</tr>
</thead>
<tbody>
<tr>
<th>10407.0</th>
<td>1</td>
</tr>
<tr>
<th>2214.0</th>
<td>1</td>
</tr>
<tr>
<th>1233.0</th>
<td>1</td>
</tr>
<tr>
<th>4700.0</th>
<td>1</td>
</tr>
<tr>
<th>2978.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[10]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>1970</th>
</tr>
</thead>
<tbody>
<tr>
<th>18903.0</th>
<td>1</td>
</tr>
<tr>
<th>8705.0</th>
<td>1</td>
</tr>
<tr>
<th>1170.0</th>
<td>1</td>
</tr>
<tr>
<th>3055.0</th>
<td>1</td>
</tr>
<tr>
<th>778.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="output_area">
<div class="prompt output_prompt">
Out[10]:</div>
<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<br />
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>2010</th>
</tr>
</thead>
<tbody>
<tr>
<th>54183.0</th>
<td>1</td>
</tr>
<tr>
<th>40773.0</th>
<td>1</td>
</tr>
<tr>
<th>21328.0</th>
<td>1</td>
</tr>
<tr>
<th>1081.0</th>
<td>1</td>
</tr>
<tr>
<th>31824.0</th>
<td>1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [11]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span style="background-color: #fff2cc;"><span class="c1"># Histograms are better</span>
<span class="o">%</span><span class="k">matplotlib</span> inline
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
<span class="n">num_rows</span> <span class="o">=</span> <span class="mi">2</span>
<span class="n">num_cols</span> <span class="o">=</span> <span class="mi">4</span>
<span class="n">i</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">for</span> <span class="n">row_num</span><span class="p">,</span> <span class="n">df</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="n">pers_inc_df</span><span class="p">,</span> <span class="n">jew_pop_df</span><span class="p">]):</span>
<span class="k">for</span> <span class="n">col_num</span><span class="p">,</span> <span class="n">col_name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="n">n</span><span class="p">[</span><span class="mi">3</span><span class="p">:]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">int_columns</span><span class="p">]):</span>
<span class="n">ax</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="n">num_rows</span><span class="p">,</span> <span class="n">num_cols</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">autoscale_on</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="n">note_text</span> <span class="o">=</span> <span class="n">col_name</span>
<span class="k">if</span> <span class="n">row_num</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
<span class="n">xrot</span> <span class="o">=</span> <span class="mi">45</span>
<span class="n">note_text</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">Jewish Population'</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">xrot</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">note_text</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">Personal Income'</span>
<span class="n">note</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mf">0.65</span><span class="p">,</span> <span class="mf">0.97</span><span class="p">,</span> <span class="n">note_text</span><span class="p">,</span> <span class="n">transform</span><span class="o">=</span><span class="n">ax</span><span class="o">.</span><span class="n">transAxes</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">14</span><span class="p">,</span>
<span class="n">fontweight</span><span class="o">=</span><span class="s1">'normal'</span><span class="p">,</span> <span class="n">va</span><span class="o">=</span><span class="s1">'top'</span><span class="p">,</span> <span class="n">ha</span><span class="o">=</span><span class="s1">'center'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=.</span><span class="mi">6</span><span class="p">)</span>
<span class="n">histogram</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">col_name</span><span class="p">]</span><span class="o">.</span><span class="n">hist</span><span class="p">(</span><span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">grid</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">bins</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">xrot</span><span class="o">=</span><span class="n">xrot</span><span class="p">)</span></span>
</pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxx85iJG1-HPsXocz1rokLOUiIV7EQYVXxBIRChWnOP7EXUtNWCP5I3_OCTgwaByPbK1VVpwhCiqL6rFBC1MzZ9UmCFVpEI4M0h0HsuW-BIkLdgHuLFjTllxOIPXMv-YuApVLmeQ/s1600/jew_pop_hist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="335" data-original-width="874" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxx85iJG1-HPsXocz1rokLOUiIV7EQYVXxBIRChWnOP7EXUtNWCP5I3_OCTgwaByPbK1VVpwhCiqL6rFBC1MzZ9UmCFVpEI4M0h0HsuW-BIkLdgHuLFjTllxOIPXMv-YuApVLmeQ/s640/jew_pop_hist.png" width="640" /></a></div>
<pre><span style="background-color: #fff2cc;"><span class="p">
</span></span></pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2oAAAFPCAYAAAA81T2nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VOXd//H3NwkEJAkh7AExRFAIqJEnRRBqY7FUZBOx
gogPyFPRLkKrz2Wp3bS/51d9aqlrL3/F3SKbCFVRK6jFKlYggKjsiyDQQMIakDVw//6YyTSBECaZ
7WTm87quXMycOTPne2bmw5n7nPvcx5xziIiIiIiIiHckxboAERERERERqUoNNREREREREY9RQ01E
RERERMRj1FATERERERHxGDXUREREREREPEYNNREREREREY9RQ01ERERERMRj1FATERERERHxGDXU
REREREREPCYlmgtr0aKFy8nJieYiRSJu2bJlu51zLWNdRwXlTOKR13IGyprEJ69lTTmTeBRszqLa
UMvJyaGoqCiaixSJODPbGusaKlPOJB55LWegrEl88lrWlDOJR8HmTF0fRUREREREPEYNNRERERER
EY9RQ01ERERERMRjonqOmnjThg0bmD9/Pl999RX79+9nzJgxXHnllYHHy8rKmDNnDqtXr+bw4cNc
dNFFjBw5klatWgXmKS8vZ/bs2SxZsoQTJ07QpUsXRo0aRbNmzQLzHD58mBkzZrBy5UoALrvsMkaO
HMl5550XvZUViZFw5KyCc44nnniCVatWcccdd9CjRw8A9uzZw5tvvsm6des4cOAATZs2paCggEGD
BtGgQYOoratILIWatT179nDfffdV+9rDhw+nf//+gLZpktjefvttVqxYwa5du0hJSSE3N5dhw4aR
nZ0dmMc5x7x58/jwww85fPgwHTt25Oabb64yz4cffsiSJUvYtm0bR44c4Xe/+x3NmzevsqxEzpoa
aqfJmfRmyK+x5aGBYagkeo4dO0a7du3o3bs3zz33XJXHnHM89dRTmBk//OEPady4MQsWLOCRRx7h
/vvvJzU1FYCZM2eycuVKbr/9dpo0acIrr7zCk08+yS9+8QuSknwHbp955hn27t3LxIkTAXjppZd4
/vnn+dGPfhTdFZaQJWJOQhWOnFVYsGABZnbGMnbu3MmpU6cYNWoUrVu3pri4mKlTp/L1118zevTo
iK6fhJ9yVjehZq1Zs2Y8/PDDVZ63YsUKpk+fHtgpAtqmxZNQs5aIOVu/fj2FhYXk5OTgnOP1118P
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
z549ueGGG0hJ8X2lJk+eTJs2bUhJSeGTTz4BoG/fvtxwww34BhKF++67j8LCQvr37x9Y7uTJk8nO
zubmm2+utq7Fixfz3nvvsXPnTho2bEjnzp0ZMWIEmZmZ7NmzJ3CR03vuuQcgcIHT0/dUlZeXM2fO
HJYsWcKRI0c4//zzufHGG+nUqRPw770rP/3pT5k7dy47duwgOzub0aNH68LtHqWcKWcSecqZcibR
oawpa6Bz1CLuww8/ZO7cuQwZMoQHHniA733ve7zzzjuBK7pffPHFbNy4kVOnTgG+DzktLY3169cD
cPz4cbZu3cpFF11U7etPmzaN48ePc88993D//fczYsQIzjvvvCrz/PWvf+Xb3/42v/71r7ngggt4
+umnOXbsWK3WIyUlhfLycgD279/P448/TocOHfjlL3/Jf/7nf7J06VLmzp1b5TmLFy/GOcfPfvYz
brnlFv7xj3/w3nvv1Wq5pysvL2fIkCH8+te/5sc//jGHDh3imWeeAaBZs2bceeedANx///08/PDD
jBgxotrXefXVV1m6dCljxozhl7/8Je3atePxxx/nwIEDVeabO3cuN9xwA7/85S9p0qQJzz77bMwP
g8uZlDPlTCJPOVPOJDqUNWWtghpqEfbmm28yfPhwevToQYsWLbj00ku59tpr+eCDDwDo1KkTJ06c
YMuWLYAvbP3792fdunUAbNq0iaSkJHJycqp9/T179tCpUyfat29PixYt6NatG926dasyzzXXXMOl
l15Kq1atGDZsGF9//TXbtm0Leh22bNnCkiVLAntSFi5cSGZmJqNGjaJt27ZceumlDBs2jIULF3L8
+PHA85o2bcqIESNo06YNBQUFfPe732XBggVBL7c6ffr0oXv37rRo0YKcnBxuueUWNmzYwL59+0hK
SqJJkyYApKenk5GRUe1h62PHjvHBBx8wfPhwLrnkEtq2bcstt9xCenp64D/BCkOGDOHiiy+mTZs2
DBo0iJ07d7J///6Q1kHCTzlTziTylDPlTKJDWVPWKqjrYwQdPHiQffv2MXXqVKZNmxaYfvLkycDt
1NRULrjgAtatW0daWhpHjhyhsLCQN954gwMHDrB+/Xpyc3MDh4VP169fP6ZOncqqVavo0qUL+fn5
XHDBBVXmad++feB206ZNA7XVZNWqVUyYMIGTJ09y8uRJ8vPzGTlyJAA7d+6kY8eOgcPQ4PtPo7y8
nJKSksDycnNzq8yTm5vLa6+9xtGjR2nUqFGNyz+br776innz5rFt2za+/vrrwPS9e/fSrFmzoF6j
tLSUkydPcuGFFwamJSUlceGFF1JcXFxl3rO9d8EuSyJPOVPOJPKUM+VMokNZU9YqU0MtgioOc44e
PZrc3NyzznfRRRexbt060tPT6dSpE6mpqXTs2JF169axbt06unfvftbn9unTh7y8PL744gvWrFnD
73//e6699loGDx4cmCc5OTlwu+LLf65DsJ07d2b06NEkJyeTmZlZ5TVqUjlcdZm38n9Epzt27BiP
PfZY4GTV9PR0Dh06xMMPP1zj80JRl/dOoks5q/28ypnUlnJW+3mVM6kLZa3288Zz1tT1MYIyMjLI
zMyktLSUVq1anfFX4eKLL2bTpk2sWbOGiy++GPAF8PPPP6+xj3GFZs2a8c1vfpPx48czZMgQPvzw
w5Brb9iwIa1ataJ58+ZnBK1NmzZ8+eWXVb50GzduJCUlhZYtWwamnT7P5s2byczMDOwRSUtLq9Kv
98SJE+zcufOsNe3cuZNDhw5x/fXX07lzZ9q0aXPG3p2KWiv6bVenZcuWpKSksGnTpsC0U6dOsWnT
Jtq2bXvW54k3KWfKmUSecqacSXQoa8paZWqoRdjgwYN55513ePfdd9m1axf/+te/+OSTT3j77bcD
81Qc+l2+fHkgbBdffDFFRUU19jEGmDlzJqtWrWL37t1s27aNL774IuL/ORcWFrJ//36mTZtGcXEx
n3/+OXPnzqWwsJCGDRsG5tu/fz+zZs1i165dLF++nPnz59OvX7/A4126dGHx4sWsX7+ef/3rX7z4
4os17t3IysoiJSWFv//97+zevZvPP/+c1157rco8zZs3x8z4/PPPOXjwYLUnvqampvKtb32LV199
lS+++ILi4mKmTZvGwYMHKSwsDP0NkqhTzpQziTzlTDmT6FDWlLUK6voYAc45kpJ8beC+ffuSmprK
O++8w9y5c2nYsCFt27bl6quvDsxf0dd4586dnH/++QB07NiRpKSkGvsYVyxrxowZ7N27l0aNGtGl
Sxe+973vRXT9MjMzmTBhArNnz+Z//ud/AkOsDhs2rMp8V1xxBadOneLBBx/EzOjTpw/XXHNN4PEB
AwawZ88e/vSnP9GoUSMGDBhwxsg5laWnp3Pbbbcxd+5cFi5cSPv27fne974XGG62orbBgwfz17/+
lb/85S/06tWLsWPHnvFaN9xwA+C7QGPFEKsTJkwI9CUW71POfJQziSTlzEc5k0hT1nyUtaosmv2T
CwoKXFFR0Vkfz5n0ZsjL2PLQwJBfI1SPPvooLVu25JZbbol1KTFzrmtaxBMzW+acK4h1HRXOlTMI
PWvKmTcoZ7EV6W2acuYNiZQz8F7W9NsxcSRS1oLN2Tm7PprZ+Wb2dzNbbWarzGyif3qWmS0wsw3+
fxN+2KBDhw6xcuVKNmzYQF5eXqzLEYlLyplI5ClnItGhrElNgun6WA7c45xbbmbpwDIzWwCMBd5z
zj1kZpOAScDPIleq902ZMoWSkhL69+9Pfn5+rMsRiUvKmUjkKWci0aGsSU3O2VBzzhUDxf7bB81s
DdAOGAoU+md7EVhIgjfU7r777liX4Bn33HNPrEuQOKWc/ZtyJpGinP2bciaRpKz9m7J2plqN+mhm
OcDlwGKgtb8RB7ATaB3WykRERERERBJU0A01M0sDXgV+4pwrq/yY841IUu2oJGY23syKzKyotLQ0
pGJFREREREQSQVANNTNrgK+R9rJzbo5/8i4za+t/vC1QUt1znXNTnHMFzrmCyhe0ExERERERkeoF
M+qjAc8Ca5xzf6z00OvAGP/tMcBrpz9XRIKj0VVFREREpLJgjqj1AW4Fvm1mn/r/rgMeAr5jZhuA
a/z3RaRuKkZXzQN6AT8yszx8o6m+55zrDLznvy8iIiIicS6YUR8/AuwsD/cLbzkiiUmjq4qIiIhI
ZbUa9VFEIk+jq4qIiIiIGmoiHqLRVUVEREQE1FAT8QyNrioiIiIiFdRQE/EAja4qEh0aYVVEROoL
NdREvEGjq4pEh0ZYFRGReuGcoz6KSORpdFWR6NAIqyKRZ2bnAy/hGwDLAVOcc4+ZWRYwE8gBtgA3
Oef2xapOEa/TETUREUlIdRlhVQP3iARFR65FwkANNRERSTh1HWFVA/eInJtzrtg5t9x/+yBQ+cj1
i/7ZXgSuj02FIvWDGmoiIpJQQhlhVURqR9cGFak7NdRERCRhaIRVkejRtUFFQqOGmoiIJBKNsCoS
Bbo2qEjoNOqjiIgkDI2wKhJ5QRy5fggduRY5JzXURERERCScKo5cf25mn/qn3YevgTbLzP4L2Arc
FKP6ROqFczbUzOw5YBBQ4pzr7p92P3A7UNFx+D7n3FuRKlJERERE6gcduRYJj2DOUXsBuLaa6Y84
5/L9f2qkiYiIiIiIhMk5G2rOuX8Ae6NQi4iIiIiIiBDaqI93mdlnZvacmTULW0UiIiIiIiIJrq4N
taeAXCAfKAYmn21GXQtDRERERESkdurUUHPO7XLOnXTOnQKeBnrWMK+uhSEiIiIiIlILdWqoVVys
0G8Y8EV4yhEREREREZFghuefDhQCLcxsO/AboNDM8gEHbAHuiGCNIiIiIiIiCeWcDTXn3M3VTH42
ArWIiIiIiIgIoY36KCIiIiIiIhGghpqIiIiIiIjHqKEmIiIiIiLiMWqoiYiIiIiIeIwaaiIiIiIi
Ih6jhpqIiIiIiIjHqKEmIiIiIiLiMWqoiYiIiIiIeIwaaiIiIiIiIh6jhpqIiIiIiIjHqKEmIiIi
IiLiMWqoiYiIiIiIeIwaaiIiIiIiIh5zzoaamT1nZiVm9kWlaVlmtsDMNvj/bRbZMkVERERERBJH
MEfUXgCuPW3aJOA951xn4D3/fREREREREQmDczbUnHP/APaeNnko8KL/9ovA9WGuS0REREREJGHV
9Ry11s65Yv/tnUDrMNUjkrDUzVhEREREKoQ8mIhzzgHubI+b2XgzKzKzotLS0lAXJxLPXkDdjEVE
RESEujfUdplZWwD/vyVnm9E5N8U5V+CcK2jZsmUdFycS/9TNWEREREQq1LWh9jowxn97DPBaeMoR
kdOom7FIGKmLsYiI1BfBDM8/HfgncLGZbTez/wIeAr5jZhuAa/z3RSSCaupmrC7GIkF7AXUxFoko
7RARCY9gRn282TnX1jnXwDnX3jn3rHNuj3Oun3Ous3PuGufc6d21RCQ8gupmrC7GIsFRF2ORqHgB
7RARCVnIg4mISESpm7FI5AXdxVhHr0XOTTtERMJDDTURj1A3Y5HYO9dIxjp6LVJn2iEiUkspsS5A
RHycczef5aF+US1EJPHsMrO2zrnic41kLCKhc845M6txhwgwBaCgoOCs84nEOx1RExGRRKcuxiKR
F/SlnUTERw01ERFJGOpiLBIz2iEiUkvq+igiIglDXYxFIs+/Q6QQaGFm24Hf4NsBMsu/c2QrcFPs
KhSpH9RQExEREZGw0Q4RkfBQ10cRERERERGPUUNNRERERETEY9RQExERERER8Rg11ERERERERDxG
DTURERERERGPUUNNRERERETEY0Iant/MtgAHgZNAuXOuIBxFiYiIiIiIJLJwXEftaufc7jC8joiI
iIiIiKCujyIiIiIiIp4TakPNAe+a2TIzG1/dDGY23syKzKyotLQ0xMWJiIiIiIjEv1Aban2dc/nA
ABUzHbwAABWySURBVOBHZnbV6TM456Y45wqccwUtW7YMcXEiIiIiIiLxL6SGmnNuh//fEmAu0DMc
RYmIiIiI/P/2zj361qnc45+v7bKxkcIut/YpUUoGohNbUUnlkpJrKiei4ozEOfZWGZ2GOG7VQYjS
ESrJJUTpjJJKRyESjRyF2i7paHSh45rn/DHfvX/LbmOv32+t9cz1vt/PGHP4vWst6/k+cz7Pmnu+
77wY02UmPVCTtLykFeb/DbwBuHlQwowxxhhjjDGmq0xl18eZwEWS5n/PlyPiWwNRZYwxxhhjjDEd
ZtIDtYi4HdhwgFqMMcYYY4wxxuDt+Y0xxhhjjDGmOjxQM8YYY4wxxpjK8EDNGGOMMcYYYyrDAzVj
jDHGGGOMqQwP1IwxxhhjjDGmMjxQM8YYY4wxxpjK8EDNGGOMMcYYYypjKgdeV8msuZdN6f+/8+jt
BqTEGGOMMcYYYyZH6wZqxpjhM9UbIuCbIsYYY4wxT4enPhpjjDHGGGNMZXigZowxxhhjjDGV4YGa
McYYY4wxxlTGlNaoSXojcAIwDfh8RBw9EFVjTg0bmtSgYRAMYi3UVKmhLpxr5qmoYb1gDRoGgfNs
0bSlP2kDbWgL55mpnZr6tEk/UZM0DTgZeBOwPrCHpPUHosoYswDnmjHDx3lmzPBxnhnTH1OZ+rgZ
8KuIuD0iHgXOBd4yGFnGmB6ca8YMH+eZMcPHeWZMH0xloLYGMK/n+q7mNWPMYHGuGTN8nGfGDB/n
mTF9MPRz1CTtB+zXXD4o6dan+fgqwP3D1vR06JihffVi+zZEDYtNnxrS222Y6Jhn9O/5o9LyVPSZ
Z1BBmz1NjKVrexpaqW0EvznPqG0xNKTnGYy2T5tiu2TF6t/ZHWGfVo3PtdpezLZIz7VR/9txTHOt
y7az7Y+sT5vKQO1uYK2e6zWb155ERJwOnL44Xyjpuoh4xRQ0VYt9G18q8O8Zc62fPIMqfHpKrG1y
WNuUaVWflmXbPnfH9iRpVZ5l2++q7Wz7o7Q9lamP1wIvkvQPkpYGdgcuGYwsY0wPzjVjho/zzJjh
4zwzpg8m/UQtIh6XdCBwBWWL1S9ExC0DU2aMAZxrxowC55kxw8d5Zkx/TGmNWkRcDlw+IC3Qx9St
McS+jS/p/nUs16xtcljbFGlZnmXZts/dsT0pWpZn2fa7ajvb/shsKyJGZcsYY4wxxhhjzGIwlTVq
xhhjjDHGGGOGgAdqxhhjjDHGGFMZHqgZY4wxxhhjTGWkD9QkrSfpVZKWkjQtW08WkmZKWuuZPzm+
SFK2hmFRu29ty7Pa69t0k3HLM+eRGVeca6YrTGnXx6ki6W3AUZTDDu8GrpN0ZkT8JVPXqJH0dmAu
8ISkK4FvRsT3clUNhZWAP0lSRISkJSLiiWxRA6Ja31qaZzXX92uB1wPXAXdExA3JkhZgbcNjTPMs
JY8y2zrLdhd9HhbOtf7oauxlx/2g7Kc9UZO0FLAbsE9EvA64mHJa/RxJK2bpGjWSng38M7APsC3w
MLCDpF1ThQ0YSW8GLpR0PPCvkpaLiCckpT/VnSo1+9bGPKu8vl8LnAH8FdgU+JSknXNVFaxteIxj
nmXlUWZbZ9nuos/DwrnWt+1Oxl523A/SfuoTNWBF4EXA1cBFwP3AdsCekk6LbpwdsASwHEBE/FHS
p4F3AJtJujsirk5VNwAkrQ98FtiX4uvWwEWSdo6IB+ffYUoVOUnGxLfW5NkY1PcsygGuR0paHtgK
OEYSEXFBoi6wtmEzNnmWnEezyGvrLNtZdrNtDwvn2uIzi27GXqbtgdpPuwMdEY8BnwLeJmnL5hHw
D4EbgdlZukZNRNwPfA14p6S1IuJPwJeAx4EdUsUNjr8Cl0XEt4FvAIcC/wN8TdKyNf2oToKqfWth
nlVd35S83QQgIv4aEZcBc4D9Jb0sVZm1DY0xzLPMPMps6yzbXfR5KDjX+qarsZcd9wOznz1V6AfA
tymDlFdHxN8i4svA6sCGudKGh6RtJR0q6QBJKwDnAgHsLmntZrD2SWALSaulih0MSwCzmztIj0fE
I5Qfq9sod5nGeaHtOPjWpjyrrr5VNgJaGyAizgJmSPpiz0d+CNwCrDFKXdY2csYpz0aaR5ltnWW7
iz6PEOfa09DV2MuO+2HZTx2oRcTDlKdHPwMOk7SfpHcDM4F7M7UNC0mvBk6mjLZfDlxDGaRdAqxG
mb+8CeUx6ZLAQzlKp4akjSRtL2lWRNwBHAgcJ2n75iOPUHx/HkAFT0IWm3HzbdzzrOb6VtkI6DLg
fEmfkrQR8DZgBUlnN3r+DAh4xah0WdvoqT3PsvIos62zbHfR51HiXHta252Mvey4H6r9iEgvwNKU
ebvnAmcCG2VrGqKvhwDH9lwfQRllr0FJ2oOBqyh3izbO1jtJH7cD7qPMy76+8WkNymYpdwK7Np97
L2UqwLKAsnW33bdxzLOa6xt4dpOrGwIrAx8HPg3sCMwA/ouyfuIkyt3T9UZYb9aWF7PV5VlWHmW2
dZbtLvqcGNfOtUrav6u2R2FfjZEqUDkLI6KSbbaHgaRtKI330SijayR9AtgJeFVEPCBpJeCxiPi/
RKmTomnDY4HvRsRlkl5P2Z70UeBUygLg44GbgVcDO0XEzVl6+6Etvo1LntVe35JWAb4J7BsRP5P0
LMpGQOsAn4+IWyTtBCwD3BgRt1pb3doGSS15lplHmW2dZbuLPmfjXFtgv5Oxlx33w7Zf1UCtragc
ZP1glF0dVwW+DJwfEaf1fOZzwFURcU6WzkEh6URgRkS8p7neFHg7cFdEnCRpDeAxYFpEpE9T6Ic2
+1Yjtde3pEMpU5ZPiIh5zQ/0XGCpiDhk1HqszSyKzDzKbOss21302RSy+6yuxl523A/TfvZmIq2n
GUWfB3xV0hGULTvfBxwgaf9mJA7wZ+BZOSqnjqTlpAULYo8DHpG0O0BEXAt8l7LbzZoRcXdE/H5c
BjJt9q1Gaq5vLf5GQJtJmjkKTdZmFkVWHmW2dZbtLvpsJsjss7oae9lxP0r7HqgNkWYQdgRwEGVt
2q+Bj1EOZ9wJeAtwpKQzKFvxfzdJ6pSQtCNlrvUJkuZExDzgp5QA3QMgIq4AbgBemKe0f9rsW43U
XN/qfyOgkU1dtjbTS1YeZbZ1lu0u+mwmyOyzuhp72XE/cvuRvPCyzYXyhOx8YHpzvRJlgHYpsDHw
HGBz4P3Ai7L1TtLHl1G2G30T5fT1XwJHUhZU7gOcDnwF+ABlN6a1sjXbtzpL7fVNxRsBWZtLT/2m
5VFmW2fZ7qLPLgvqO7XP6mrsZcf9qO2nB3rbC3A2cEHP9crAfsDh2doG5N+LgQsp83ABVqSccXJU
c70KcBRlF5wNsvXat3pL7fUNbEPZtWmlntc+QVkYvkJzvRKwnLWNh7Y2lsw8ymzrLNtd9NllQV2n
9lldjb3suB+1/dQgb2NpGvAA4KCexjoNOLHnMxtRdoiZka13AP6uDpwFbNrz2grArcDBPa8tka3V
vtVdaqxvyjTllZu/V6Vss7v/Qp/5HLBXQn1Zm8ui6n6keZTZ1lm2u+izyyLbYuR9VldjLzvuM+0v
iRkYkmZTdnScC+wp6YXAVylzWQ+U9HVgb+CllLMzlkqSOiUkbUwJ2hsi4reSrgY+KeldEXFnlCMG
9gPeOP//icq3gp9Pm32rkZrrW2UjoDnAA5J+TJl//j7gombd+AURcT8JGwFZm+klK48y2zrLdhd9
NhNk9lldjb3suE+334wCzQCQdDDlsefHJU0HDgemAxcANwKnANOAl1DOW7gxTewkaRbOHk/x52Hg
f4HDgA8C2wMfphzy+B7KwY87RcRjOWr7o82+1UjN9d1sBHQlsC9lIfAmlC2Wjwd+C3wGmEdZKDwb
eGtE/MLa6tXWVrLyKLOts2x30WczQWaf1dXYy477bPuApz4OslCmPX4LWLe5XoYyP/nkns9MB5bP
1joFH08Fdmz+3rjx72xgacri2TMoOyDdALw8W699q7fUXN9UvBGQtbksVOcpeZTZ1lm2u+izy5Pa
IK3P6mrsZcd9tv2I8BO1qaJymPXvKdMYH6GMsm8CLo+Ie5sna98HTouIM/KUTh1JSwCfBW6PiKOb
19aiPAKeFhFzJT2HsqD2kYi4J09tf7TZtxoZh/qWdDZlMfDOzfXKwC7AzIg4YtR6rM0sTHYeZbZ1
lu0u+mzyc62x18nYy477bPs+R20KSNqOsinIScDngedS7q7MBraT9OKIeJgy8h7bKXKSlpa0TJR5
1qcAu0natXn7Lop/a0uaGRF/iIg7xmUg02bfaqTm+pa0jcrhlQc1Lx0I3C/pRICI+CNwLbC5pBmj
0GRtZlFk5VFmW2fZ7qLPZoLMPqursZcd99n2F8YDtUmgwlrA0ZQGPJxywOF/U56ufYayDu00SSc0
n7k2Se6UkLQzZYOUS5v52bcCHwHeJWm3KFxD2eno5YlS+6bNvtVIzfWtiY2AHgZ2kXQSsAFlI6Dp
kr4u6VkkbARkbaaXrDzKbOss21302UyQ2Wd1Nfay4z7b/iI1eerj5JF0OvBvwL0RESqbiXwQ2CIi
7pK0JbAe8L2I+FWi1EkhaV3gYsrC2FnAHpQtSa+ibEt7LHAe8CCwP/CGiJiXIrZP2uxbjdRe36p4
IyBrM/PJzKPMts6y3UWfTSG7z+pq7GXHfbb9RRJDXHjZxgLsAHyIMoo+F/jwQu/PBf4TWDZb6wB8
fSVlkDn/enPgdMoTwmmUuwzHUNblbZitt0/f/rGtvtVYao8lKt4IyNpceuoyLY8y2zrLdhd9dllQ
t6l9VldjLzvus+0vUtOoDLWhAG+gjKi3ba5nUbbnnNPzmVmUA66VrXdAPp8F7Aos2VxvTlmX9+Zs
bZP0Z7nmv0tQBtSt8a32UlssUc7CWQaYQbnxcgJl567nNe9PB34C7GNt46GtC2WUeZTZ1lm2u+iz
y1O2x0j7rK7GXnbcZ9t/puI1aouJpM0pG4XsFxFXqJytcBdlm86DJB3cPCrfinLOwlgeNinplZJe
I2mz5qXvUX6cZktaKiJ+RHmSuLeksTowXdK2wAGSlm1euh7YjBb4ViM1x5Iq3gjI2kwvWXmU2dZZ
trvos5kgs8/qauxlx322/cUiY3Q4joWy1uwu4C2UcxOupMxX/g/gCOBLlDM2rgU2yNY7SR/fBNxG
ebx/MXBi8/qcxs93NtfvotxpmpatuU/ffgZs1fPaDOBjwKfH2bcaS62xBIhy9+znlJsqM4FDm9xe
m3KT5ZOUdQgnAPcBL7G2erW1uWTkUWZbZ9nuos8uf9cOKX1WV2MvO+6z7felNcPouBZgQ+B24B7g
vZTpc/tRdoNZq/nMytk6J+nbNMqdovk/RisC1wBfaK73As6h3GH6ObBRtuY+fFsfuIPyNBTKQHt9
YNa4+1ZjqT2WGn2nA2swsaHSwcBvgDWb6y2BfYF1ErR9tlJtotxxXL02bW0smXmUmSNZOZAd3019
O7cSSnaf1cV8a743vU8Zh7zzro99Iml9YOuIOLnntSuAwyLip5IUY1qpkuYA90TE2T2v/Qj4cUR8
qLneALgvIn6fJLNvJG1CmW/8U8rdkn8B/gCsClwbEXOaz42db7VSYyxJWgdYmXKz5RTg+og4tuf9
uZQn5x+IiIdGoanH9kuB1YA7Kcd+3BDNoaoVaJsNvCAizpJ0FnBb9Bzymamt7Yw6jzJzJCsHMuNb
0g7AOpQjfc4GboqIo0Zh2zyZjD6ri/nWfHdqnzJ2eZc1QmxLAXamrHWama1lkvrX7fl7L+BmYO2e
11YBLgRelq11ir5tQZnieDvwPiYee38HeHW21jaUmmMJ2B64iTKN4TPAjpQO6rCez8wiYSMgypSb
m4BLKFNqtqTc0ZubqY0yY2AGcAvwS2AXytPoO4CPZtdbW0tWHmXmSEYOZMc3HdycrLaS2Wd1Ld+a
70zvU8Yx77xhwiSRJOCfKE9ndomI+5Il9Y2k7YHzJF0SEbtHxDmS1gOulrRFRPw2Iu6X9CiwXLLc
vliEb1dLegz4fkRc1HxsnqR5wKN5SttBzbHUbAR0HLBnRNygcv7hZpRF4tdImj/tZTYTGwH9cUTa
tqLMf98rIn4i6VLK097XAj9o6usbjdaRaouIJ4AHJX0R+BvwVsoNjnWAOyU9AFxOuQkyUm1tJSuP
MnMkKwcy41sTm5Pt0PjcuznZZU1flZL3XSGzz+pivkF+nzKueeepj5OkGai9BvhdRPwyW0+/SFqe
coDfhZSgXCYi9mjeO4Jyd+cUyh2ldwDbRcQdSXL7YhG+LR0RezbvLRvNo2xJO1POvXt7RPwmS++4
U3ssNT/O60bEmc31qsCZEbGdpBcAHwUeppybs3dE/HyE2l4CPDcirpT0XOAGyhTdn1DWDrwQ+Avw
CuA9o9TWo/FgyuLqSylPo6+h/KPiIeAJynlCKdraRGYeZeZIdg5kxHczIPgOcADwQ+B84HHKk4YH
gBeQnPdtJrvP6nK+NRpS+pSxzbvsR3oueYWygHIG5cfofOArPe+9FXg/ZaHnOE57XNi3Ly30/rsp
O3SOnW81lppjidL5rNjz95qUzmn+GSnPB5YEVkquw4/QTP+gLF4+lYkNb9I2KaJ03HObvw+hbFF8
RM/7Y7mBUo0lK49qyZGMHMiKb1q8Odk4lMw+q8v51nx3Wp8yjnnnJ2oGAEnPoex+82hE7NEsNH0w
WvCkqce3hyJir+aO0tbAtyLi9lx17aPmWFI5+2Y6cHFEvE7SXpT5+QdFDYuGe5D0TeDwiLhOytuk
SNLqwJHAjyjbF58DbApcFhGnZmprM1l5VFOOjCIHMuNbLd6cbJzI7LO6lm+NndQ+ZdzyzmvUDAAR
8QdJ+wPHSbqVcpdnq1xVg2ERvgl4TUTcmyytldQcSxHxOGWO/DxJ/05ZWLx39iBt4Y6hmZa7GmX+
PJmdRkTco7KW83DggIi4VNLWwK+ytbWZrDzKypGsHMiM74j4BfCL+deNz6sAdw/btpkgs8/qWr41
353ap4xb3nmgZhYQZeHsTZQdgbaJiLuyNQ2KRfjmQdoQqTWWmrWlS1HuWC4FvC4ibstVNdExSFqG
svvYwcBuEfG7VGETfI5yx/f65vqqKAvDzRDJyKOsHEnOgdT4bup8rDcnG3ey+qyO5htU0KeMS955
6qNZgKSVgfOAQyLipmw9g6TNvtVI7fUtaW/KGXq3ZGvpRdJSwDbAryPi1mw9C1PblJC2k5lHWTmS
mQNZ8d38g3FsNydrA9l9VhfzrbGfOa1/LPLOAzXzJCRNj4iHs3UMgzb7ViM117cHHGZcyMoj54jp
Gpl9lvPNPBUeqBljjDHGGGNMZSyRLcAYY4wxxhhjzJPxQM0YY4wxxhhjKsMDNWOMMcYYY4ypDA/U
jDHGGGOMMaYyPFAzxhhjjDHGmMrwQM0YY4wxxhhjKuP/AQEkDYpSLcmrAAAAAElFTkSuQmCC
" />
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Summary">
Summary</h2>
In 1900, personal income was less than $10,000 per person everywhere in the select countries. The Jewish population, though mostly close to zero for the select countries, had 6 or so countries where the population was substantial, evenly spread up to a population of 1.5 million in one country (the US). As the years progressed, personal income vastly increased (from $10K to $15K to over $60K to well over $80K) and a large gap started forming between the top country and the rest of the select countries. Similarly, as the years progressed, Jewish population slightly increased (from 1.5M to 4M to 5M) and a large gap started forming as most of the middle values disappeared, leaving most of the Jewish population in one country with a small population in a large number of the select countries.</div>
</div>
</div>
</div>
</div>
dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-23967677982651724032017-09-14T12:52:00.002-04:002017-09-17T08:10:14.742-04:00ASSIGNMENT: Developing a Research Question and Creating Your Personal Code BookIn the Data Management and Visualization course by Wesleyan University, we have been given a selection of data sources and code books to choose from in order to <b>select a research question</b>. I really like the quality of the Mars Crater codebook, and I really don't like the quality of the GapMinder codebook. Also, the GapMinder datasets are very limited and aren't consistently from the same year.<br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><span style="background-color: #fafafa; box-sizing: inherit; color: #373a3c; font-family: "opensans" , "arial" , sans-serif; font-weight: bolder; margin-bottom: 0px;">STEP 1</span><span style="background-color: #fafafa; color: #373a3c; font-family: "opensans" , "arial" , sans-serif;">: Choose a data set that you would like to work with</span></span><br />
<br />
I have created an animated gif of multiple years of three datasets from GapMinder.org using python (based on a <a href="https://demo.bokehplots.com/apps/gapminder" rel="nofollow" target="_blank">post</a> by <a href="https://twitter.com/birdsarah" target="_blank">Sarah Bird</a>), so I'm pretty committed:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJbYxlpw2DGtufMIwBV-n_JGq7fJtkb7cKPrs_7gQCZZKRp5KpIM1ij_o9ZyDwNaPgKWtbe5VuPAyedFpYeTPzbIbK8I-9Mdhn-m_Ww4OGMfpo4j3jv03zcOuHAZhHZWf0II7Rdw/s1600/C9KMQvX+-+Imgur.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="800" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJbYxlpw2DGtufMIwBV-n_JGq7fJtkb7cKPrs_7gQCZZKRp5KpIM1ij_o9ZyDwNaPgKWtbe5VuPAyedFpYeTPzbIbK8I-9Mdhn-m_Ww4OGMfpo4j3jv03zcOuHAZhHZWf0II7Rdw/s400/C9KMQvX+-+Imgur.gif" width="600" /></a></div>
I used Wikipedia and <a href="https://www.cia.gov/library/publications/the-world-factbook/rankorder/rawdata_2127.txt" rel="nofollow" target="_blank">CIA</a> data to extend the population, GDP per capita, income, total fertility, etc., back to 1800 and forward to 2015:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-qfdZfVn_z2TX2xf1TSvAJvqMz6MAEqIy5WCIp1iOQy52PsCCm2UaqWRj3IvK9q2l9fi8wAf-T3uS97Ctlqkc9DLMhkyiYNXylLYwrlh4Qs3NvogjHtzQK_aW149ksXIxREUlHA/s1600/income_vs_fertility_movie.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="800" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-qfdZfVn_z2TX2xf1TSvAJvqMz6MAEqIy5WCIp1iOQy52PsCCm2UaqWRj3IvK9q2l9fi8wAf-T3uS97Ctlqkc9DLMhkyiYNXylLYwrlh4Qs3NvogjHtzQK_aW149ksXIxREUlHA/s400/income_vs_fertility_movie.gif" width="600" /></a></div>
<br />
<span style="font-size: large;"><span style="background-color: #fafafa; box-sizing: inherit; color: #373a3c; font-family: "opensans" , "arial" , sans-serif; font-weight: bolder; margin-bottom: 0px;">STEP 2.</span><span style="background-color: #fafafa; color: #373a3c; font-family: "opensans" , "arial" , sans-serif;"> Identify a specific topic of interest</span></span><br />
<br />
I also got creative with the coloring of the nation bubbles: basically I tried various religion stats from wikipedia. Which brings me to my research question: <b>does a high concentration of Jews in a country correlate with income over time?</b> According to Wikipedia, <br />
<blockquote>
Jewish population centers have shifted tremendously over time, due to the constant streams of Jewish refugees created by expulsions, persecution, and officially sanctioned killing of Jews in various places at various times. In addition, assimilation and forced conversions have also impacted Jewish population sizes throughout Jewish history.</blockquote>
But the data is scarce: Wikipedia has <a href="https://en.wikipedia.org/wiki/Historical_Jewish_population_comparisons" rel="nofollow" target="_blank">country data</a> for 1900, 1942, 1970, and 2010. Again according to Wikipedia, <br />
<blockquote>
The 20th century saw a large shift in Jewish populations, as a result of large-scale migration to the Americas and to Israel due to pogroms in the Russian Empire followed by the Holocaust. The independence of Israel sparked mass emigrations and expulsions of Jews from the Arab world.</blockquote>
So, there is a lot going on here. Data before that is <a href="http://www.jewishencyclopedia.com/articles/13992-statistics" rel="nofollow" target="_blank">very scarce</a>.<br />
<br />
So I think what I'm going to do is use the full columns and rows from the <a href="https://en.wikipedia.org/wiki/Historical_Jewish_population_comparisons" rel="nofollow" target="_blank">Historical Jewish population comparisons</a> dataset in Wikipedia and match it up with the GapMinder data for income, year, and country.<br />
<br />
<span style="font-size: large;"><span style="background-color: #fafafa; box-sizing: inherit; color: #373a3c; font-family: "opensans" , "arial" , sans-serif; font-weight: bolder; margin-bottom: 0px;">STEP 3.</span><span style="background-color: #fafafa; color: #373a3c; font-family: "opensans" , "arial" , sans-serif;"> Prepare a codebook of your own</span></span><br />
<br />
As far as the codebook, maybe I should just generally describe income, population, and country in a table:
<br />
<table>
<tbody>
<tr>
<th>Variable Name</th><th>Description of Indicator</th><th>Main Source</th></tr>
<tr><td>Inc1900, Inc1942, Inc1970, Inc2010</td><td>Something like GDP divided by population for each region for each year.</td><td>Various sources from <a href="https://www.gapminder.org/data/" rel="nofollow" target="_blank">GapMinder</a>.</td></tr>
<tr><td>Pop1900</td><td>Jewish population in a particular region for 1900</td><td>Singer, Isidore; et al., eds. (1901–1906). <a href="http://www.jewishencyclopedia.com/articles/13992-statistics" rel="nofollow" target="_blank">"Statistics"</a>. <i>Jewish Encyclopedia</i>. New York: Funk & Wagnalls Company.</td></tr>
<tr><td>Pop1942</td><td>Jewish population in a particular region for 1942</td><td>Taylor, Myron Charles (1942). <a href="http://docs.fdrlibrary.marist.edu/psf/box52/a467cg01.html" target="_blank">"Distribution of the Jews in the World"</a>. <i>Vatican Diplomatic Files</i>. Franklin D. Roosevelt Presidential Library and Museum.</td></tr>
<tr><td>Pop1970</td><td>Jewish population in a particular region for 1970</td><td>Fischer, Shlomo (2011). <a href="http://jppi.org.il/uploads/2010_Annual_Assessment.pdf" rel="nofollow" target="_blank">"Annual Assessment 2010"</a>(PDF). <i>Executive Report No. 7</i>. Jerusalem: <a href="https://www.blogger.com/wiki/The_Jewish_People_Policy_Institute" rel="nofollow" target="_blank" title="The Jewish People Policy Institute">The Jewish People Policy Institute</a>. ISBN 978-9657549025.</td></tr>
<tr><td>Pop2010</td><td>Jewish population in a particular region for 2010</td><td><a href="https://www.blogger.com/wiki/Sergio_DellaPergola" target="_blank" title="Sergio DellaPergola">DellaPergola, Sergio</a> (November 2, 2010). Dashefsky, Arnold; Sheskin, Ira, eds. <a href="http://www.jewishdatabank.org/Reports/World_Jewish_Population_2010.pdf" rel="nofollow" target="_blank">"World Jewish Population, 2010"</a>(PDF). <i>Current Jewish Population Reports</i>. Storrs, Connecticut: North American Jewish Data Bank.</td></tr>
<tr><td>Pct1900</td><td>Percent Jewish population in a particular region for 1900</td><td>Singer, Isidore; et al., eds. (1901–1906). <a href="http://www.jewishencyclopedia.com/articles/13992-statistics" rel="nofollow" target="_blank">"Statistics"</a>. <i>Jewish Encyclopedia</i>. New York: Funk & Wagnalls Company.</td></tr>
<tr><td>Pct1942</td><td>Percent Jewish population in a particular region for 1942</td><td>Taylor, Myron Charles (1942). <a href="http://docs.fdrlibrary.marist.edu/psf/box52/a467cg01.html" rel="nofollow" target="_blank">"Distribution of the Jews in the World"</a>. <i>Vatican Diplomatic Files</i>. Franklin D. Roosevelt Presidential Library and Museum.</td></tr>
<tr><td>Pct1970</td><td>Percent Jewish population in a particular region for 1970</td><td>Fischer, Shlomo (2011). <a href="http://jppi.org.il/uploads/2010_Annual_Assessment.pdf" target="_blank">"Annual Assessment 2010"</a>(PDF). <i>Executive Report No. 7</i>. Jerusalem: <a href="https://www.blogger.com/wiki/The_Jewish_People_Policy_Institute" rel="nofollow" target="_blank" title="The Jewish People Policy Institute">The Jewish People Policy Institute</a>. ISBN 978-9657549025.</td></tr>
<tr><td>Pct2010</td><td>Percent Jewish population in a particular region for 1970</td><td><a href="https://www.blogger.com/wiki/Sergio_DellaPergola" target="_blank" title="Sergio DellaPergola">DellaPergola, Sergio</a> (November 2, 2010). Dashefsky, Arnold; Sheskin, Ira, eds. <a href="http://www.jewishdatabank.org/Reports/World_Jewish_Population_2010.pdf" rel="nofollow" target="_blank">"World Jewish Population, 2010"</a>(PDF). <i>Current Jewish Population Reports</i>. Storrs, Connecticut: North American Jewish Data Bank.</td></tr>
<tr><td>Region</td><td>Names of countries; where they've merged and split over time, it's the superset</td><td>Various sources from <a href="https://www.gapminder.org/data/" rel="nofollow" target="_blank">GapMinder</a>.</td></tr>
</tbody></table>
<br />
<div>
<span style="font-size: large;"><span style="background-color: #fafafa; box-sizing: inherit; color: #373a3c; font-family: "opensans" , "arial" , sans-serif; font-weight: bolder; margin-bottom: 0px;">STEP 4.</span><span style="background-color: #fafafa; color: #373a3c; font-family: "opensans" , "arial" , sans-serif;"> Identify a second topic that you would like to explore in terms of its association with your original topic</span></span></div>
<br />
<br />
If I look at the rows in the Wikipedia table that have a population greater than 800,000 in 1942 or 2010, I notice a few interesting patterns:
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7e7OSB5tFj4seI79mmXSPclqzSwJzWdqCwZ9txM0S6FTn2cgk-T6BgwA_8Kqyj3ZS64HnaDHo_RzPpmTgA6Gml2-rmtunzfNsOdmNbOGlz8fbluGazuY34ahyXjsGulxVRCxpA/s1600/JewishPop800000.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1068" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7e7OSB5tFj4seI79mmXSPclqzSwJzWdqCwZ9txM0S6FTn2cgk-T6BgwA_8Kqyj3ZS64HnaDHo_RzPpmTgA6Gml2-rmtunzfNsOdmNbOGlz8fbluGazuY34ahyXjsGulxVRCxpA/s640/JewishPop800000.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<ul>
<li>The total population of Jews doesn't change that much. This is a good baseline for measuring relative changes, but I should still probably do some simple math (like just use percentages) in order to completely smooth things out.</li>
<li>The regions are going to be hard to map (establish equivalence) to the country categories that GapMinder uses. What exactly maps to "Russian Empire (Europe)"?</li>
<li>There are large gaps in the data. The Israel data doesn't start until 1970, for instance.</li>
</ul>
<br />
Perhaps a simpler topic to explore would be just to look at the latest <a href="https://en.wikipedia.org/wiki/Jewish_population_by_country" rel="nofollow" target="_blank">Jewish population per country</a> data and match that with the same year GapMinder data.<br />
<br />
<span style="font-size: large;"><span style="background-color: #fafafa; box-sizing: inherit; color: #373a3c; font-family: "opensans" , "arial" , sans-serif; font-weight: bolder; margin-bottom: 0px;">STEP 5.</span><span style="background-color: #fafafa; color: #373a3c; font-family: "opensans" , "arial" , sans-serif;"> Add questions/items/variables documenting this second topic to your personal codebook</span></span>
<br />
<ul>
<li>Questions
<ul>
<li>Is "Population per Jewish Person" a better variable than percentage or population?</li>
<li>Are Samaritans considered Jews both by religion and by birth (cf <a href="http://www.jewishencyclopedia.com/articles/13992-statistics" rel="nofollow" target="_blank">"Statistics"</a>)?</li>
<li>What about Jews by religion, but not by birth (<a href="https://en.wikipedia.org/wiki/Beta_Israel" target="_blank">Falashas</a>, <a href="https://en.wikipedia.org/wiki/Karaite_Judaism" target="_blank">Karaites</a>, <a href="https://en.wikipedia.org/wiki/Daggatun" target="_blank">Daggatouns</a>, <a href="https://en.wikipedia.org/wiki/Bene_Israel" target="_blank">Beni-Israel</a>, etc.)?</li>
<li>What about Jews by birth, but not by religion (<a href="https://en.wikipedia.org/wiki/Xueta" target="_blank">Chuetas</a>, etc.)?</li>
<li>Should I go "<a href="http://blog.efpsa.org/2013/07/30/hunting-for-significant-results-dont-do-it/" target="_blank">p hunting</a>" for significant results among the possible variables I can get from GapMinder.org?</li>
</ul>
</li>
<li>Items
<ul>
<li>Neo-marxist oversensitivity to anything that smacks of anti-egalitarianism</li>
<li>Nietzschian philo-Semitistic reductionism to a history merely of suffering</li>
</ul>
</li>
<li>Variables
<ul>
<li>Population per Jewish Person</li>
<li>Core Jewish Population</li>
<li>Enlarged Jewish Population</li>
</ul>
</li>
</ul>
<span style="font-size: large;"><span style="background-color: #fafafa; box-sizing: inherit; color: #373a3c; font-family: "opensans" , "arial" , sans-serif; font-weight: bolder;">STEP 6.</span><span style="background-color: #fafafa; color: #373a3c; font-family: "opensans" , "arial" , sans-serif;"> Perform a literature review to see what research has been previously done on this topic</span></span>
<br />
<ul>
<li>EI Wilder, WH Walters (1998). <a href="http://onlinelibrary.wiley.com/doi/10.1111/j.1475-682X.1998.tb00476.x/full" rel="nofollow" target="_blank">Ethnic and religious components of the Jewish income advantage, 1969 and 1989</a>. Wiley Online Library: Sociological Inquiry.
<blockquote>
Ethnically Jewish households have a considerable income advantage over other non-Hispanic White households.</blockquote>
</li>
<li>P Burstein (2007). <a href="http://journals.sagepub.com/doi/abs/10.1525/sop.2007.50.2.209" rel="nofollow" target="_blank">Jewish educational and economic success in the United States: A search for explanations</a>. journals.sagepub.com: Sociological Perspectives.<blockquote>
The paper presents four potential explanations (human capital, Jewish particularity, marginality, and social capital) as to why Jews do well.</blockquote>
</li>
</ul>
<br />
<span style="font-size: large;"><span style="background-color: #fafafa; box-sizing: inherit; color: #373a3c; font-family: "opensans" , "arial" , sans-serif; font-weight: bolder; margin-bottom: 0px;">STEP 7.</span><span style="background-color: #fafafa; color: #373a3c; font-family: "opensans" , "arial" , sans-serif;"> Based on your literature review, develop a hypothesis about what you believe the association might be between these topics</span></span>
<br />
Though that I haven't established an association between the variables income and population yet, I can definitely hypothesize that the association between my two topics is "income" and "Jews":<br />
<ol>
<li><b>H<sub>1</sub></b>: There exists an association between personal income rise for a country and the rise in the population of Jews in that country.</li>
<li><b>H<sub>2</sub></b>: There exists an association between the personal income of a country in 2010 and the population per Jewish person in that country in 2010.</li>
</ol>
dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-9150934271653437402010-12-06T10:03:00.001-05:002017-09-14T09:01:14.198-04:00Property Rights and PollutionBack in the day, you could sue a railroad for soiling the laundry you hung out to dry. This extension of property rights was cut short, though, by the advent of something called <strong>Industrial Policy</strong> that we <em>had to have</em> to compete with France and Britain.<br />
<br />
We need to back out of that. Trying to centrally manage the optimal tax strategy is never going to be as environmentally responsive as <strong>extending private property rights</strong> into our rivers, oceans, and air. Imagine being able to sue the farmers for their phosphate and pesticide pollution of your mile of river. Imagine being able to sue oil companies for polluting your cubic mile of ocean, while protecting it from "drive by" fishing. Imagine evil corporations having to <strong>buy easements</strong> from you in order to dump their pollution into your air or water or food.<br />
<br />
Creating laws always creates <strong>unintended consequences</strong> and groups with a special interests in maintaining them. Look at how entrenched ethanol subsidies are, even though we now know what havoc they reek on the environment and economy. Naturally extending property rights into the Commons will marshal all kinds of motives, not just the noble ones, towards the goal of greater <strong>stewardship of the environment</strong>.dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-61844463580014197762010-08-03T12:22:00.000-04:002010-08-03T12:22:45.399-04:00Statistics Competition: Chess ratings - can we do better than Elo?<a href="http://kaggle.com/chess">Statistics Competition: Chess ratings - can we do better than Elo?</a>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-64107381017546588422010-04-26T11:35:00.000-04:002010-04-26T11:35:37.489-04:00Chinese report documents human rights disaster in the United States : Indybay<blockquote>The United States is the only country in the world that claims to be superior in every aspect, especially in human rights, and that lie is again exposed, this time by a report from China on the United States, all from US sources. The US is in fact a backward cesspool, the most backward country in the industrialized world.</blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-51044300246983229672010-04-18T21:13:00.000-04:002010-04-18T21:13:15.682-04:00The Cultural and Spiritual Legacy of Fiat Inflation - Jörg Guido Hülsmann - Mises Institute<blockquote>These effects are 'especially strong among the youth. They learn to live in the present and scorn those who try to teach them ‘old-fashioned morality and thrift.’ Inflation thereby encourages a mentality of immediate gratification that is plainly at variance with the discipline and eternal perspective required to exercise principles of biblical stewardship—such as long-term investment for the benefit of future generations.'</blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-50196773098605147682010-03-27T14:17:00.000-04:002010-03-27T14:17:02.085-04:00High fructose corn syrup worse than sugar? | The Money Times<blockquote>High fructose corn syrup causes more fatness than table sugar, says a new study from Princeton University.</blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-89581547154679177692010-03-27T14:15:00.000-04:002010-03-27T14:15:40.967-04:00Study Finds High-Fructose Corn Syrup Contains Mercury - washingtonpost.com<blockquote>Almost half of tested samples of commercial high-fructose corn syrup (HFCS) contained mercury, which was also found in nearly a third of 55 popular brand-name food and beverage products where HFCS is the first- or second-highest labeled ingredient, according to two new U.S. studies.</blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-22603949753846834582010-02-17T05:49:00.000-05:002010-02-17T05:49:42.892-05:00JSConf.US 2010 -- Swashbucklin' JavaScript!<blockquote>JSCONF is currently sold out. We are working with sponsors and speaker proposals to attempt to make more seats available. For more details please read, The Soon-To-Be Awkward Moment in our blog.<br /><br />Please do not panic, there will be plenty of time to panic after speakers and parties have been announced..</blockquote><br /><br />Great... I'm in the DC area, in the April 17 & 18 time frame, I need to get up to speed on JavaScript, AND IT'S SOLD OUT!!!! :-(dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-41782465799161993942010-02-04T11:32:00.000-05:002010-02-04T11:32:44.946-05:00Critical Issues Commentary: Colossian Heresy Part 1<blockquote>Bondage to the <em>stoicheia</em> comes in forms that are cleverly disguised as religious means of freeing oneself from their influence. Those who are caught up in contemporary “spiritual warfare” teachings should take notice. The forces of darkness are all too willing to have themselves be the object of such battles — they may even inspire the means and techniques. They evidently like all the attention in as much as it keeps our attention off of Christ and what He has done, once for all.</blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-19477879754306171222010-01-28T12:35:00.000-05:002010-01-28T12:35:55.304-05:00Academics fight rise of creationism at universities | World news | The Guardian<blockquote>A growing number of science students on British campuses and in sixth form colleges are challenging the theory of evolution and arguing that Darwin was wrong. Some are being failed in university exams because they quote sayings from the Bible or Qur'an as scientific fact and at one sixth form college in London most biology students are now thought to be creationists.</blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-61505559475188827852010-01-25T20:18:00.000-05:002010-01-25T20:18:52.381-05:00Christopher Blizzard · HTML5 video and H.264 – what history tells us and why we’re standing with the web<a href="http://www.0xdeadbeef.com/weblog/2010/01/html5-video-and-h-264-what-history-tells-us-and-why-were-standing-with-the-web/">Christopher Blizzard · HTML5 video and H.264 – what history tells us and why we’re standing with the web</a>: <blockquote>"The truth is in the tests: you can still build a web browser, spider, client, web server, image editor, a JS library, a CSS library, an HTML editor, a web publishing system, commerce system – anything that is based on fundamental web technologies – without asking anyone for permission. This is a fundamental reason why the web has spread everywhere. Because everyone had the chance to add to the mix.<br />It’s worth saying twice. Anyone can create technology or services on the web and they don’t have to ask anyone for permission to do it. This is why we’ve had billions of dollars of investment and a fundamental shift in the way that western society acts and communicates – all in the course of a very short period of time."</blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-88005539674701763442009-12-19T20:36:00.000-05:002009-12-19T20:36:31.844-05:00Is Owning a Dog Worse than Owning an SUV? - GOOD Blog - GOOD<a href="http://www.good.is/post/is-owning-a-dog-worse-than-owning-an-suv/">Is Owning a Dog Worse than Owning an SUV? - GOOD Blog - GOOD</a>: "New Scientist took a look at the relative carbon impact of owning a dog (or cat, or hamster) and owning an SUV like a Toyota Land Cruiser. The results, plotted in the chart above, may surprise you."dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-62395583726738510662009-12-13T21:31:00.000-05:002009-12-13T21:31:38.732-05:00Gateway Pundit<a href="http://gatewaypundit.firstthings.com/2009/12/jimmy-carter-abuse-of-women-including-genital-mutilation-is-the-fault-of-catholics-southern-baptists/">Gateway Pundit</a>: "Jimmy Carter: Abuse of Women Including Genital Mutilation is the Fault of Catholics & Southern Baptists"dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-1410949737233732062009-12-06T16:49:00.000-05:002009-12-06T16:49:43.305-05:00The Fiction Of Climate Science - Forbes.com<a href="http://www.forbes.com/2009/12/03/climate-science-gore-intelligent-technology-sutton.html">The Fiction Of Climate Science - Forbes.com</a>: <br /><br /><blockquote><p>Al Gore thought he might ride his global warming crusade back toward the White House. If you saw his movie, which opened showing cattle on his farm, you start to understand how shallow this is. The United Nations says that cattle, farting and belching methane, create more global warming than all the SUVs in the world. Even more laughably, Al and his camera crew flew first class for that film, consuming 50% more jet fuel per seat-mile than coach fliers, while his Tennessee mansion sucks as much carbon as 20 average homes.</p></blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-44262868319827723822009-09-04T14:36:00.000-04:002009-09-04T14:36:15.540-04:00RIA CFML Flex Flash: Do Coldfusion programmers need to be object oriented gurus?<a href="http://www.cfcdeveloper.com/index.cfm/2009/9/4/Do-Coldfusion-programmers-need-to-be-object-oriented-gurus">RIA CFML Flex Flash: Do ColdFusion programmers need to be object oriented gurus?</a>: <br /><br /><blockquote><p>Interfaces for the most part are for compile time error checking and CF is not a compile time language, not at our level it isn't.</p></blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-17036679418312220492009-08-03T10:41:00.000-04:002009-08-03T10:41:48.485-04:00Software Is Hard<a href="http://www.gamearchitect.net/Articles/SoftwareIsHard.html?dupe">Software Is Hard</a>: <br /><br /><blockquote><p>The developer is God of a virtual world, and it's hard work being God. Not a sparrow falls unless someone writes the code to make it happen, and that code is likely to touch the physics system, the sparrow AI, the effects systems (if you want the sparrow to go splat)--and that's not even getting into the dependencies on art and design!</p></blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-81441838520134405902009-07-27T09:42:00.000-04:002009-07-27T09:42:15.315-04:00Violent video games linked to child aggression - CNN.com<a href="http://www.cnn.com/2008/HEALTH/family/11/03/healthmag.violent.video.kids/index.html?eref=rss_topstories">Violent video games linked to child aggression - CNN.com</a>: <br /><br /><blockquote><p>In every group, children who were exposed to more video game violence did become more aggressive over time than their peers who had less exposure. This was true even after the researchers took into account how aggressive the children were at the beginning of the study -- a strong predictor of future bad behavior.</p></blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-89727908826678877322009-07-08T06:28:00.002-04:002009-07-08T06:28:37.556-04:00Jordan Chandler “I Lied for my father, i’m sorry Michael” | Fresh News<a href="http://trashselector.com/evan-chandler-i-lied-for-my-father-im-sorry-michael/">Jordan Chandler “I Lied for my father, i’m sorry Michael” | Fresh News</a>: <br /><br /><blockquote><p>I made a promise to an old friend to tell the truth when Michael will die and that’s what I’m doing.</p></blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-34519642347442416212009-07-03T10:45:00.000-04:002009-07-03T10:45:16.201-04:00All American Investor: Real Unemployment Jumps to 16.8 Percent (Statistics, Graph)<a href="http://allamericaninvestor.blogspot.com/2009/07/real-unemployment-jumps-to-168-percent.html">All American Investor: Real Unemployment Jumps to 16.8 Percent (Statistics, Graph)</a>: <br /><br /><blockquote><p>If you read the U-6 you learned the real rate of unemployment is 16.8 percent versus 10.3 percent in June 2008.</p></blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com0tag:blogger.com,1999:blog-3105843.post-68961603420305081902009-06-30T12:20:00.000-04:002009-06-30T12:20:32.118-04:00DON'T GET THAT COLLEGE DEGREE! - New York Post<a href="http://www.nypost.com/seven/06282009/postopinion/opedcolumnists/dont_get_that_college_degree__176545.htm?page=0">DON'T GET THAT COLLEGE DEGREE! - New York Post</a>: <br /><br /><blockquote><p>The four-year college degree has come to cost too much and prove too little. It's now a bad deal for the average student, family, employer, professor and taxpayer.</p><p>A student who secures a degree is increasingly unlikely to make up its cost, despite higher pay, and the employer who requires a degree puts faith in a system whose standards are slipping. Too many professors who are bound to degree teaching can't truly profess; they don't proclaim loudly the things they know but instead whisper them to a chosen few, whom they must then accommodate with inflated grades. Worst of all, bright citizens spend their lives not knowing the things they ought to know, because they've been granted liberal-arts degrees for something far short of a liberal-arts education.</p></blockquote>dbabbitthttp://www.blogger.com/profile/11606170247574928794noreply@blogger.com1