Advertisement
XinyuanD

program03_HW

Jan 28th, 2023
762
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.08 KB | None | 0 0
  1. import pandas as pd
  2. import branca
  3. import folium
  4. import numpy as np
  5. import json
  6. import geopandas as gpd
  7.  
  8. geo_data = gpd.read_file("C:\\Users\\xduan\\OneDrive - Eastside Preparatory School\\Documents\\Winter10th\\Adv Prog DataViz\\geojson-counties-fips.json")
  9. covid_df = pd.read_csv("C:\\Users\\xduan\\OneDrive - Eastside Preparatory School\\Documents\\Winter10th\\Adv Prog DataViz\\United_States_COVID-19_County_Level_of_Community_Transmission_as_Originally_Posted_-_ARCHIVED.csv")
  10.  
  11. geo_data = geo_data[["id", "geometry"]]
  12. geo_data["id"] = geo_data["id"].astype(str)
  13.  
  14. covid_df["report_date"] = pd.to_datetime(covid_df["report_date"])
  15. covid_df.drop(covid_df[covid_df["report_date"] != "2021-12-29"].index, inplace=True)
  16. covid_df.drop(["community_transmission_level"], axis=1, inplace=True)
  17.  
  18. covid_df.rename(columns={"cases_per_100K_7_day_count_change":"new_cases_7days",
  19.                          "percent_test_results_reported_positive_last_7_days":"pct_positive_7days"},
  20.                 inplace=True)
  21.  
  22. covid_df["new_cases_7days"] = covid_df["new_cases_7days"].str.replace(",", "")
  23. for i in covid_df.index:
  24.     if covid_df.loc[i, "new_cases_7days"] == "suppressed":
  25.         covid_df.loc[i, "new_cases_7days"] = 0.0
  26. covid_df["new_cases_7days"] = covid_df["new_cases_7days"].astype(float)
  27.  
  28. covid_df["pct_positive_7days"] = covid_df["pct_positive_7days"].fillna(0.0)
  29. covid_df["pct_positive_7days"] = covid_df["pct_positive_7days"] / 100
  30. covid_df["fips_code"] = covid_df["fips_code"].astype(str)
  31.  
  32. covid_df.reset_index(inplace=True)
  33.  
  34. print(geo_data.info())
  35. print(covid_df.info())
  36.  
  37. data = pd.merge(geo_data, covid_df, left_on="id", right_on="fips_code", how="outer")
  38. print(data.head())
  39.  
  40. m = folium.Map(location=[45, -100], zoom_start=4)
  41. folium.LayerControl().add_to(m)
  42.  
  43. bins = (data["new_cases_7days"].quantile([0,0.2,0.4,0.6,0.8,1])).tolist()
  44. folium.Choropleth(
  45.     geo_data=geo_data,
  46.     data=data,
  47.     columns=["fips_code", "new_cases_7days"],
  48.     bins=bins,
  49.     key_on="feature.properties.id",
  50.     fill_color="YlOrRd",
  51.     line_color="black"
  52. ).add_to(m)
  53.  
  54. m.save("program03.html")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement