

{"id":79504,"date":"2020-07-27T12:39:27","date_gmt":"2020-07-27T07:09:27","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=79504"},"modified":"2020-08-06T23:40:56","modified_gmt":"2020-08-06T18:10:56","slug":"covid-19-spread-analysis-python","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/","title":{"rendered":"Python Project &#8211; COVID-19 Spread Analysis with Flask"},"content":{"rendered":"<p>In this python project, we will implement a live dashboard for COVID 19 spread analysis. This dashboard will provide many insightful visualizations for the study of coronavirus spread. In this project, we will work on three different datasets and generate different dashboards.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-analysis-output.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79901\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-analysis-output.gif\" alt=\"covid-19 analysis output\" width=\"1915\" height=\"988\" \/><\/a><\/p>\n<h2>Analyze COVID-19 Virus Spread with Python<\/h2>\n<p>We will be using flask and folium python packages for making interactive dashboards.<\/p>\n<p><strong>Flask:<\/strong> It is a web server gateway interface application in python. This is used for developing web apps. Using Flask we can build applications that can scale up to complex applications. Install Flask using:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">pip install Flask\r\n<\/pre>\n<p><strong>Folium:<\/strong> It is a python API for visualizing data. It is a good API to include map related visualizations. Install Folium using:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">pip install folium\r\n<\/pre>\n<h3>Download Dataset<\/h3>\n<p>The dataset consists of corona spread data from different countries and different cities.\u00a0This dataset also contains the latitude and longitude of corona affected areas. We will filter and visualize the countries and the cites within countries with maximum corona cases.<\/p>\n<p>Please download all the datasets: <a href=\"https:\/\/data-flair.training\/blogs\/download-covid-19-dataset\/\"><strong>Covid-19 DataSet<\/strong><\/a><\/p>\n<h3>Let&#8217;s dive to project code<\/h3>\n<p>The directory tree for the project is as follows:<\/p>\n<ul>\n<li>app.py<\/li>\n<li>templates:\n<ul>\n<li>home.html<\/li>\n<li>base.html<\/li>\n<\/ul>\n<\/li>\n<li>static:\n<ul>\n<li>style.css<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Create a file app.py and add the following code:<\/strong><\/p>\n<p>1. Load the dataset and collect the top 15 regions having the largest corona cases:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import pandas as pd\r\ncorona_df = pd.read_csv('dataset.csv')\r\nby_country = corona_df.groupby('Country_Region').sum()[['Confirmed', 'Deaths', 'Recovered', 'Active']]\r\ncdf = by_country.nlargest(n, 'Confirmed')[['Confirmed']]\r\n<\/pre>\n<p>For ease, let&#8217;s make a function that will return the updated data frame, cdf.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">def find_top_confirmed(n = 15):\r\n\r\n  import pandas as pd\r\n  corona_df = pd.read_csv('dataset.csv')\r\n  by_country = corona_df.groupby('Country_Region').sum()[['Confirmed', 'Deaths', 'Recovered', 'Active']]\r\n  cdf = by_country.nlargest(n, 'Confirmed')[['Confirmed']]\r\n  return cdf\r\n<\/pre>\n<p>2. Make a sample map using the folium package and write a function to make circles on active corona cases regions:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import folium\r\nimport pandas as pd\r\ncorona_df = pd.read_csv('dataset.csv')\r\n\r\ncorona_df=corona_df.dropna()\r\n\r\nm=folium.Map(location=[34.223334,-82.461707],\r\n            tiles='Stamen toner',\r\n            zoom_start=8)\r\n\r\ndef circle_maker(x):\r\n    folium.Circle(location=[x[0],x[1]],\r\n                 radius=float(x[2])*10,\r\n                 color=\"red\",\r\n                 popup='{}\\n confirmed cases:{}'.format(x[3],x[2])).add_to(m)\r\ncorona_df[['Lat','Long_','Confirmed','Combined_Key']].apply(lambda x:circle_maker(x),axis=1)\r\n\r\nhtml_map=m._repr_html_()\r\n<\/pre>\n<p>3. Now do the required settings for flask app.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from flask import Flask,render_template\r\n\r\napp=Flask(__name__)\r\n\r\n@app.route('\/')\r\ndef home():\r\n    return render_template(\"home.html\",table=cdf, cmap=html_map,pairs=pairs)\r\n\r\nif __name__==\"__main__\":\r\n    app.run(debug=True)\r\n<\/pre>\n<p>4. Now create two HTML pages inside templates folder: base.html and home.html and paste the below code in it.<\/p>\n<p><strong>base.html:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;head&gt;\r\n  &lt;link\r\n    rel=\"stylesheet\"\r\n    href=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.0\/css\/bootstrap.min.css\"\r\n    integrity=\"sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk\"\r\n    crossorigin=\"anonymous\"\r\n  \/&gt;\r\n\r\n  &lt;link\r\n    rel=\"stylesheet\"\r\n    type=\"text\/css\"\r\n    href=\"{{ url_for('static',filename='style.css')}}\"\r\n  \/&gt;\r\n&lt;\/head&gt;\r\n\r\n{% block content %} {% endblock %}\r\n<\/pre>\n<p><strong>home.html:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">{% extends \"base.html\" %} {% block content %}\r\n\r\n\r\n&lt;div class=\"container\"&gt;\r\n    &lt;h1&gt;COVID-19 Spread Analysis&lt;\/h1&gt;\r\n  &lt;div class=\"row\"&gt;\r\n    \r\n    &lt;div class=\"col-4\"&gt;\r\n        &lt;h5&gt;&lt;font color=\"red\"&gt;Top 15 countries&lt;\/font&gt;&lt;\/h5&gt;\r\n        &lt;p&gt;This data comes from a resource&lt;\/p&gt;\r\n        &lt;table class=\"table-responsive-sm table-dark\"&gt;\r\n        &lt;thead&gt;\r\n            &lt;tr&gt;\r\n            &lt;th scope=\"col\"&gt;Country&lt;\/th&gt;\r\n            &lt;th scope=\"col\"&gt;Confirmed&lt;\/tr&gt;\r\n                &lt;\/tr&gt;\r\n        &lt;\/thead&gt;\r\n        &lt;tbody&gt;\r\n    {% for pair in pairs %}\r\n    &lt;tr&gt;\r\n    &lt;td&gt;{{ pair[0]}}&lt;\/td&gt;\r\n    &lt;td&gt;{{ pair[1]}}&lt;\/td&gt;\r\n    &lt;\/tr&gt;\r\n    {% endfor %}\r\n    &lt;\/tbody&gt;\r\n    &lt;\/table&gt;&lt;\/div&gt;\r\n    &lt;div class=\"col-8\"&gt;\r\n        &lt;h5&gt;&lt;font color=\"firebrick\"&gt;world map of corona cases&lt;\/font&gt;&lt;\/h5&gt;\r\n        &lt;p&gt;using the same data we provided an updated map that contains&lt;\/p&gt;\r\n        {{cmap|safe}}&lt;\/div&gt;\r\n        \r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n\r\n{% endblock %}\r\n<\/pre>\n<p>5. Inside static folder make style.css file and paste the below code.<\/p>\n<p><strong>style.css:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">body {\r\n  background-color: black;\r\n  color: white;\r\n}\r\n\r\nh1, td, tr {\r\n    color: white;\r\n}\r\n<\/pre>\n<p>Now run the flask app and visualize corona statistics using the dashboard. To run the flask app open the terminal and run the app.py file.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">python3 app.py\r\n<\/pre>\n<p>Now, open the dashboard at localhost:5050<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-analysis-part-1.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79902\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-analysis-part-1.gif\" alt=\"covid-19 analysis part-1\" width=\"1910\" height=\"991\" \/><\/a><\/p>\n<h3>Project part-2<\/h3>\n<p>Let&#8217;s perform a similar analysis on new datasets. The steps are similar which we have discussed in the previous run<\/p>\n<h3>Download the dataset<\/h3>\n<p>Please download the second dataset: <a href=\"https:\/\/data-flair.training\/blogs\/download-covid-19-dataset\/\"><strong>Covid-19 DataSet<\/strong><\/a><\/p>\n<p>Create the following files:<\/p>\n<ul>\n<li>app.py<\/li>\n<li>base.html, and home.html inside templates folder<\/li>\n<li>style.css inside static folder.<\/li>\n<\/ul>\n<p>After creating all the files paste the below code inside respective files:<\/p>\n<p><strong>app.py:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">def find_top_confirmed(n = 15):\r\n\r\n    import pandas as pd\r\n    corona_df=pd.read_csv(\"dataset2.csv\")\r\n    by_country = corona_df.groupby('Country').sum()[['Confirmed', 'Deaths', 'Recovered', 'Active']]\r\n    cdf = by_country.nlargest(n, 'Confirmed')[['Confirmed']]\r\n    return cdf\r\n\r\ncdf=find_top_confirmed()\r\npairs=[(country,confirmed) for country,confirmed in zip(cdf.index,cdf['Confirmed'])]\r\n\r\n\r\nimport folium\r\nimport pandas as pd\r\ncorona_df = pd.read_csv(\"dataset2.csv\")\r\ncorona_df=corona_df[['Lat','Long_','Confirmed']]\r\ncorona_df=corona_df.dropna()\r\n\r\nm=folium.Map(location=[34.223334,-82.461707],\r\n            tiles='Stamen toner',\r\n            zoom_start=8)\r\n\r\ndef circle_maker(x):\r\n    folium.Circle(location=[x[0],x[1]],\r\n                 radius=float(x[2]),\r\n                 color=\"red\",\r\n                 popup='confirmed cases:{}'.format(x[2])).add_to(m)\r\ncorona_df.apply(lambda x:circle_maker(x),axis=1)\r\n\r\nhtml_map=m._repr_html_()\r\nfrom flask import Flask,render_template\r\n\r\napp=Flask(__name__)\r\n\r\n@app.route('\/')\r\ndef home():\r\n    return render_template(\"home.html\",table=cdf, cmap=html_map,pairs=pairs)\r\n\r\nif __name__==\"__main__\":\r\n    app.run(debug=True)\r\n<\/pre>\n<p><strong>base.html:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;head&gt;\r\n  &lt;link\r\n    rel=\"stylesheet\"\r\n    href=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.0\/css\/bootstrap.min.css\"\r\n    integrity=\"sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk\"\r\n    crossorigin=\"anonymous\"\r\n  \/&gt;\r\n\r\n  &lt;link\r\n    rel=\"stylesheet\"\r\n    type=\"text\/css\"\r\n    href=\"{{ url_for('static',filename='style.css')}}\"\r\n  \/&gt;\r\n&lt;\/head&gt;\r\n\r\n{% block content %} {% endblock %}\r\n<\/pre>\n<p><strong>home.html:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">{% extends \"base.html\" %} {% block content %}\r\n\r\n\r\n&lt;div class=\"container\"&gt;\r\n    &lt;h1&gt;COVID-19 Spread Analysis&lt;\/h1&gt;\r\n  &lt;div class=\"row\"&gt;\r\n    \r\n    &lt;div class=\"col-4\"&gt;\r\n        &lt;h5&gt;&lt;font color=\"red\"&gt;Top 15 country&lt;\/font&gt;&lt;\/h5&gt;\r\n        &lt;p&gt;This is the countrywise covid-19 data upto 20 july 2020.&lt;\/p&gt;\r\n        &lt;table class=\"table-responsive-sm table-dark\"&gt;\r\n        &lt;thead&gt;\r\n            &lt;tr&gt;\r\n            &lt;th scope=\"col\"&gt;Country&lt;\/th&gt;\r\n            &lt;th scope=\"col\"&gt;Confirmed&lt;\/tr&gt;\r\n                &lt;\/tr&gt;\r\n        &lt;\/thead&gt;\r\n        &lt;tbody&gt;\r\n    {% for pair in pairs %}\r\n    &lt;tr&gt;\r\n    &lt;td&gt;{{ pair[0]}}&lt;\/td&gt;\r\n    &lt;td&gt;{{ pair[1]}}&lt;\/td&gt;\r\n    &lt;\/tr&gt;\r\n    {% endfor %}\r\n    &lt;\/tbody&gt;\r\n    &lt;\/table&gt;&lt;\/div&gt;\r\n    &lt;div class=\"col-8\"&gt;\r\n        &lt;h5&gt;&lt;font color=\"firebrick\"&gt;world map of corona cases. The bigger the circle, bigger is the impace of corona virus in that province state.&lt;\/font&gt;&lt;\/h5&gt;\r\n        &lt;p&gt;using the same data we provided an updated map that contains&lt;\/p&gt;\r\n        {{cmap|safe}}&lt;\/div&gt;\r\n        \r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n\r\n{% endblock %}\r\n<\/pre>\n<p><strong>style.css:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">body {\r\n  background-color: black;\r\n  color: white;\r\n}\r\n\r\nh1,\r\ntd,\r\ntr {\r\n  color: white;\r\n}\r\n<\/pre>\n<p>Run the app.py file to run the flask app:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">python3 app.py\r\n<\/pre>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-analysis-output.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79901\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-analysis-output.gif\" alt=\"covid-19 analysis output\" width=\"1915\" height=\"988\" \/><\/a><\/p>\n<h3>Project part 3<\/h3>\n<p>Let&#8217;s perform a similar analysis on a different datasets. The steps are similar which we have discussed in the previous run<\/p>\n<p>Download dataset3 and repeat the steps for this dataset: <a href=\"https:\/\/data-flair.training\/blogs\/download-covid-19-dataset\/\"><strong>Covid-19 DataSet<\/strong><\/a><\/p>\n<p>This dataset contains state-wise information of COVID 19 cases.<\/p>\n<p><strong>app.py:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">def find_top_confirmed(n = 15):\r\n\r\n  import pandas as pd\r\n\r\n  corona_df=pd.read_csv(\"dataset3.csv\")\r\n  by_country = corona_df.groupby('Province_State').sum()[['Confirmed', 'Deaths', 'Recovered', 'Active']]\r\n  cdf = by_country.nlargest(n, 'Confirmed')[['Confirmed']]\r\n  return cdf\r\n\r\n\r\ncdf=find_top_confirmed()\r\npairs=[(province_state,confirmed) for province_state,confirmed in zip(cdf.index,cdf['Confirmed'])]\r\n\r\n\r\nimport folium\r\nimport pandas as pd\r\ncorona_df = pd.read_csv(\"dataset3.csv\")\r\ncorona_df=corona_df[['Lat','Long_','Confirmed']]\r\ncorona_df=corona_df.dropna()\r\n\r\nm=folium.Map(location=[34.223334,-82.461707],\r\n            tiles='Stamen toner',\r\n            zoom_start=8)\r\n\r\ndef circle_maker(x):\r\n    folium.Circle(location=[x[0],x[1]],\r\n                 radius=float(x[2]),\r\n                 color=\"red\",\r\n                 popup='confirmed cases:{}'.format(x[2])).add_to(m)\r\ncorona_df.apply(lambda x:circle_maker(x),axis=1)\r\n\r\nhtml_map=m._repr_html_()\r\nfrom flask import Flask,render_template\r\n\r\napp=Flask(__name__)\r\n\r\n@app.route('\/')\r\ndef home():\r\n    return render_template(\"home.html\",table=cdf, cmap=html_map,pairs=pairs)\r\n\r\nif __name__==\"__main__\":\r\n    app.run(debug=True)\r\n\r\n<\/pre>\n<p><strong>base.html:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;head&gt;\r\n  &lt;link\r\n    rel=\"stylesheet\"\r\n    href=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.0\/css\/bootstrap.min.css\"\r\n    integrity=\"sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk\"\r\n    crossorigin=\"anonymous\"\r\n  \/&gt;\r\n\r\n  &lt;link\r\n    rel=\"stylesheet\"\r\n    type=\"text\/css\"\r\n    href=\"{{ url_for('static',filename='style.css')}}\"\r\n  \/&gt;\r\n&lt;\/head&gt;\r\n\r\n{% block content %} {% endblock %}\r\n<\/pre>\n<p><strong>home.html:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">{% extends \"base.html\" %} {% block content %}\r\n\r\n\r\n&lt;div class=\"container\"&gt;\r\n    &lt;h1&gt;COVID-19 Spread Analysis&lt;\/h1&gt;\r\n  &lt;div class=\"row\"&gt;\r\n    \r\n    &lt;div class=\"col-4\"&gt;\r\n        &lt;h5&gt;&lt;font color=\"red\"&gt;Top 15 States&lt;\/font&gt;&lt;\/h5&gt;\r\n        &lt;p&gt;This is the province state wise covid-19 data upto 20 july 2020.&lt;\/p&gt;\r\n        &lt;table class=\"table-responsive-sm table-dark\"&gt;\r\n        &lt;thead&gt;\r\n            &lt;tr&gt;\r\n            &lt;th scope=\"col\"&gt;Province State&lt;\/th&gt;\r\n            &lt;th scope=\"col\"&gt;Confirmed&lt;\/tr&gt;\r\n                &lt;\/tr&gt;\r\n        &lt;\/thead&gt;\r\n        &lt;tbody&gt;\r\n    {% for pair in pairs %}\r\n    &lt;tr&gt;\r\n    &lt;td&gt;{{ pair[0]}}&lt;\/td&gt;\r\n    &lt;td&gt;{{ pair[1]}}&lt;\/td&gt;\r\n    &lt;\/tr&gt;\r\n    {% endfor %}\r\n    &lt;\/tbody&gt;\r\n    &lt;\/table&gt;&lt;\/div&gt;\r\n    &lt;div class=\"col-8\"&gt;\r\n        &lt;h5&gt;&lt;font color=\"firebrick\"&gt;world map of corona cases. The bigger the circle, bigger is the impace of corona virus in that province state.&lt;\/font&gt;&lt;\/h5&gt;\r\n        &lt;p&gt;using the same data we provided an updated map that contains&lt;\/p&gt;\r\n        {{cmap|safe}}&lt;\/div&gt;\r\n        \r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n\r\n{% endblock %}\r\n\r\n<\/pre>\n<p><strong>style.css:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">body {\r\n  background-color: black;\r\n  color: white;\r\n}\r\n\r\nh1,\r\ntd,\r\ntr {\r\n  color: white;\r\n}\r\n<\/pre>\n<p>Again run the app.py file and open the dashboard at localhost:5050<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-analysis-part-3.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79903\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-analysis-part-3.gif\" alt=\"covid-19 analysis part-3\" width=\"1918\" height=\"988\" \/><\/a><\/p>\n<h2>Summary<\/h2>\n<p>In this COVID-19 spread analysis project, we have seen how to build a dashboard using flask and python folium. In this dashboard, we are visualizing the region-wise effect of coronavirus. The table in the left panel shows the total active cases till date in the respective region. In the right panel, we have integrated a world map and represent the impact of the virus using a red circle. More the number of cases in the region on the map, the bigger is the red circle in that region. To integrate world map and red circles we make use of the python folium library.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this python project, we will implement a live dashboard for COVID 19 spread analysis. This dashboard will provide many insightful visualizations for the study of coronavirus spread. In this project, we will work&#46;&#46;&#46;<\/p>\n","protected":false},"author":7,"featured_media":79917,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[46],"tags":[22791,22789,22790,21082],"class_list":["post-79504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-covid-19-analysis","tag-flask-project","tag-python-dashboard","tag-python-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python Project - COVID-19 Spread Analysis with Flask - DataFlair<\/title>\n<meta name=\"description\" content=\"COVID-19 Spread Analysis with Python. In this project we will use Flask to develop an interactive dashboard for the analysis of coronavirus spread\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Project - COVID-19 Spread Analysis with Flask - DataFlair\" \/>\n<meta property=\"og:description\" content=\"COVID-19 Spread Analysis with Python. In this project we will use Flask to develop an interactive dashboard for the analysis of coronavirus spread\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-27T07:09:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-08-06T18:10:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-spread-analysis-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python Project - COVID-19 Spread Analysis with Flask - DataFlair","description":"COVID-19 Spread Analysis with Python. In this project we will use Flask to develop an interactive dashboard for the analysis of coronavirus spread","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/","og_locale":"en_US","og_type":"article","og_title":"Python Project - COVID-19 Spread Analysis with Flask - DataFlair","og_description":"COVID-19 Spread Analysis with Python. In this project we will use Flask to develop an interactive dashboard for the analysis of coronavirus spread","og_url":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2020-07-27T07:09:27+00:00","article_modified_time":"2020-08-06T18:10:56+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-spread-analysis-python.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd"},"headline":"Python Project &#8211; COVID-19 Spread Analysis with Flask","datePublished":"2020-07-27T07:09:27+00:00","dateModified":"2020-08-06T18:10:56+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/"},"wordCount":584,"commentCount":38,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-spread-analysis-python.jpg","keywords":["covid-19 analysis","flask project","python dashboard","Python project"],"articleSection":["Python Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/","url":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/","name":"Python Project - COVID-19 Spread Analysis with Flask - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-spread-analysis-python.jpg","datePublished":"2020-07-27T07:09:27+00:00","dateModified":"2020-08-06T18:10:56+00:00","description":"COVID-19 Spread Analysis with Python. In this project we will use Flask to develop an interactive dashboard for the analysis of coronavirus spread","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-spread-analysis-python.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/covid-19-spread-analysis-python.jpg","width":1200,"height":628,"caption":"covid-19 spread analysis python"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/covid-19-spread-analysis-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Python Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/python\/"},{"@type":"ListItem","position":3,"name":"Python Project &#8211; COVID-19 Spread Analysis with Flask"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team specializes in creating clear, actionable content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Backed by industry expertise, we make learning easy and career-oriented for beginners and pros alike.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam3\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/79504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=79504"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/79504\/revisions"}],"predecessor-version":[{"id":79924,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/79504\/revisions\/79924"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/79917"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=79504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=79504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=79504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}