Skip to content

Commit

Permalink
deploy: 302b36e
Browse files Browse the repository at this point in the history
  • Loading branch information
debnolan committed Jul 18, 2023
1 parent 4960241 commit faf1724
Show file tree
Hide file tree
Showing 16 changed files with 287 additions and 356 deletions.
2 changes: 1 addition & 1 deletion _images/pa_cleaning_aqs_36_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _images/pa_cleaning_purpleair_28_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _images/pa_cleaning_purpleair_39_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _images/pa_eda_13_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _images/pa_eda_15_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _images/pa_eda_18_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _images/pa_eda_22_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _images/pa_eda_26_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _images/pa_eda_29_0.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 11 additions & 37 deletions _sources/ch/12/pa_cleaning_aqs.ipynb

Large diffs are not rendered by default.

431 changes: 201 additions & 230 deletions _sources/ch/12/pa_cleaning_purpleair.ipynb

Large diffs are not rendered by default.

106 changes: 45 additions & 61 deletions _sources/ch/12/pa_eda.ipynb

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions ch/12/pa_cleaning_aqs.html
Original file line number Diff line number Diff line change
Expand Up @@ -1346,13 +1346,13 @@ <h2><span class="section-number">12.3.1. </span>Checking Granularity<a class="he
</div>
</div>
<div class="cell_output docutils container">
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>2019-07-08 12
2018-12-04 12
2018-12-22 12
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>2018-06-10 12
2018-09-14 12
2018-11-07 12
..
2019-02-11 12
2018-12-07 12
2019-03-31 12
2019-04-24 12
2018-11-25 12
2019-04-21 12
Name: date_local, Length: 189, dtype: int64
</pre></div>
</div>
Expand Down Expand Up @@ -1574,7 +1574,7 @@ <h2><span class="section-number">12.3.4. </span>Checking the Quality of PM2.5 Me
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">px</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">aqs</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="s1">&#39;date_local&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;pm25&#39;</span><span class="p">,</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;date_local&#39;</span><span class="p">:</span><span class="s1">&#39;Date&#39;</span><span class="p">,</span> <span class="s1">&#39;pm25&#39;</span><span class="p">:</span><span class="s1">&#39;AQS Daily Avg PM 2.5&#39;</span><span class="p">},</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;date_local&#39;</span><span class="p">:</span><span class="s1">&#39;Date&#39;</span><span class="p">,</span> <span class="s1">&#39;pm25&#39;</span><span class="p">:</span><span class="s1">&#39;AQS daily avg PM 2.5&#39;</span><span class="p">},</span>
<span class="n">width</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">)</span>
</pre></div>
</div>
Expand Down
8 changes: 5 additions & 3 deletions ch/12/pa_cleaning_purpleair.html
Original file line number Diff line number Diff line change
Expand Up @@ -1666,8 +1666,9 @@ <h3><span class="section-number">12.4.1.1. </span>Visualizing timestamps<a class
<p>We see that the number of measurements in a day varies widely. A line plot of these counts gives us a better sense of these variations:</p>
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">px</span><span class="o">.</span><span class="n">line</span><span class="p">(</span><span class="n">per_day</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="n">per_day</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;records_per_day&#39;</span><span class="p">,</span>
<span class="n">width</span><span class="o">=</span><span class="mi">550</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;timestamp&#39;</span><span class="p">:</span><span class="s1">&#39;Date&#39;</span><span class="p">})</span>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">px</span><span class="o">.</span><span class="n">line</span><span class="p">(</span><span class="n">per_day</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="n">per_day</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;records_per_day&#39;</span><span class="p">,</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;timestamp&#39;</span><span class="p">:</span><span class="s1">&#39;Date&#39;</span><span class="p">,</span> <span class="s1">&#39;records_per_day&#39;</span><span class="p">:</span><span class="s1">&#39;Records per day&#39;</span><span class="p">},</span>
<span class="n">width</span><span class="o">=</span><span class="mi">550</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">,)</span>
</pre></div>
</div>
</div>
Expand Down Expand Up @@ -1766,7 +1767,8 @@ <h3><span class="section-number">12.4.1.2. </span>Checking the sampling rate<a c
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">px</span><span class="o">.</span><span class="n">line</span><span class="p">(</span><span class="n">per_day</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="n">per_day</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;records_per_day&#39;</span><span class="p">,</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;timestamp&#39;</span><span class="p">:</span><span class="s1">&#39;Date&#39;</span><span class="p">},</span> <span class="n">width</span><span class="o">=</span><span class="mi">550</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">)</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;timestamp&#39;</span><span class="p">:</span><span class="s1">&#39;Date&#39;</span><span class="p">,</span> <span class="s1">&#39;records_per_day&#39;</span><span class="p">:</span><span class="s1">&#39;Records per day&#39;</span><span class="p">},</span>
<span class="n">width</span><span class="o">=</span><span class="mi">550</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">)</span>

