Skip to content

Commit 5ef9430

Browse files
committed
deploy: ebdec3d
1 parent d07a892 commit 5ef9430

File tree

124 files changed

+181
-63
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+181
-63
lines changed

dev/_modules/data_morph/data/stats.html

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -518,41 +518,67 @@
518518
<h1>Source code for data_morph.data.stats</h1><div class="highlight"><pre>
519519
<span></span><span class="sd">&quot;&quot;&quot;Utility functions for calculating summary statistics.&quot;&quot;&quot;</span>
520520

521-
<span class="kn">from</span><span class="w"> </span><span class="nn">collections</span><span class="w"> </span><span class="kn">import</span> <span class="n">namedtuple</span>
521+
<span class="kn">from</span><span class="w"> </span><span class="nn">__future__</span><span class="w"> </span><span class="kn">import</span> <span class="n">annotations</span>
522522

523-
<span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
523+
<span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">TYPE_CHECKING</span><span class="p">,</span> <span class="n">NamedTuple</span>
524+
525+
<span class="k">if</span> <span class="n">TYPE_CHECKING</span><span class="p">:</span>
526+
<span class="kn">from</span><span class="w"> </span><span class="nn">collections.abc</span><span class="w"> </span><span class="kn">import</span> <span class="n">Generator</span>
527+
528+
<span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
529+
530+
531+
<div class="viewcode-block" id="SummaryStatistics">
532+
<a class="viewcode-back" href="../../../api/data_morph.data.stats.SummaryStatistics.html#data_morph.data.stats.SummaryStatistics">[docs]</a>
533+
<span class="k">class</span><span class="w"> </span><span class="nc">SummaryStatistics</span><span class="p">(</span><span class="n">NamedTuple</span><span class="p">):</span>
534+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Named tuple containing the summary statistics for plotting/analysis.&quot;&quot;&quot;</span>
535+
536+
<span class="n">x_mean</span><span class="p">:</span> <span class="nb">float</span>
537+
<span class="n">y_mean</span><span class="p">:</span> <span class="nb">float</span>
538+
539+
<span class="n">x_stdev</span><span class="p">:</span> <span class="nb">float</span>
540+
<span class="n">y_stdev</span><span class="p">:</span> <span class="nb">float</span>
541+
542+
<span class="n">correlation</span><span class="p">:</span> <span class="nb">float</span>
543+
544+
<span class="n">x_median</span><span class="p">:</span> <span class="nb">float</span> <span class="o">|</span> <span class="kc">None</span>
545+
<span class="n">y_median</span><span class="p">:</span> <span class="nb">float</span> <span class="o">|</span> <span class="kc">None</span>
546+
547+
<span class="k">def</span><span class="w"> </span><span class="fm">__iter__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Generator</span><span class="p">[</span><span class="nb">float</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">]:</span>
548+
<span class="k">for</span> <span class="n">statistic</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fields</span><span class="p">:</span>
549+
<span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">:=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">statistic</span><span class="p">))</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
550+
<span class="k">yield</span> <span class="n">value</span></div>
524551

525-
<span class="n">SummaryStatistics</span> <span class="o">=</span> <span class="n">namedtuple</span><span class="p">(</span>
526-
<span class="s1">&#39;SummaryStatistics&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s1">&#39;x_mean&#39;</span><span class="p">,</span> <span class="s1">&#39;y_mean&#39;</span><span class="p">,</span> <span class="s1">&#39;x_stdev&#39;</span><span class="p">,</span> <span class="s1">&#39;y_stdev&#39;</span><span class="p">,</span> <span class="s1">&#39;correlation&#39;</span><span class="p">]</span>
527-
<span class="p">)</span>
528-
<span class="n">SummaryStatistics</span><span class="o">.</span><span class="vm">__doc__</span> <span class="o">=</span> <span class="p">(</span>
529-
<span class="s1">&#39;Named tuple containing the summary statistics for plotting/analysis.&#39;</span>
530-
<span class="p">)</span>
531552

532553

