<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dunder Data</title>
    <description>The latest articles on DEV Community by Dunder Data (@dunderdata).</description>
    <link>https://dev.to/dunderdata</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2596%2F1053e490-d06f-422a-aae2-cf1599f678a5.png</url>
      <title>DEV Community: Dunder Data</title>
      <link>https://dev.to/dunderdata</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dunderdata"/>
    <language>en</language>
    <item>
      <title>Why Matplotlib Figure Inches Don’t Match Your Screen Inches and How to Fix it</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Thu, 09 Dec 2021 19:17:44 +0000</pubDate>
      <link>https://dev.to/dunderdata/why-matplotlib-figure-inches-dont-match-your-screen-inches-and-how-to-fix-it-5mb</link>
      <guid>https://dev.to/dunderdata/why-matplotlib-figure-inches-dont-match-your-screen-inches-and-how-to-fix-it-5mb</guid>
      <description>&lt;p&gt;&lt;a href="https://medium.com/dunder-data/why-matplotlib-figure-inches-dont-match-your-screen-inches-and-how-to-fix-it-993fa0417dba?source=rss----c2aa71d9ec41---4"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k8lwnijk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/600/1%2ALIeYNeqW6bcI5IWvpflrlA.png" alt="" width="600" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’ve worked with the matplotlib data visualization library before, then you’ll be familiar with the term figsize, which is measured…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/dunder-data/why-matplotlib-figure-inches-dont-match-your-screen-inches-and-how-to-fix-it-993fa0417dba?source=rss----c2aa71d9ec41---4"&gt;Continue reading on Dunder Data »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>matplotlib</category>
      <category>datascience</category>
      <category>datavisualization</category>
      <category>python</category>
    </item>
    <item>
      <title>Top 5 Reasons to use Seaborn for Data Visualizations</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Tue, 16 Nov 2021 17:24:40 +0000</pubDate>
      <link>https://dev.to/dunderdata/top-5-reasons-to-use-seaborn-for-data-visualizations-1f53</link>
      <guid>https://dev.to/dunderdata/top-5-reasons-to-use-seaborn-for-data-visualizations-1f53</guid>
      <description>&lt;p&gt;&lt;a href="https://medium.com/dunder-data/top-5-reasons-to-use-seaborn-for-data-visualizations-34523b357b2a?source=rss----c2aa71d9ec41---4"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w5ALQ2_t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/600/1%2AXWk-C0OFu4N8ZE4XdxN3og.png" alt="" width="600" height="158"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/dunder-data/top-5-reasons-to-use-seaborn-for-data-visualizations-34523b357b2a?source=rss----c2aa71d9ec41---4"&gt;Continue reading on Dunder Data »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>datavisualization</category>
      <category>jupyternotebook</category>
      <category>datascience</category>
      <category>pandas</category>
    </item>
    <item>
      <title>Daily Python and Pandas Challenges</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Wed, 10 Nov 2021 20:51:00 +0000</pubDate>
      <link>https://dev.to/dunderdata/daily-python-and-pandas-challenges-3ldc</link>
      <guid>https://dev.to/dunderdata/daily-python-and-pandas-challenges-3ldc</guid>
      <description>&lt;p&gt;I’m excited to announce &lt;a href="https://python.dunderdata.com/"&gt;Dunder Data Python and Pandas Challenges&lt;/a&gt;! One Python and one Pandas challenge will be released each weekday on &lt;a href="http://python.dunderdata.com"&gt;python.dunderdata.com&lt;/a&gt;. They will vary in difficulty and cover a wide range of topics.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--97LV9T8o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Azm_eclpXLlo9LAZbC7K_Tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--97LV9T8o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Azm_eclpXLlo9LAZbC7K_Tg.png" alt="" width="880" height="574"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;An image of the first challenge available at python.dunderdata.com&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Video solutions for the Python Challenges will be &lt;a href="https://www.youtube.com/playlist?list=PLVyhfExBT1XA_aaqE24zXce26QXIv4bYQ"&gt;available here&lt;/a&gt; with the Pandas Challenges &lt;a href="https://www.youtube.com/playlist?list=PLVyhfExBT1XBIOkoEFMrh-ZEzWREd4g7B"&gt;available here&lt;/a&gt;. You’ll answer the challenges within your very own Jupyter Notebooks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can you solve them?
&lt;/h3&gt;

&lt;p&gt;Think you have what it takes to solve the challenges? Get started at &lt;a href="http://python.dunderdata.com"&gt;python.dunderdata.com&lt;/a&gt; now.&lt;/p&gt;