<span class="n">fig</span><span class="o">.</span><span class="n">add_annotation</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="s1">&#39;2019-07-24&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="mi">720</span><span class="p">,</span>
<span class="n">text</span><span class="o">=</span><span class="s2">&quot;720&quot;</span><span class="p">,</span> <span class="n">showarrow</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">yshift</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
Expand Down
16 changes: 8 additions & 8 deletions ch/12/pa_eda.html
Original file line number Diff line number Diff line change
Expand Up @@ -1440,7 +1440,7 @@ <h1>Exploring PurpleAir and AQS Measurements</h1>
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">px</span><span class="o">.</span><span class="n">line</span><span class="p">(</span><span class="n">ts_nc4</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="s1">&#39;date&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">,</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;date&#39;</span><span class="p">:</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;pm25aqs&#39;</span><span class="p">:</span><span class="s1">&#39;PM 2.5 weekly avg&#39;</span><span class="p">},</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;date&#39;</span><span class="p">:</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;pm25aqs&#39;</span><span class="p">:</span><span class="s1">&#39;PM2.5 weekly avg&#39;</span><span class="p">},</span>
<span class="n">width</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">)</span>

<span class="n">fig</span><span class="o">.</span><span class="n">add_trace</span><span class="p">(</span><span class="n">go</span><span class="o">.</span><span class="n">Scatter</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">ts_nc4</span><span class="p">[</span><span class="s1">&#39;date&#39;</span><span class="p">],</span> <span class="n">y</span><span class="o">=</span><span class="n">ts_nc4</span><span class="p">[</span><span class="s1">&#39;pm25pa&#39;</span><span class="p">],</span>
Expand Down Expand Up @@ -1481,8 +1481,8 @@ <h1>Exploring PurpleAir and AQS Measurements</h1>
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">percs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">aqs_qs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">nc4</span><span class="p">[</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">],</span> <span class="n">percs</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s1">&#39;lower&#39;</span><span class="p">)</span>
<span class="n">pa_qs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">nc4</span><span class="p">[</span><span class="s1">&#39;pm25pa&#39;</span><span class="p">],</span> <span class="n">percs</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s1">&#39;lower&#39;</span><span class="p">)</span>
<span class="n">aqs_qs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">nc4</span><span class="p">[</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">],</span> <span class="n">percs</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s1">&#39;lower&#39;</span><span class="p">)</span>
<span class="n">pa_qs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">nc4</span><span class="p">[</span><span class="s1">&#39;pm25pa&#39;</span><span class="p">],</span> <span class="n">percs</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s1">&#39;lower&#39;</span><span class="p">)</span>
<span class="n">perc_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="s1">&#39;percentile&#39;</span><span class="p">:</span> <span class="n">percs</span><span class="p">,</span> <span class="s1">&#39;aqs_qs&#39;</span><span class="p">:</span><span class="n">aqs_qs</span><span class="p">,</span> <span class="s1">&#39;pa_qs&#39;</span><span class="p">:</span><span class="n">pa_qs</span><span class="p">})</span>
</pre></div>
</div>
Expand All @@ -1491,8 +1491,8 @@ <h1>Exploring PurpleAir and AQS Measurements</h1>
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">px</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">perc_df</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="s1">&#39;aqs_qs&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;pa_qs&#39;</span><span class="p">,</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;aqs_qs&#39;</span><span class="p">:</span> <span class="s1">&#39;AQS Quantiles&#39;</span><span class="p">,</span>
<span class="s1">&#39;pa_qs&#39;</span><span class="p">:</span> <span class="s1">&#39;PurpleAir Quantiles&#39;</span><span class="p">},</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;aqs_qs&#39;</span><span class="p">:</span> <span class="s1">&#39;AQS quantiles&#39;</span><span class="p">,</span>
<span class="s1">&#39;pa_qs&#39;</span><span class="p">:</span> <span class="s1">&#39;PurpleAir quantiles&#39;</span><span class="p">},</span>
<span class="n">width</span><span class="o">=</span><span class="mi">350</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">)</span>