533554
<div class="viewcode-block" id="get_summary_statistics">
534555
<a class="viewcode-back" href="../../../api/data_morph.data.stats.get_summary_statistics.html#data_morph.data.stats.get_summary_statistics">[docs]</a>
535-
<span class="k">def</span><span class="w"> </span><span class="nf">get_summary_statistics</span><span class="p">(</span><span class="n">data</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="o">-&gt;</span> <span class="n">SummaryStatistics</span><span class="p">:</span>
556+
<span class="k">def</span><span class="w"> </span><span class="nf">get_summary_statistics</span><span class="p">(</span><span class="n">data</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">with_median</span><span class="p">:</span> <span class="nb">bool</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">SummaryStatistics</span><span class="p">:</span>
536557
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
537558
<span class="sd"> Calculate the summary statistics for the given set of points.</span>
538559

539560
<span class="sd"> Parameters</span>
540561
<span class="sd"> ----------</span>
541562
<span class="sd"> data : pandas.DataFrame</span>
542-
<span class="sd"> A dataset with columns x and y.</span>
563+
<span class="sd"> A dataset with columns ``x`` and ``y``.</span>
564+
<span class="sd"> with_median : bool</span>
565+
<span class="sd"> Whether to include the median of ``x`` and ``y``.</span>
543566

544567
<span class="sd"> Returns</span>
545568
<span class="sd"> -------</span>
546569
<span class="sd"> SummaryStatistics</span>
547-
<span class="sd"> Named tuple consisting of mean and standard deviations of x and y,</span>
548-
<span class="sd"> along with the Pearson correlation coefficient between the two.</span>
570+
<span class="sd"> Named tuple consisting of mean and standard deviations of ``x`` and ``y``,</span>
571+
<span class="sd"> along with the Pearson correlation coefficient between the two, and optionally,</span>
572+
<span class="sd"> the median of ``x`` and ``y``.</span>
549573
<span class="sd"> &quot;&quot;&quot;</span>
550574
<span class="k">return</span> <span class="n">SummaryStatistics</span><span class="p">(</span>
551-
<span class="n">data</span><span class="o">.</span><span class="n">x</span><span class="o">.</span><span class="n">mean</span><span class="p">(),</span>
552-
<span class="n">data</span><span class="o">.</span><span class="n">y</span><span class="o">.</span><span class="n">mean</span><span class="p">(),</span>
553-
<span class="n">data</span><span class="o">.</span><span class="n">x</span><span class="o">.</span><span class="n">std</span><span class="p">(),</span>
554-
<span class="n">data</span><span class="o">.</span><span class="n">y</span><span class="o">.</span><span class="n">std</span><span class="p">(),</span>
555-
<span class="n">data</span><span class="o">.</span><span class="n">corr</span><span class="p">()</span><span class="o">.</span><span class="n">x</span><span class="o">.</span><span class="n">y</span><span class="p">,</span>
575+
<span class="n">x_mean</span><span class="o">=</span><span class="n">data</span><span class="o">.</span><span class="n">x</span><span class="o">.</span><span class="n">mean</span><span class="p">(),</span>
576+
<span class="n">y_mean</span><span class="o">=</span><span class="n">data</span><span class="o">.</span><span class="n">y</span><span class="o">.</span><span class="n">mean</span><span class="p">(),</span>
577+
<span class="n">x_stdev</span><span class="o">=</span><span class="n">data</span><span class="o">.</span><span class="n">x</span><span class="o">.</span><span class="n">std</span><span class="p">(),</span>
578+
<span class="n">y_stdev</span><span class="o">=</span><span class="n">data</span><span class="o">.</span><span class="n">y</span><span class="o">.</span><span class="n">std</span><span class="p">(),</span>
579+
<span class="n">correlation</span><span class="o">=</span><span class="n">data</span><span class="o">.</span><span class="n">corr</span><span class="p">()</span><span class="o">.</span><span class="n">x</span><span class="o">.</span><span class="n">y</span><span class="p">,</span>
580+
<span class="n">x_median</span><span class="o">=</span><span class="n">data</span><span class="o">.</span><span class="n">x</span><span class="o">.</span><span class="n">median</span><span class="p">()</span> <span class="k">if</span> <span class="n">with_median</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
581+
<span class="n">y_median</span><span class="o">=</span><span class="n">data</span><span class="o">.</span><span class="n">y</span><span class="o">.</span><span class="n">median</span><span class="p">()</span> <span class="k">if</span> <span class="n">with_median</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
556582
<span class="p">)</span></div>
557583

558584
</pre></div>

dev/_modules/data_morph/morpher.html

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,9 @@ <h1>Source code for data_morph.morpher</h1><div class="highlight"><pre>
580580
<span class="sd"> forward_only_animation : bool, default ``False``</span>
581581
<span class="sd"> Whether to generate the animation in the forward direction only.</span>
582582
<span class="sd"> By default, the animation will play forward and then reverse.</span>
583+
<span class="sd"> with_median : bool, default ``False``</span>
584+
<span class="sd"> Whether to preserve the median in addition to the other summary statistics.</span>
585+
<span class="sd"> Note that this will be a little slower.</span>
583586
<span class="sd"> &quot;&quot;&quot;</span>
584587

585588
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span>
@@ -594,6 +597,7 @@ <h1>Source code for data_morph.morpher</h1><div class="highlight"><pre>
594597
<span class="n">num_frames</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">100</span><span class="p">,</span>
595598
<span class="n">keep_frames</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
596599
<span class="n">forward_only_animation</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
600+
<span class="n">with_median</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
597601
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
598602
<span class="bp">self</span><span class="o">.</span><span class="n">_rng</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">default_rng</span><span class="p">(</span><span class="n">seed</span><span class="p">)</span>
599603

@@ -649,6 +653,8 @@ <h1>Source code for data_morph.morpher</h1><div class="highlight"><pre>
649653

650654
<span class="bp">self</span><span class="o">.</span><span class="n">_ProgressTracker</span> <span class="o">=</span> <span class="n">partial</span><span class="p">(</span><span class="n">DataMorphProgress</span><span class="p">,</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_in_notebook</span><span class="p">)</span>
651655

656+
<span class="bp">self</span><span class="o">.</span><span class="n">_with_median</span> <span class="o">=</span> <span class="n">with_median</span>
657+
652658
<span class="k">def</span><span class="w"> </span><span class="nf">_select_frames</span><span class="p">(</span>
653659
<span class="bp">self</span><span class="p">,</span> <span class="n">iterations</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">ease_in</span><span class="p">:</span> <span class="nb">bool</span><span class="p">,</span> <span class="n">ease_out</span><span class="p">:</span> <span class="nb">bool</span><span class="p">,</span> <span class="n">freeze_for</span><span class="p">:</span> <span class="nb">int</span>
654660
<span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
@@ -742,6 +748,7 @@ <h1>Source code for data_morph.morpher</h1><div class="highlight"><pre>
742748
<span class="n">decimals</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">decimals</span><span class="p">,</span>
743749
<span class="n">x_bounds</span><span class="o">=</span><span class="n">bounds</span><span class="o">.</span><span class="n">x_bounds</span><span class="p">,</span>
744750
<span class="n">y_bounds</span><span class="o">=</span><span class="n">bounds</span><span class="o">.</span><span class="n">y_bounds</span><span class="p">,</span>
751+
<span class="n">with_median</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_with_median</span><span class="p">,</span>
745752
<span class="n">dpi</span><span class="o">=</span><span class="mi">150</span><span class="p">,</span>
746753
<span class="p">)</span>
747754
<span class="k">if</span> <span class="p">(</span>
@@ -773,7 +780,12 @@ <h1>Source code for data_morph.morpher</h1><div class="highlight"><pre>
773780
<span class="n">np</span><span class="o">.</span><span class="n">subtract</span><span class="p">(</span>
774781
<span class="o">*</span><span class="p">(</span>
775782
<span class="n">np</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span>
776-
<span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">get_summary_statistics</span><span class="p">(</span><span class="n">data</span><span class="p">))</span> <span class="o">*</span> <span class="mi">10</span><span class="o">**</span><span class="bp">self</span><span class="o">.</span><span class="n">decimals</span>
783+
<span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
784+
<span class="n">get_summary_statistics</span><span class="p">(</span>
785+
<span class="n">data</span><span class="p">,</span> <span class="n">with_median</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_with_median</span>
786+
<span class="p">)</span>
787+
<span class="p">)</span>
788+
<span class="o">*</span> <span class="mi">10</span><span class="o">**</span><span class="bp">self</span><span class="o">.</span><span class="n">decimals</span>
777789
<span class="p">)</span>
778790
<span class="k">for</span> <span class="n">data</span> <span class="ow">in</span> <span class="p">[</span><span class="n">df1</span><span class="p">,</span> <span class="n">df2</span><span class="p">]</span>
779791
<span class="p">)</span>

0 commit comments

Comments
 (0)