</description>
      <category>python</category>
      <category>jupyternotebook</category>
      <category>datascience</category>
      <category>pandas</category>
    </item>
    <item>
      <title>The Coronavirus Forecasting Dashboard — Modeling Deaths and Cases around the World</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Thu, 21 Oct 2021 13:29:28 +0000</pubDate>
      <link>https://dev.to/dunderdata/the-coronavirus-forecasting-dashboard-modeling-deaths-and-cases-around-the-world-4ojo</link>
      <guid>https://dev.to/dunderdata/the-coronavirus-forecasting-dashboard-modeling-deaths-and-cases-around-the-world-4ojo</guid>
      <description>&lt;h3&gt;
  
  
  The Coronavirus Forecasting Dashboard — Modeling Deaths and Cases around the World
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="http://coronavirus.dunderdata.com"&gt;coronavirus forecasting dashboard&lt;/a&gt; shows historical and predicted values for deaths and cases for all countries and US states from the ongoing coronavirus pandemic. In this post, I will present details of the model used and how the dashboard was created. If you are interested in a full tutorial of how this dashboard was built, check out my course &lt;a href="https://www.dunderdata.com/build-an-interactive-data-analytics-dashboard-with-python"&gt;Build an Interactive Data Analytics Dashboard with Python&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F7pdpjNc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AKPL8MspUyMyLZ7WUM15sqA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F7pdpjNc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AKPL8MspUyMyLZ7WUM15sqA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dashboard Features
&lt;/h3&gt;

&lt;p&gt;Before delving into the details of the model and technologies used to launch the dashboard, let’s cover some of the dashboard features.&lt;/p&gt;

&lt;h4&gt;
  
  
  Data Table
&lt;/h4&gt;

&lt;p&gt;The data table on the left side of the dashboard contains totals for deaths and cases for each country of the world by default. You can switch the view to show totals for the last week and previous day via the tabs. Countries can also be aggregated by region of the world.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e7NiptJ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AP12vzT02MwSVDXizRVGgaQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e7NiptJ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AP12vzT02MwSVDXizRVGgaQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Totals for each US state have their own view.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QN-sn68C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ATfTv_LmzOepo5JAIMLCxAA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QN-sn68C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ATfTv_LmzOepo5JAIMLCxAA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Historical and predicted values
&lt;/h4&gt;

&lt;p&gt;Each area in the table can be selected, which will have the effect of showing its historical and predicted values for deaths and cases appear in the graph to the right. Views for cumulative, daily, and weekly are available via the tabs above the graph. A slider below controls the date range.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iVRk13Nw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AwilAkkKbRBYZEcTRMkXpWg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iVRk13Nw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AwilAkkKbRBYZEcTRMkXpWg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Choropleth Maps
&lt;/h4&gt;

&lt;p&gt;Choropleth maps (areas colored by specific values) are shown below the graphs as a visual representation of the data table. Hovering over a country reveals its data. The coloring can change by selecting one of the values above the map.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--c4nlqACO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AVAA2T76SOm4e3Kc-pIoyUg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--c4nlqACO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AVAA2T76SOm4e3Kc-pIoyUg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The map changes to show the USA when the US States tab is selected.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dLEE3M1x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A64CVyMR4RQ0sZiB7r3zyTQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dLEE3M1x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A64CVyMR4RQ0sZiB7r3zyTQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Model Performance
&lt;/h4&gt;

&lt;p&gt;The model performance page shows how well the model performed over a chosen date range.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X6cIICdE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Ao1PGBIp19jilkH_JIl-QIQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X6cIICdE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Ao1PGBIp19jilkH_JIl-QIQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Constructing the Model
&lt;/h3&gt;

&lt;p&gt;One goal of this dashboard was to build a model to predict the number of future cases and deaths. As with any data task, there are a wide variety of approaches for choosing and building a model. There are also many variables to consider. To keep things simple, I chose to only use historical cases as the single input into the model. Historical cases are known, easy to retrieve from a single source, and provide good predictive power for future cases. Let’s take a look at cumulative case count the UK from March 2020 to the end of October 2020.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eyiSVWAD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AeoA3e1JXKOlp9FTN-4hh3g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eyiSVWAD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AeoA3e1JXKOlp9FTN-4hh3g.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The UK shows a typical pattern of cases — a first wave of cases beginning in March and ending in July with another wave starting in September. The majority of countries have now seen multiple waves that behave similarly. There appears to be exponential growth during the beginning of a wave, then steady growth, and then ending in exponential decline. The waves form shapes that are well-modeled by a class of functions called “S-Curves”, with the &lt;a href="https://en.wikipedia.org/wiki/Generalised_logistic_function"&gt;generalized logistic function&lt;/a&gt; proving to be a good choice with flexibility to model a single wave. Take a look at its form below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dmj-gHFs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/628/1%2AAJv1l5uWTT0G4UDDItr1cQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dmj-gHFs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/628/1%2AAJv1l5uWTT0G4UDDItr1cQ.png" alt=""&gt;&lt;/a&gt;The generalized logistic function&lt;/p&gt;

&lt;p&gt;Where L represents the upper bound for cases, x0 controls the horizontal shift, s the vertical shift (useful when modeling new waves), k controls the growth rate (steepness of the curve), and v controls the amount of asymmetry difference between the exponential growth and decline phases (most coronavirus waves have long tails towards their upper bound like the UK does above).&lt;/p&gt;