Expand Down Expand Up @@ -1520,7 +1520,7 @@ <h1>Exploring PurpleAir and AQS Measurements</h1>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">px</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">diffs</span><span class="p">,</span> <span class="n">histnorm</span><span class="o">=</span><span class="s1">&#39;percent&#39;</span><span class="p">,</span>
<span class="n">width</span><span class="o">=</span><span class="mi">350</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">)</span>

<span class="n">fig</span><span class="o">.</span><span class="n">update_xaxes</span><span class="p">(</span><span class="nb">range</span><span class="o">=</span><span class="p">[</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="mi">30</span><span class="p">],</span> <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Difference: PA - AQS reading&quot;</span><span class="p">)</span>
<span class="n">fig</span><span class="o">.</span><span class="n">update_xaxes</span><span class="p">(</span><span class="nb">range</span><span class="o">=</span><span class="p">[</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="mi">30</span><span class="p">],</span> <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Difference: PA&amp;#8211;AQS reading&quot;</span><span class="p">)</span>
<span class="n">fig</span><span class="o">.</span><span class="n">update_traces</span><span class="p">(</span><span class="n">xbins</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span>
<span class="n">start</span><span class="o">=-</span><span class="mf">10.0</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="mf">30.0</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
<span class="p">)</span>
Expand All @@ -1537,7 +1537,7 @@ <h1>Exploring PurpleAir and AQS Measurements</h1>
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">px</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">full_df</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;pm25pa&#39;</span><span class="p">,</span> <span class="n">width</span><span class="o">=</span><span class="mi">350</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">,</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">:</span><span class="s1">&#39;AQS PM 2.5&#39;</span><span class="p">,</span> <span class="s1">&#39;pm25pa&#39;</span><span class="p">:</span><span class="s1">&#39;PurpleAir PM 2.5&#39;</span><span class="p">})</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">:</span><span class="s1">&#39;AQS PM2.5&#39;</span><span class="p">,</span> <span class="s1">&#39;pm25pa&#39;</span><span class="p">:</span><span class="s1">&#39;PurpleAir PM2.5&#39;</span><span class="p">})</span>
</pre></div>
</div>
</div>
Expand All @@ -1557,7 +1557,7 @@ <h1>Exploring PurpleAir and AQS Measurements</h1>
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">px</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">full_df</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;pm25pa&#39;</span><span class="p">,</span>
<span class="n">trendline</span><span class="o">=</span><span class="s1">&#39;lowess&#39;</span><span class="p">,</span> <span class="n">trendline_color_override</span><span class="o">=</span><span class="s2">&quot;orange&quot;</span><span class="p">,</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">:</span><span class="s1">&#39;AQS PM 2.5&#39;</span><span class="p">,</span> <span class="s1">&#39;pm25pa&#39;</span><span class="p">:</span><span class="s1">&#39;PurpleAir PM 2.5&#39;</span><span class="p">},</span>
<span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;pm25aqs&#39;</span><span class="p">:</span><span class="s1">&#39;AQS PM2.5&#39;</span><span class="p">,</span> <span class="s1">&#39;pm25pa&#39;</span><span class="p">:</span><span class="s1">&#39;PurpleAir PM2.5&#39;</span><span class="p">},</span>
<span class="n">width</span><span class="o">=</span><span class="mi">350</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">250</span><span class="p">)</span>
</pre></div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

0 comments on commit faf1724

Please sign in to comment.