Skip to content

Instantly share code, notes, and snippets.

fig = px.choropleth_mapbox(tmp_df, locations="fips", color="Median_Household_Income_2018",
range_color=[20000, 40000],
geojson=counties, color_continuous_scale=px.colors.sequential.Oranges[::-1], labels=labels)
fig.update_layout(mapbox_style="carto-positron",
mapbox_zoom=3.9, mapbox_center={"lat": 37.0902, "lon": -95.7129},
margin={"r": 0, "t": 0, "l": 0, "b": 0})
fig.update_traces(marker=dict(line=dict(width=0.3, color="gray")))
fig.show()
county_data_list = list()
for tmp in counties["features"]:
tmp_fips = tmp["id"]
if tmp["geometry"]["type"] == 'Polygon':
tmp_crds = tmp["geometry"]["coordinates"][0]
elif tmp["geometry"]["type"] == 'MultiPolygon':
tmp_crds = tmp["geometry"]["coordinates"][0][0]
else:
logger.warning("Check geometry type")
x_crds = [i[0] for i in tmp_crds]
# Map showing counties with typical income < 40k
tmp_df = data_df[data_df["Median_Household_Income_2018"] < 40000]
fig = px.choropleth_mapbox(tmp_df, locations="fips", color="Median_Household_Income_2018",
range_color=[0, 100000],
geojson=counties, color_continuous_scale=px.colors.diverging.RdYlBu, labels=labels)
fig.update_layout(coloraxis_colorbar=dict(
tickvals=[0, 20000, 40000, 60000, 80000, 100000],
ticktext=["0", "20k", "40k", "60k", "80k", "100k+"]
))
fig.update_layout(mapbox_style="carto-positron",
fig = px.choropleth_mapbox(data_df, locations="fips", color="Median_Household_Income_2018",
range_color=[0, 100000],
geojson=counties, color_continuous_scale=px.colors.diverging.RdYlBu, labels=labels)
fig.update_layout(coloraxis_colorbar=dict(
tickvals=[0, 20000, 40000, 60000, 80000, 100000],
ticktext=["0", "20k", "40k", "60k", "80k", "100k+"]
))
fig.update_layout(mapbox_style="carto-positron",
mapbox_zoom=3.9, mapbox_center={"lat": 37.0902, "lon": -95.7129},
margin={"r": 0, "t": 0, "l": 0, "b": 0})
import pandas as pd
import numpy as np
import plotly.express as px
import streamlit as st
from sklearn import model_selection
from sklearn import preprocessing
from sklearn import linear_model
from sklearn import svm
from sklearn import metrics
import pandas as pd
import numpy as np
import plotly.express as px
import streamlit as st
from sklearn import model_selection
from sklearn import preprocessing
from sklearn import linear_model
from sklearn import svm
from sklearn import metrics
import pandas as pd
# ===== START SCRAPING =====
import requests
from bs4 import BeautifulSoup
import re
def scrape_this(uri="/pages/forms/"):
data_rows = table.find_all("tr", attrs={"class": "team"}) # Includes the header row!
parsed_data = list()
stat_keys = [col.attrs["class"][0] for col in data_rows[0].find_all("td")]
for row in data_rows:
tmp_data = dict()
for attr in stat_keys:
attr_val = row.find(attrs={"class": attr}).text
tmp_data[attr] = re.sub(r"^\s+|\s+$", "", attr_val)
parsed_data.append(tmp_data)
>>> team_elms
<tr class="team">
<td class="name">
Boston Bruins
</td>
<td class="year">
1990
</td>
<td class="wins">
44
>>> per_poss_df
name g mp ... pts link season
0 Sacramento Kings 82 20080 ... 105.6 /teams/SAC/2001.html 2001
1 Milwaukee Bucks 82 19780 ... 108.8 /teams/MIL/2001.html 2001
2 Los Angeles Lakers 82 19905 ... 108.4 /teams/LAL/2001.html 2001
3 Dallas Mavericks 82 19805 ... 107.1 /teams/DAL/2001.html 2001
4 Toronto Raptors 82 19955 ... 105.9 /teams/TOR/2001.html 2001
.. ... .. ... ... ... ... ...
25 New York Knicks 66 15965 ... 106.5 /teams/NYK/2020.html 2020
26 Cleveland Cavaliers 65 15725 ... 107.5 /teams/CLE/2020.html 2020