&lt;p&gt;Here, we use this model to make predictions for the UK after allowing the model to view data through April 10.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UFjMxi7E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AcGQEmin9Yk6Ibs3JOL7lhg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UFjMxi7E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AcGQEmin9Yk6Ibs3JOL7lhg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One formulation of the generalized logistic function is the Gompertz curve, also popular for modeling coronavirus waves. Each area of the world and US state has its model updated on a daily basis using this generalized logistic function. The results are displayed in the dashboard.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dashboard Construction
&lt;/h3&gt;

&lt;p&gt;The dashboard was constructed using the &lt;a href="https://dash.plotly.com/introduction"&gt;Dash Python library&lt;/a&gt;, an open-source project from the Plotly company. Dash provides the data tables, widgets, and interactivity necessary to create nearly any dashboard you wish. The data visualizations themselves are created by the Plotly library.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Layout and Interactivity
&lt;/h4&gt;

&lt;p&gt;Dash applications are composed of two parts, the layout and the interactivity. In the layout, you define each component of the dashboard, such as the data tables, tabs, links, graphs, maps, etc… You can use custom HTML and CSS to place more components, and style and arrange them.&lt;/p&gt;

&lt;p&gt;After setting the layout, callback functions can be defined to add interactivity. A callback function is triggered by specific events in your dashboard such as clicking a radio button or selecting an item in a dropdown menu. In this dashboard, one callback is triggered by the clicking of a country or state name in the data table on the left. Doing so, changes the data displayed in the graphs on the right to that area. The radio buttons above the maps also trigger a callback to change the coloring of each are by the specific metric selected.&lt;/p&gt;

&lt;h4&gt;
  
  
  Dash Bootstrap Components
&lt;/h4&gt;

&lt;p&gt;The third party library &lt;a href="https://dash-bootstrap-components.opensource.faculty.ai/"&gt;Dash Bootstrap Components&lt;/a&gt; has several more components styled using the popular Bootstrap JavaScript/CSS library and was used to make the radio buttons.&lt;/p&gt;

&lt;h3&gt;
  
  
  Visit the Dashboard
&lt;/h3&gt;

&lt;p&gt;If you haven’t already done so, &lt;a href="http://coronavirus.dunderdata.com"&gt;visit the dashboard&lt;/a&gt;, explore its features and let me know what you think of it.&lt;/p&gt;




</description>
      <category>datavisualization</category>
      <category>dash</category>
      <category>dashboard</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Displaying Pandas DataFrames Horizontally in Jupyter Notebooks</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Mon, 30 Aug 2021 15:47:28 +0000</pubDate>
      <link>https://dev.to/dunderdata/displaying-pandas-dataframes-horizontally-in-jupyter-notebooks-4b0b</link>
      <guid>https://dev.to/dunderdata/displaying-pandas-dataframes-horizontally-in-jupyter-notebooks-4b0b</guid>
      <description>&lt;p&gt;&lt;a href="https://medium.com/dunder-data/displaying-pandas-dataframes-horizontally-in-jupyter-notebooks-32bf5545a1d6?source=rss----c2aa71d9ec41---4"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RTECT71x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/600/1%2A0IUBppT2cvgmNN8_xlStOA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/dunder-data/displaying-pandas-dataframes-horizontally-in-jupyter-notebooks-32bf5545a1d6?source=rss----c2aa71d9ec41---4"&gt;Continue reading on Dunder Data »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>pandas</category>
      <category>jupyternotebook</category>
      <category>html</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Python Pandas Certification Courses</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Mon, 22 Mar 2021 13:36:21 +0000</pubDate>
      <link>https://dev.to/dunderdata/python-pandas-certification-courses-1h7h</link>
      <guid>https://dev.to/dunderdata/python-pandas-certification-courses-1h7h</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sKdBuu4b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A4isMjTHIgIDzuybqMYf6JQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sKdBuu4b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A4isMjTHIgIDzuybqMYf6JQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am excited to announce &lt;a href="https://www.dunderdata.com/live-online-courses"&gt;Python Pandas Certification Courses &lt;/a&gt;— a series of courses to help you become an expert at using the pandas library to analyze data, each with a challenging certification exam given at the end.&lt;/p&gt;

&lt;p&gt;The main goal of the Python Pandas Certification series of courses is to provide you with a path to gain mastery of the pandas library so that you can use it confidently in a professional environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  First Course FREE — Begins March 29!
&lt;/h3&gt;

&lt;p&gt;The first course in the certification series, Selecting Subsets of Data in Pandas, is free to take. It includes 8 hours of live instructions, over 100 exercises, and a challenging certification exam. &lt;a href="https://www.dunderdata.com/selecting-subsets-of-data-pandas-certification"&gt;Sign up to take this class for FREE here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Courses
&lt;/h3&gt;

&lt;p&gt;There are currently seven courses in the series that will cover nearly all of the pandas library. A description of each course is provided below. To get more info and to register, visit the &lt;a href="https://www.dunderdata.com/live-online-courses"&gt;Python Pandas Certification home page&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Course 1: Selecting Subsets of Data in Pandas
&lt;/h3&gt;

&lt;p&gt;Selecting a subset of data is perhaps the most common task performed in pandas. Unfortunately, there are many different (and overlapping) ways to select various rows and columns of a pandas DataFrame. This course goes into great detail into all of the various ways to select data and gives guidance on choosing the most effective method for specific situations. &lt;a href="https://www.dunderdata.com/selecting-subsets-of-data-pandas-certification"&gt;This course is FREE to take and begins March 29&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Course 2: Essential Pandas Commands
&lt;/h3&gt;

&lt;p&gt;In this course, you’ll learn the most common and fundamental commands used in just about every data analysis. You’ll learn the distinction between methods that aggregate (summarize the data with a single number) and those that do not. You’ll learn how to change the direction of the operation so that calculations are done horizontally as well as vertically (the default for DataFrames). You’ll work with missing values and perform other tasks such as sorting, ranking, and looking for unique values.&lt;/p&gt;

&lt;p&gt;You will also learn how to operate on string and date columns, which require a different set of methods than numeric columns. You’ll learn about all of the many kinds of data types that pandas offers and how to operate with them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Course 3: Grouping Data
&lt;/h3&gt;

&lt;p&gt;In Essential Pandas Commands, you learn to operate on the entire dataset. In Grouping Data, you learn how to operate on independent groups with the dataset. You’ll learn how to aggregate and summarize each group by a single statistic and present the information as a pivot table.&lt;/p&gt;

&lt;p&gt;Grouping data in pandas opens you up to the possibility of writing extremely inefficient code. It’s not unusual to see performance gains of 10–100x by rewriting code in a more efficient manner. You will learn specific approaches to writing efficient grouping commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  Course 4: Time Series
&lt;/h3&gt;

&lt;p&gt;Pandas provides a variety of tools to process time series data. You will learn how to sample and group time series by different periods of time. You’ll also learn how to perform moving aggregate operations. You will complete a project analyzing coronavirus cases and deaths from different countries.&lt;/p&gt;

&lt;h3&gt;
  
  
  Course 5: Cleaning Data
&lt;/h3&gt;

&lt;p&gt;It’s often that you’ll want to transform the initial dataset given to you to a different form, before attempting any serious data analysis. Text data is particularly difficult to work with if it is not properly transformed. You’ll learn the fundamentals of regular expressions, which match patterns within text to help discover and extract particular pieces of information. You’ll also learn how to reshape your data and convert it to a form that makes data analysis simpler.&lt;/p&gt;

&lt;h3&gt;
  
  
  Course 6: Joining Data
&lt;/h3&gt;

&lt;p&gt;Working with multiple datasets simultaneously often requires you to merge them into a single table. You’ll learn how to join together multiple pandas objects together. You’ll also learn how to join tables using SQL-like logic. You will learn about data normalization and complete exercises where you transform datasets so that they are normalized.&lt;/p&gt;

&lt;h3&gt;
  
  
  Course 7: Data Visualization
&lt;/h3&gt;

&lt;p&gt;You will first learn the basics of matplotlib, a powerful and popular data visualization library in Python. You’ll then learn how to plot data with it as well as with the pandas and seaborn libraries. You will learn about the different approaches that different libraries take to plotting data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Exercises, Projects, and Exams
&lt;/h3&gt;

&lt;p&gt;To help you gain mastery of pandas so that you can use it effectively in a professional environment, each course will come with dozens of exercises and at least on project. All exercises have detailed solutions to help you reinforce the material.&lt;/p&gt;

&lt;p&gt;Each course has a challenging comprehensive exam on the material covered. Passing it will earn you a certificate of completion.&lt;/p&gt;

&lt;h3&gt;
  
  
  Register for the entire series
&lt;/h3&gt;

&lt;p&gt;If you desire a mastery of pandas with proof that you are indeed an expert, then you’ll want to sign up for the &lt;a href="https://www.dunderdata.com/live-online-courses"&gt;Python Pandas Certification Courses.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Instructor
&lt;/h3&gt;

&lt;p&gt;My name is Ted Petrou and I have written two books on the pandas library:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dunderdata.com/master-data-analysis-with-python"&gt;Master Data Analysis with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.ca/Pandas-Cookbook-Scientific-Computing-Visualization-ebook/dp/B06W2LXLQK"&gt;Pandas Cookbook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have completely mastered how to use the pandas library effectively and would love to be your guide for reaching the same level. I have taught more than 1,000 hours of live classes on pandas and know exactly where the pain points are and how to alleviate them. My classes are interactive and keep your hands on the keyboard so that you are coding along with me. Feel free to reach out to me with any questions — ted@dunderdata.&lt;/p&gt;




</description>
      <category>datavisualization</category>
      <category>pandas</category>
      <category>datascience</category>
      <category>python</category>
    </item>
    <item>
      <title>The Remarkable Similarity of Covid-19 Infection Waves throughout the World</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Tue, 01 Dec 2020 19:26:56 +0000</pubDate>
      <link>https://dev.to/dunderdata/the-remarkable-similarity-of-covid-19-infection-waves-throughout-the-world-4dlf</link>
      <guid>https://dev.to/dunderdata/the-remarkable-similarity-of-covid-19-infection-waves-throughout-the-world-4dlf</guid>
      <description>&lt;p&gt;I have been modeling covid-19 cases and deaths in all areas of the world for the past six months. I built the ![coronavirus forecasting dashboard][&lt;a href="https://coronavirus.dunderdata.com"&gt;https://coronavirus.dunderdata.com&lt;/a&gt;] which makes predictions for covid cases/deaths for all countries and US states. In this post, I will explore the remarkable similarity of covid infection waves across many areas of the world.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NOtyvAQS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ckvni52uictcc3fudfoe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NOtyvAQS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ckvni52uictcc3fudfoe.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Similarity of Covid Waves by Area
&lt;/h2&gt;

&lt;p&gt;Understanding the shape and trajectory of covid waves can provide useful approximations for the time frame where many infections will occur. When I speak of “covid waves”, I refer to the rise and fall of cases (confirmed infections) in a particular area of the world.&lt;/p&gt;

&lt;p&gt;One remarkable observation thus far, is that nearly all areas have covid waves that follow similar trajectories and last a similar amount of time. The most widely available data to track covid waves is the number of daily cases reported. While the severity of individual cases varies, the daily number provides a good indication of the overall covid activity in an area. To help improve the discussion, I have defined the following covid wave stages and approximate length each area spends within them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trough&lt;/strong&gt; — same low number of daily cases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start&lt;/strong&gt; — slow increase in daily cases (1–3 weeks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outbreak&lt;/strong&gt; — rapid (quadratic/exponential) increase in daily cases (1–3 weeks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Growth&lt;/strong&gt; — steady (linear) increase in daily cases (1–3 weeks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flattening&lt;/strong&gt; — daily cases slowly stop increasing (1–3 weeks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Peak&lt;/strong&gt; — same number of daily cases (1–3 weeks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drop&lt;/strong&gt; — steady (linear) decrease in daily cases (1–3 weeks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stop&lt;/strong&gt; — slow decrease in daily cases (1–3 weeks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trough&lt;/strong&gt; — same low number of daily cases (until the next wave)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Example Covid Waves
&lt;/h2&gt;

&lt;p&gt;In this section, I’ll look at covid waves in specific areas. During the early parts of the pandemic (March-April 2020), covid struck areas that rank high in population density, industrialization, and connectedness to the world — Western Europe and the North Eastern United States. Although testing at this time was far lower than it is today, these countries and US states will be used as first examples of covid waves.&lt;/p&gt;

&lt;p&gt;Let’s take a look at New York state which experienced its first major covid outbreak in mid-March. The data below is of smoothed daily cases. Using the raw data cases is much messier and more difficult to spot the wave stages. Although New York state is fairly large, most of the population (and initial covid activity) was from New York City, so it works well as a single “area”. As we will discover, its covid wave is typical, lasting about 15 weeks or 3–4 months.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cY9rzzFZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/67l1xi5rq7khe9oszwj4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cY9rzzFZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/67l1xi5rq7khe9oszwj4.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Italy was the first western nation to have an outbreak, just a couple weeks before New York. It’s covid wave followed a very similar pattern.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6PzO9pGe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h198g38zk0i2ravp2xk9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6PzO9pGe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h198g38zk0i2ravp2xk9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Normalizing Covid Waves
&lt;/h2&gt;

&lt;p&gt;Instead of plotting each covid wave individually, several of them can be plotted at the same time for easier comparison. Because, each has a different maximum value, they are normalized (scaled) such that the maximum value is 1 for each. Five North Eastern states are plotted below. You can see the similarity between each.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rx64B_8T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/emoj6g8mxp5qw8niihq3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rx64B_8T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/emoj6g8mxp5qw8niihq3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Shifting Covid Waves
&lt;/h2&gt;

&lt;p&gt;Different states reach their peaks at different times. To make the comparison even easier, each wave is shifted so that their peaks align. Several Western European nations are plotted together with these states. Despite being in different areas of the world, the waves share a remarkably similar shape.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WisYKlya--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hret15dw8m76kubqedx6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WisYKlya--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hret15dw8m76kubqedx6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Examining Smaller Areas
&lt;/h2&gt;

&lt;p&gt;Looking at aggregated state or country data hides covid outbreaks that happen at different dates within that particular state or country. Take a look at daily covid cases in the large state of Texas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_d5nE5Jc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y2hbosgc3ojcwn51xy0c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_d5nE5Jc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y2hbosgc3ojcwn51xy0c.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While there is clearly a wave from June to September and another one beginning in October, this aggregated total misses waves from different areas of the state.&lt;/p&gt;

&lt;p&gt;Texas is the second largest US state, sitting around 270,000 square miles. It takes around 14 hours of driving to go from El Paso (Western border) to Orange (Eastern border). El Paso is very isolated from all the other major cities in Texas, separated by hundreds of miles of desert, and so far west it’s in a different time zone.&lt;/p&gt;

&lt;h3&gt;
  
  
  El Paso vs Houston
&lt;/h3&gt;

&lt;p&gt;The wonderful John Hopkins Github repository has covid data for each county in the US. From this data, smoothed daily cases are made for both El Paso and Houston, the largest city in Texas, very far from El Paso. While both cities had summer waves, El Paso had a much larger wave beginning in mid-September and is just now close to completing. Houston appears to be in the growth stage of a second wave.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OddCCdEC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xf7kheh6yvo2t5b792ie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OddCCdEC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xf7kheh6yvo2t5b792ie.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even though El Paso is a fairly large city with nearly 700,000 residents, it accounts for less than 3% of the total population of Texas. Their latest major wave barely registers on the aggregated Texas total of daily cases from above.&lt;/p&gt;

&lt;p&gt;El Paso’s latest wave appears to follow the typical pattern seen in the initial waves of the North Eastern US and Western Europe, and is likely to last the same amount of time (3–4 months).&lt;/p&gt;

&lt;h3&gt;
  
  
  New York City vs All Others
&lt;/h3&gt;

&lt;p&gt;Getting back to New York state — splitting the counties by proximity to New York City shows a clear difference in their covid waves. The less dense areas outside of New York City are seeing their largest wave (and hopefully nearing the flattening stage). It remains to be seen whether this wave lasts the typical 3–4 months.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j2OZomYn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/di279zyrkvwjac4uv8tw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j2OZomYn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/di279zyrkvwjac4uv8tw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  India
&lt;/h3&gt;

&lt;p&gt;Turning to India, the country likely with the most overall total infections (currently second in confirmed infections), has daily case data that appears to be one long six or more month wave.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qzKMSN-Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/creufqo7gykysg5s7rov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qzKMSN-Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/creufqo7gykysg5s7rov.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like the US, India is a huge country with diverse geographic regions. Inspecting the nine largest Indian states reveals covid waves that are fairly similar to those in the US and Europe, lasting perhaps a bit longer (4–5 months).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WkKWAkI6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9tp0q0yq3e2knh32eb8b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WkKWAkI6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9tp0q0yq3e2knh32eb8b.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All of these states are very large, with the smallest having 43 million residents. I imagine that dividing these states into even smaller regions could reveal more typical covid waves.&lt;br&gt;
Isolated Areas&lt;/p&gt;

&lt;p&gt;This pattern of covid waves seems to hold regardless of the geography or population density. The rural states of Montana, North Dakota, and South Dakota saw little covid activity until July/August with outbreaks happening in September. All three are following a typical covid wave trajectory and are into the drop phase and should complete their wave around the new year.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W1mA4d-g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6gvf5lyhvsreeeg9s8cb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W1mA4d-g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6gvf5lyhvsreeeg9s8cb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Eastern Europe
&lt;/h3&gt;

&lt;p&gt;Eastern Europe (which I define as countries east of the border formed by Germany, Austria, and Italy) also had little covid activity until the late summer. These countries are far more dense than the central US states, but are less connected to the world than Western Europe, have less tourism, and less GDP per capita. The closest countries to Western Europe, Czechia and Slovakia, began their prototypical covid wave patterns first, followed by those countries further east.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b3yC_jU7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nlyfva3rhmkvfqpnih0z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b3yC_jU7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nlyfva3rhmkvfqpnih0z.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Australia and New Zealand
&lt;/h3&gt;

&lt;p&gt;The isolated islands of Australia and New Zealand with little overall covid activity due to harsh lockdown measures still exhibited similar covid waves.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dXYUj5W2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fgdjujdsdzpk5k5o1675.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dXYUj5W2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fgdjujdsdzpk5k5o1675.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Counterexamples
&lt;/h2&gt;

&lt;p&gt;I have yet to locate an area of the world with a covid wave that differs significantly from the ones above. Nearly all appear to follow the same pattern from trough to peak back to trough in a span of 3–4 months. If an area appears to violate this pattern, it is likely because the are encompasses a geographic area that is too large with a large population.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fractal Nature of Covid Waves
&lt;/h2&gt;

&lt;p&gt;In this section, I explore the idea that covid waves have some properties of fractals all the way down to within the human body. From above, we saw how aggregated totals of large states or countries such as New York, Texas, and India can hide the underlying covid waves of smaller geographic areas. The best examples to reveal covid waves are small, rural, isolated cities, states, or countries, such as El Paso, North Dakota, or Czechia.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dXYUj5W2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fgdjujdsdzpk5k5o1675.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dXYUj5W2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fgdjujdsdzpk5k5o1675.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It could well be the case that examining smaller and smaller areas, for instance, neighborhoods in a city, similar covid waves would appear. Geometric shapes that have the same patterns for each increasingly smaller area that you magnify are called fractals.&lt;/p&gt;

&lt;p&gt;The animated image on the left is a classic example of a fractal showing the same repeating pattern while magnification goes on indefinitely.&lt;/p&gt;

&lt;p&gt;As a whole, the covid-19 pandemic is not quite fractal since the aggregated totals do have different trajectories than the small geographic areas. But, I suspect that as we examine smaller and smaller groups, the covid waves will converge to some limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  City to Neighborhood to House to Self
&lt;/h2&gt;

&lt;p&gt;The city level was the smallest area we looked at in this post with the example of the isolated city of El Paso having its own covid wave at a different time than the rest of Texas.&lt;/p&gt;

&lt;p&gt;But what if we looked further down and performed an analysis by city neighborhood? Intuitively, people in the same neighborhood would have their own covid wave. Going further, isolated communities such as nursing homes have had some of the worst covid outbreaks and likely have their own wave.&lt;/p&gt;

&lt;p&gt;How about our own bodies? Once someone has covid, the virus multiplies quickly before the immune system fights it and clears the infection. This process seems to last between 2–4 weeks. Could this be the limiting covid wave after peeling back all of the layers?&lt;/p&gt;

&lt;h2&gt;
  
  
  Black Friday Special 2020 — Get 50% Off — Limited Time Offer!
&lt;/h2&gt;

&lt;p&gt;If you’ve enjoyed this article and are interested in mastering the python data science libraries so that you can produce trusted results in a professional environment, take a course with me. &lt;a href="//dunderdata.com"&gt;You can get 50% off all my courses&lt;/a&gt; today for a limited time!&lt;/p&gt;

</description>
      <category>covid</category>
      <category>datascience</category>
      <category>python</category>
    </item>
    <item>
      <title>Instantly Beautify Matplotlib Plots by Viewing all Available Styles</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Fri, 26 Jun 2020 23:32:55 +0000</pubDate>
      <link>https://dev.to/dunderdata/instantly-beautify-matplotlib-plots-by-viewing-all-available-styles-2bjg</link>
      <guid>https://dev.to/dunderdata/instantly-beautify-matplotlib-plots-by-viewing-all-available-styles-2bjg</guid>
      <description>&lt;p&gt;In this post, you’ll learn about the different available matplotlib styles that can instantly change the appearance of the plot. Let’s begin by making a simple line plot using the default style. This simple style is often the first (and sometimes only) style that many people encounter with matplotlib not realizing how easy it is to choose others.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-2, 8, .1)
y = .1 \* x \*\* 3 - x \*\* 2 + 3 \* x + 2

fig, ax = plt.subplots(figsize=(4.5, 3), dpi=100)
ax.plot(x, y)
ax.set\_title('Default Matplotlib Style');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Z7AU5NLr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/proxy/1%2AFsGuDBNobRqZRC3WBa7zZA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z7AU5NLr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/proxy/1%2AFsGuDBNobRqZRC3WBa7zZA.png" alt="png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Viewing all of the available styles
&lt;/h4&gt;

&lt;p&gt;There are nearly 30 builtin styles to matplotlib that can be activated with the plt.style.use function. The style names are available in the plt.style.available list. In the following code, we iterate through all of the available styles, then make the same line plot as above, setting the style temporarily for each Axes with plt.style.context.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fig = plt.figure(dpi=100, figsize=(10, 20), tight\_layout=True)
available = ['default'] + plt.style.available
for i, style in enumerate(available):
    with plt.style.context(style):
        ax = fig.add\_subplot(10, 3, i + 1)
        ax.plot(x, y)
    ax.set\_title(style)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ada28VwT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/proxy/1%2A2KJkTmjv4MnejfTmBYkpkg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ada28VwT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/proxy/1%2A2KJkTmjv4MnejfTmBYkpkg.png" alt="png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Showing the style settings
&lt;/h4&gt;

&lt;p&gt;Each style’s settings are stored in the plt.style.library dictionary. Here, we get all of the settings for the seaborn-darkgrid style.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;plt.style.library['seaborn-darkgrid']

RcParams({'axes.axisbelow': True,
          'axes.edgecolor': 'white',
          'axes.facecolor': '#EAEAF2',
          'axes.grid': True,
          'axes.labelcolor': '.15',
          'axes.linewidth': 0.0,
          'figure.facecolor': 'white',
          'font.family': ['sans-serif'],
          'font.sans-serif': ['Arial',
                              'Liberation Sans',
                              'DejaVu Sans',
                              'Bitstream Vera Sans',
                              'sans-serif'],
          'grid.color': 'white',
          'grid.linestyle': '-',
          'image.cmap': 'Greys',
          'legend.frameon': False,
          'legend.numpoints': 1,
          'legend.scatterpoints': 1,
          'lines.solid\_capstyle': 'round',
          'text.color': '.15',
          'xtick.color': '.15',
          'xtick.direction': 'out',
          'xtick.major.size': 0.0,
          'xtick.minor.size': 0.0,
          'ytick.color': '.15',
          'ytick.direction': 'out',
          'ytick.major.size': 0.0,
          'ytick.minor.size': 0.0})
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;To set a style for the current session, do so with plt.style.use and reset to the default style with plt.style.use('default').&lt;/p&gt;

&lt;h4&gt;
  
  
  Completely Master Matplotlib
&lt;/h4&gt;

&lt;p&gt;If you are interested in completely mastering matplotlib so that you can produce trusted results, take a look at my book &lt;a href="https://www.dunderdata.com/master-data-analysis-with-python"&gt;Master Data Analysis with Python&lt;/a&gt;.&lt;/p&gt;




</description>
      <category>python</category>
      <category>matplotlib</category>
      <category>jupyter</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Matplotlib Builtin Styles</title>
      <dc:creator>Ted Petrou</dc:creator>
      <pubDate>Fri, 26 Jun 2020 16:51:16 +0000</pubDate>
      <link>https://dev.to/dunderdata/matplotlib-builtin-styles-6na</link>
      <guid>https://dev.to/dunderdata/matplotlib-builtin-styles-6na</guid>
      <description>&lt;h3&gt;
  
  
  Instantly Beautify Matplotlib Plots by Viewing all Available Styles
&lt;/h3&gt;

&lt;p&gt;In this post, you’ll learn about the different available matplotlib styles that can instantly change the appearance of the plot. Let’s begin by making a simple line plot using the default style. This simple style is often the first (and sometimes only) style that many people encounter with matplotlib not realizing how easy it is to choose others.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-2, 8, .1)
y = .1 \* x \*\* 3 - x \*\* 2 + 3 \* x + 2

fig, ax = plt.subplots(figsize=(4.5, 3), dpi=100)
ax.plot(x, y)
ax.set\_title('Default Matplotlib Style');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Z7AU5NLr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/proxy/1%2AFsGuDBNobRqZRC3WBa7zZA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z7AU5NLr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/proxy/1%2AFsGuDBNobRqZRC3WBa7zZA.png" alt="png" width="398" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Viewing all of the available styles
&lt;/h4&gt;

&lt;p&gt;There are nearly 30 builtin styles to matplotlib that can be activated with the plt.style.use function. The style names are available in the plt.style.available list. In the following code, we iterate through all of the available styles, then make the same line plot as above, setting the style temporarily for each Axes with plt.style.context.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fig = plt.figure(dpi=100, figsize=(10, 20), tight\_layout=True)
available = ['default'] + plt.style.available
for i, style in enumerate(available):
    with plt.style.context(style):
        ax = fig.add\_subplot(10, 3, i + 1)
        ax.plot(x, y)
    ax.set\_title(style)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ada28VwT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/proxy/1%2A2KJkTmjv4MnejfTmBYkpkg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ada28VwT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/proxy/1%2A2KJkTmjv4MnejfTmBYkpkg.png" alt="png" width="880" height="1770"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Showing the style settings
&lt;/h4&gt;

&lt;p&gt;Each style’s settings are stored in the plt.style.library dictionary. Here, we get all of the settings for the seaborn-darkgrid style.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;plt.style.library['seaborn-darkgrid']

RcParams({'axes.axisbelow': True,
          'axes.edgecolor': 'white',
          'axes.facecolor': '#EAEAF2',
          'axes.grid': True,
          'axes.labelcolor': '.15',
          'axes.linewidth': 0.0,
          'figure.facecolor': 'white',
          'font.family': ['sans-serif'],
          'font.sans-serif': ['Arial',
                              'Liberation Sans',
                              'DejaVu Sans',
                              'Bitstream Vera Sans',
                              'sans-serif'],
          'grid.color': 'white',
          'grid.linestyle': '-',
          'image.cmap': 'Greys',
          'legend.frameon': False,
          'legend.numpoints': 1,
          'legend.scatterpoints': 1,
          'lines.solid\_capstyle': 'round',
          'text.color': '.15',
          'xtick.color': '.15',
          'xtick.direction': 'out',
          'xtick.major.size': 0.0,
          'xtick.minor.size': 0.0,
          'ytick.color': '.15',
          'ytick.direction': 'out',
          'ytick.major.size': 0.0,
          'ytick.minor.size': 0.0})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To set a style for the current session, do so with plt.style.use and reset to the default style with plt.style.use('default').&lt;/p&gt;

&lt;h4&gt;
  
  
  Completely Master Matplotlib
&lt;/h4&gt;

&lt;p&gt;If you are interested in completely mastering matplotlib so that you can produce trusted results, take a look at my book &lt;a href="https://www.dunderdata.com/master-data-analysis-with-python"&gt;Master Data Analysis with Python&lt;/a&gt;.&lt;/p&gt;




</description>
      <category>datascience</category>
      <category>python</category>
      <category>jupyternotebook</category>
      <category>datavisualization</category>
    </item>
  </channel>
</rss>
