Spaces:
Sleeping
Sleeping
Upload 8 files
Browse files- README.md +19 -13
- US_Population.ipynb +0 -0
- requirements.txt +4 -0
- streamlit_app.py +276 -0
- streamlit_app_no_css.py +227 -0
- us-population-2010-2019-reshaped.csv +521 -0
- us-population-2010-2019-states-code.csv +53 -0
- us-population-2010-2019.csv +53 -0
README.md
CHANGED
|
@@ -1,13 +1,19 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 🏂 US Population Dashboard
|
| 2 |
+
|
| 3 |
+
A dashboard web app template built in Python using Streamlit.
|
| 4 |
+
|
| 5 |
+
## Demo App
|
| 6 |
+
|
| 7 |
+
[](https://population-dashboard.streamlit.app/)
|
| 8 |
+
|
| 9 |
+
## Colab notebook
|
| 10 |
+
[](https://github.com/dataprofessor/population-dashboard/blob/master/US_Population.ipynb)
|
| 11 |
+
|
| 12 |
+
## Prerequisite libraries
|
| 13 |
+
Here are the Python libraries used in the creation of this dashboard app
|
| 14 |
+
|
| 15 |
+
## Data source
|
| 16 |
+
US Population data spanning the duration of 2010-2019 was obtained from the [U.S. Census Bureau](https://www.census.gov/data/datasets/time-series/demo/popest/2010s-state-total.html).
|
| 17 |
+
|
| 18 |
+
## Reference
|
| 19 |
+
A talk entitled [_Crafting a Dashboard App in Python using Streamlit_](https://budapestbi.hu/2023/hu/program/speakers/chanin-nantasenamat/) showing how to build this app is given at the [Budapest BI Forum (Data Visualization track)](https://budapestbi.hu/2023/hu/en/program-data-visualization-track/) on November 22, 2023.
|
US_Population.ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
requirements.txt
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
streamlit
|
| 2 |
+
pandas
|
| 3 |
+
altair
|
| 4 |
+
plotly
|
streamlit_app.py
ADDED
|
@@ -0,0 +1,276 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#######################
|
| 2 |
+
# Import libraries
|
| 3 |
+
import streamlit as st
|
| 4 |
+
import pandas as pd
|
| 5 |
+
import altair as alt
|
| 6 |
+
import plotly.express as px
|
| 7 |
+
|
| 8 |
+
#######################
|
| 9 |
+
# Page configuration
|
| 10 |
+
st.set_page_config(
|
| 11 |
+
page_title="US Population Dashboard",
|
| 12 |
+
page_icon="🏂",
|
| 13 |
+
layout="wide",
|
| 14 |
+
initial_sidebar_state="expanded")
|
| 15 |
+
|
| 16 |
+
alt.themes.enable("dark")
|
| 17 |
+
|
| 18 |
+
#######################
|
| 19 |
+
# CSS styling
|
| 20 |
+
st.markdown("""
|
| 21 |
+
<style>
|
| 22 |
+
|
| 23 |
+
[data-testid="block-container"] {
|
| 24 |
+
padding-left: 2rem;
|
| 25 |
+
padding-right: 2rem;
|
| 26 |
+
padding-top: 1rem;
|
| 27 |
+
padding-bottom: 0rem;
|
| 28 |
+
margin-bottom: -7rem;
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
[data-testid="stVerticalBlock"] {
|
| 32 |
+
padding-left: 0rem;
|
| 33 |
+
padding-right: 0rem;
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
[data-testid="stMetric"] {
|
| 37 |
+
background-color: #393939;
|
| 38 |
+
text-align: center;
|
| 39 |
+
padding: 15px 0;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
[data-testid="stMetricLabel"] {
|
| 43 |
+
display: flex;
|
| 44 |
+
justify-content: center;
|
| 45 |
+
align-items: center;
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
[data-testid="stMetricDeltaIcon-Up"] {
|
| 49 |
+
position: relative;
|
| 50 |
+
left: 38%;
|
| 51 |
+
-webkit-transform: translateX(-50%);
|
| 52 |
+
-ms-transform: translateX(-50%);
|
| 53 |
+
transform: translateX(-50%);
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
[data-testid="stMetricDeltaIcon-Down"] {
|
| 57 |
+
position: relative;
|
| 58 |
+
left: 38%;
|
| 59 |
+
-webkit-transform: translateX(-50%);
|
| 60 |
+
-ms-transform: translateX(-50%);
|
| 61 |
+
transform: translateX(-50%);
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
</style>
|
| 65 |
+
""", unsafe_allow_html=True)
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
#######################
|
| 69 |
+
# Load data
|
| 70 |
+
df_reshaped = pd.read_csv('us-population-2010-2019-reshaped.csv')
|
| 71 |
+
|
| 72 |
+
|
| 73 |
+
#######################
|
| 74 |
+
# Sidebar
|
| 75 |
+
with st.sidebar:
|
| 76 |
+
st.title('🏂 US Population Dashboard')
|
| 77 |
+
|
| 78 |
+
year_list = list(df_reshaped.year.unique())[::-1]
|
| 79 |
+
|
| 80 |
+
selected_year = st.selectbox('Select a year', year_list)
|
| 81 |
+
df_selected_year = df_reshaped[df_reshaped.year == selected_year]
|
| 82 |
+
df_selected_year_sorted = df_selected_year.sort_values(by="population", ascending=False)
|
| 83 |
+
|
| 84 |
+
color_theme_list = ['blues', 'cividis', 'greens', 'inferno', 'magma', 'plasma', 'reds', 'rainbow', 'turbo', 'viridis']
|
| 85 |
+
selected_color_theme = st.selectbox('Select a color theme', color_theme_list)
|
| 86 |
+
|
| 87 |
+
|
| 88 |
+
#######################
|
| 89 |
+
# Plots
|
| 90 |
+
|
| 91 |
+
# Heatmap
|
| 92 |
+
def make_heatmap(input_df, input_y, input_x, input_color, input_color_theme):
|
| 93 |
+
heatmap = alt.Chart(input_df).mark_rect().encode(
|
| 94 |
+
y=alt.Y(f'{input_y}:O', axis=alt.Axis(title="Year", titleFontSize=18, titlePadding=15, titleFontWeight=900, labelAngle=0)),
|
| 95 |
+
x=alt.X(f'{input_x}:O', axis=alt.Axis(title="", titleFontSize=18, titlePadding=15, titleFontWeight=900)),
|
| 96 |
+
color=alt.Color(f'max({input_color}):Q',
|
| 97 |
+
legend=None,
|
| 98 |
+
scale=alt.Scale(scheme=input_color_theme)),
|
| 99 |
+
stroke=alt.value('black'),
|
| 100 |
+
strokeWidth=alt.value(0.25),
|
| 101 |
+
).properties(width=900
|
| 102 |
+
).configure_axis(
|
| 103 |
+
labelFontSize=12,
|
| 104 |
+
titleFontSize=12
|
| 105 |
+
)
|
| 106 |
+
# height=300
|
| 107 |
+
return heatmap
|
| 108 |
+
|
| 109 |
+
# Choropleth map
|
| 110 |
+
def make_choropleth(input_df, input_id, input_column, input_color_theme):
|
| 111 |
+
choropleth = px.choropleth(input_df, locations=input_id, color=input_column, locationmode="USA-states",
|
| 112 |
+
color_continuous_scale=input_color_theme,
|
| 113 |
+
range_color=(0, max(df_selected_year.population)),
|
| 114 |
+
scope="usa",
|
| 115 |
+
labels={'population':'Population'}
|
| 116 |
+
)
|
| 117 |
+
choropleth.update_layout(
|
| 118 |
+
template='plotly_dark',
|
| 119 |
+
plot_bgcolor='rgba(0, 0, 0, 0)',
|
| 120 |
+
paper_bgcolor='rgba(0, 0, 0, 0)',
|
| 121 |
+
margin=dict(l=0, r=0, t=0, b=0),
|
| 122 |
+
height=350
|
| 123 |
+
)
|
| 124 |
+
return choropleth
|
| 125 |
+
|
| 126 |
+
|
| 127 |
+
# Donut chart
|
| 128 |
+
def make_donut(input_response, input_text, input_color):
|
| 129 |
+
if input_color == 'blue':
|
| 130 |
+
chart_color = ['#29b5e8', '#155F7A']
|
| 131 |
+
if input_color == 'green':
|
| 132 |
+
chart_color = ['#27AE60', '#12783D']
|
| 133 |
+
if input_color == 'orange':
|
| 134 |
+
chart_color = ['#F39C12', '#875A12']
|
| 135 |
+
if input_color == 'red':
|
| 136 |
+
chart_color = ['#E74C3C', '#781F16']
|
| 137 |
+
|
| 138 |
+
source = pd.DataFrame({
|
| 139 |
+
"Topic": ['', input_text],
|
| 140 |
+
"% value": [100-input_response, input_response]
|
| 141 |
+
})
|
| 142 |
+
source_bg = pd.DataFrame({
|
| 143 |
+
"Topic": ['', input_text],
|
| 144 |
+
"% value": [100, 0]
|
| 145 |
+
})
|
| 146 |
+
|
| 147 |
+
plot = alt.Chart(source).mark_arc(innerRadius=45, cornerRadius=25).encode(
|
| 148 |
+
theta="% value",
|
| 149 |
+
color= alt.Color("Topic:N",
|
| 150 |
+
scale=alt.Scale(
|
| 151 |
+
#domain=['A', 'B'],
|
| 152 |
+
domain=[input_text, ''],
|
| 153 |
+
# range=['#29b5e8', '#155F7A']), # 31333F
|
| 154 |
+
range=chart_color),
|
| 155 |
+
legend=None),
|
| 156 |
+
).properties(width=130, height=130)
|
| 157 |
+
|
| 158 |
+
text = plot.mark_text(align='center', color="#29b5e8", font="Lato", fontSize=32, fontWeight=700, fontStyle="italic").encode(text=alt.value(f'{input_response} %'))
|
| 159 |
+
plot_bg = alt.Chart(source_bg).mark_arc(innerRadius=45, cornerRadius=20).encode(
|
| 160 |
+
theta="% value",
|
| 161 |
+
color= alt.Color("Topic:N",
|
| 162 |
+
scale=alt.Scale(
|
| 163 |
+
# domain=['A', 'B'],
|
| 164 |
+
domain=[input_text, ''],
|
| 165 |
+
range=chart_color), # 31333F
|
| 166 |
+
legend=None),
|
| 167 |
+
).properties(width=130, height=130)
|
| 168 |
+
return plot_bg + plot + text
|
| 169 |
+
|
| 170 |
+
# Convert population to text
|
| 171 |
+
def format_number(num):
|
| 172 |
+
if num > 1000000:
|
| 173 |
+
if not num % 1000000:
|
| 174 |
+
return f'{num // 1000000} M'
|
| 175 |
+
return f'{round(num / 1000000, 1)} M'
|
| 176 |
+
return f'{num // 1000} K'
|
| 177 |
+
|
| 178 |
+
# Calculation year-over-year population migrations
|
| 179 |
+
def calculate_population_difference(input_df, input_year):
|
| 180 |
+
selected_year_data = input_df[input_df['year'] == input_year].reset_index()
|
| 181 |
+
previous_year_data = input_df[input_df['year'] == input_year - 1].reset_index()
|
| 182 |
+
selected_year_data['population_difference'] = selected_year_data.population.sub(previous_year_data.population, fill_value=0)
|
| 183 |
+
return pd.concat([selected_year_data.states, selected_year_data.id, selected_year_data.population, selected_year_data.population_difference], axis=1).sort_values(by="population_difference", ascending=False)
|
| 184 |
+
|
| 185 |
+
|
| 186 |
+
#######################
|
| 187 |
+
# Dashboard Main Panel
|
| 188 |
+
col = st.columns((1.5, 4.5, 2), gap='medium')
|
| 189 |
+
|
| 190 |
+
with col[0]:
|
| 191 |
+
st.markdown('#### Gains/Losses')
|
| 192 |
+
|
| 193 |
+
df_population_difference_sorted = calculate_population_difference(df_reshaped, selected_year)
|
| 194 |
+
|
| 195 |
+
if selected_year > 2010:
|
| 196 |
+
first_state_name = df_population_difference_sorted.states.iloc[0]
|
| 197 |
+
first_state_population = format_number(df_population_difference_sorted.population.iloc[0])
|
| 198 |
+
first_state_delta = format_number(df_population_difference_sorted.population_difference.iloc[0])
|
| 199 |
+
else:
|
| 200 |
+
first_state_name = '-'
|
| 201 |
+
first_state_population = '-'
|
| 202 |
+
first_state_delta = ''
|
| 203 |
+
st.metric(label=first_state_name, value=first_state_population, delta=first_state_delta)
|
| 204 |
+
|
| 205 |
+
if selected_year > 2010:
|
| 206 |
+
last_state_name = df_population_difference_sorted.states.iloc[-1]
|
| 207 |
+
last_state_population = format_number(df_population_difference_sorted.population.iloc[-1])
|
| 208 |
+
last_state_delta = format_number(df_population_difference_sorted.population_difference.iloc[-1])
|
| 209 |
+
else:
|
| 210 |
+
last_state_name = '-'
|
| 211 |
+
last_state_population = '-'
|
| 212 |
+
last_state_delta = ''
|
| 213 |
+
st.metric(label=last_state_name, value=last_state_population, delta=last_state_delta)
|
| 214 |
+
|
| 215 |
+
|
| 216 |
+
st.markdown('#### States Migration')
|
| 217 |
+
|
| 218 |
+
if selected_year > 2010:
|
| 219 |
+
# Filter states with population difference > 50000
|
| 220 |
+
# df_greater_50000 = df_population_difference_sorted[df_population_difference_sorted.population_difference_absolute > 50000]
|
| 221 |
+
df_greater_50000 = df_population_difference_sorted[df_population_difference_sorted.population_difference > 50000]
|
| 222 |
+
df_less_50000 = df_population_difference_sorted[df_population_difference_sorted.population_difference < -50000]
|
| 223 |
+
|
| 224 |
+
# % of States with population difference > 50000
|
| 225 |
+
states_migration_greater = round((len(df_greater_50000)/df_population_difference_sorted.states.nunique())*100)
|
| 226 |
+
states_migration_less = round((len(df_less_50000)/df_population_difference_sorted.states.nunique())*100)
|
| 227 |
+
donut_chart_greater = make_donut(states_migration_greater, 'Inbound Migration', 'green')
|
| 228 |
+
donut_chart_less = make_donut(states_migration_less, 'Outbound Migration', 'red')
|
| 229 |
+
else:
|
| 230 |
+
states_migration_greater = 0
|
| 231 |
+
states_migration_less = 0
|
| 232 |
+
donut_chart_greater = make_donut(states_migration_greater, 'Inbound Migration', 'green')
|
| 233 |
+
donut_chart_less = make_donut(states_migration_less, 'Outbound Migration', 'red')
|
| 234 |
+
|
| 235 |
+
migrations_col = st.columns((0.2, 1, 0.2))
|
| 236 |
+
with migrations_col[1]:
|
| 237 |
+
st.write('Inbound')
|
| 238 |
+
st.altair_chart(donut_chart_greater)
|
| 239 |
+
st.write('Outbound')
|
| 240 |
+
st.altair_chart(donut_chart_less)
|
| 241 |
+
|
| 242 |
+
with col[1]:
|
| 243 |
+
st.markdown('#### Total Population')
|
| 244 |
+
|
| 245 |
+
choropleth = make_choropleth(df_selected_year, 'states_code', 'population', selected_color_theme)
|
| 246 |
+
st.plotly_chart(choropleth, use_container_width=True)
|
| 247 |
+
|
| 248 |
+
heatmap = make_heatmap(df_reshaped, 'year', 'states', 'population', selected_color_theme)
|
| 249 |
+
st.altair_chart(heatmap, use_container_width=True)
|
| 250 |
+
|
| 251 |
+
|
| 252 |
+
with col[2]:
|
| 253 |
+
st.markdown('#### Top States')
|
| 254 |
+
|
| 255 |
+
st.dataframe(df_selected_year_sorted,
|
| 256 |
+
column_order=("states", "population"),
|
| 257 |
+
hide_index=True,
|
| 258 |
+
width=None,
|
| 259 |
+
column_config={
|
| 260 |
+
"states": st.column_config.TextColumn(
|
| 261 |
+
"States",
|
| 262 |
+
),
|
| 263 |
+
"population": st.column_config.ProgressColumn(
|
| 264 |
+
"Population",
|
| 265 |
+
format="%f",
|
| 266 |
+
min_value=0,
|
| 267 |
+
max_value=max(df_selected_year_sorted.population),
|
| 268 |
+
)}
|
| 269 |
+
)
|
| 270 |
+
|
| 271 |
+
with st.expander('About', expanded=True):
|
| 272 |
+
st.write('''
|
| 273 |
+
- Data: [U.S. Census Bureau](https://www.census.gov/data/datasets/time-series/demo/popest/2010s-state-total.html).
|
| 274 |
+
- :orange[**Gains/Losses**]: states with high inbound/ outbound migration for selected year
|
| 275 |
+
- :orange[**States Migration**]: percentage of states with annual inbound/ outbound migration > 50,000
|
| 276 |
+
''')
|
streamlit_app_no_css.py
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#######################
|
| 2 |
+
# Import libraries
|
| 3 |
+
import streamlit as st
|
| 4 |
+
import pandas as pd
|
| 5 |
+
import altair as alt
|
| 6 |
+
import plotly.express as px
|
| 7 |
+
|
| 8 |
+
#######################
|
| 9 |
+
# Page configuration
|
| 10 |
+
st.set_page_config(
|
| 11 |
+
page_title="US Population Dashboard",
|
| 12 |
+
page_icon="🏂",
|
| 13 |
+
layout="wide",
|
| 14 |
+
initial_sidebar_state="expanded")
|
| 15 |
+
|
| 16 |
+
alt.themes.enable("dark")
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
#######################
|
| 20 |
+
# Load data
|
| 21 |
+
df_reshaped = pd.read_csv('data/us-population-2010-2019-reshaped.csv')
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
#######################
|
| 25 |
+
# Sidebar
|
| 26 |
+
with st.sidebar:
|
| 27 |
+
st.title('🏂 US Population Dashboard')
|
| 28 |
+
|
| 29 |
+
year_list = list(df_reshaped.year.unique())[::-1]
|
| 30 |
+
|
| 31 |
+
selected_year = st.selectbox('Select a year', year_list)
|
| 32 |
+
df_selected_year = df_reshaped[df_reshaped.year == selected_year]
|
| 33 |
+
df_selected_year_sorted = df_selected_year.sort_values(by="population", ascending=False)
|
| 34 |
+
|
| 35 |
+
color_theme_list = ['blues', 'cividis', 'greens', 'inferno', 'magma', 'plasma', 'reds', 'rainbow', 'turbo', 'viridis']
|
| 36 |
+
selected_color_theme = st.selectbox('Select a color theme', color_theme_list)
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
#######################
|
| 40 |
+
# Plots
|
| 41 |
+
|
| 42 |
+
# Heatmap
|
| 43 |
+
def make_heatmap(input_df, input_y, input_x, input_color, input_color_theme):
|
| 44 |
+
heatmap = alt.Chart(input_df).mark_rect().encode(
|
| 45 |
+
y=alt.Y(f'{input_y}:O', axis=alt.Axis(title="Year", titleFontSize=18, titlePadding=15, titleFontWeight=900, labelAngle=0)),
|
| 46 |
+
x=alt.X(f'{input_x}:O', axis=alt.Axis(title="", titleFontSize=18, titlePadding=15, titleFontWeight=900)),
|
| 47 |
+
color=alt.Color(f'max({input_color}):Q',
|
| 48 |
+
legend=None,
|
| 49 |
+
scale=alt.Scale(scheme=input_color_theme)),
|
| 50 |
+
stroke=alt.value('black'),
|
| 51 |
+
strokeWidth=alt.value(0.25),
|
| 52 |
+
).properties(width=900
|
| 53 |
+
).configure_axis(
|
| 54 |
+
labelFontSize=12,
|
| 55 |
+
titleFontSize=12
|
| 56 |
+
)
|
| 57 |
+
# height=300
|
| 58 |
+
return heatmap
|
| 59 |
+
|
| 60 |
+
# Choropleth map
|
| 61 |
+
def make_choropleth(input_df, input_id, input_column, input_color_theme):
|
| 62 |
+
choropleth = px.choropleth(input_df, locations=input_id, color=input_column, locationmode="USA-states",
|
| 63 |
+
color_continuous_scale=input_color_theme,
|
| 64 |
+
range_color=(0, max(df_selected_year.population)),
|
| 65 |
+
scope="usa",
|
| 66 |
+
labels={'population':'Population'}
|
| 67 |
+
)
|
| 68 |
+
choropleth.update_layout(
|
| 69 |
+
template='plotly_dark',
|
| 70 |
+
plot_bgcolor='rgba(0, 0, 0, 0)',
|
| 71 |
+
paper_bgcolor='rgba(0, 0, 0, 0)',
|
| 72 |
+
margin=dict(l=0, r=0, t=0, b=0),
|
| 73 |
+
height=350
|
| 74 |
+
)
|
| 75 |
+
return choropleth
|
| 76 |
+
|
| 77 |
+
|
| 78 |
+
# Donut chart
|
| 79 |
+
def make_donut(input_response, input_text, input_color):
|
| 80 |
+
if input_color == 'blue':
|
| 81 |
+
chart_color = ['#29b5e8', '#155F7A']
|
| 82 |
+
if input_color == 'green':
|
| 83 |
+
chart_color = ['#27AE60', '#12783D']
|
| 84 |
+
if input_color == 'orange':
|
| 85 |
+
chart_color = ['#F39C12', '#875A12']
|
| 86 |
+
if input_color == 'red':
|
| 87 |
+
chart_color = ['#E74C3C', '#781F16']
|
| 88 |
+
|
| 89 |
+
source = pd.DataFrame({
|
| 90 |
+
"Topic": ['', input_text],
|
| 91 |
+
"% value": [100-input_response, input_response]
|
| 92 |
+
})
|
| 93 |
+
source_bg = pd.DataFrame({
|
| 94 |
+
"Topic": ['', input_text],
|
| 95 |
+
"% value": [100, 0]
|
| 96 |
+
})
|
| 97 |
+
|
| 98 |
+
plot = alt.Chart(source).mark_arc(innerRadius=45, cornerRadius=25).encode(
|
| 99 |
+
theta="% value",
|
| 100 |
+
color= alt.Color("Topic:N",
|
| 101 |
+
scale=alt.Scale(
|
| 102 |
+
#domain=['A', 'B'],
|
| 103 |
+
domain=[input_text, ''],
|
| 104 |
+
# range=['#29b5e8', '#155F7A']), # 31333F
|
| 105 |
+
range=chart_color),
|
| 106 |
+
legend=None),
|
| 107 |
+
).properties(width=130, height=130)
|
| 108 |
+
|
| 109 |
+
text = plot.mark_text(align='center', color="#29b5e8", font="Lato", fontSize=32, fontWeight=700, fontStyle="italic").encode(text=alt.value(f'{input_response} %'))
|
| 110 |
+
plot_bg = alt.Chart(source_bg).mark_arc(innerRadius=45, cornerRadius=20).encode(
|
| 111 |
+
theta="% value",
|
| 112 |
+
color= alt.Color("Topic:N",
|
| 113 |
+
scale=alt.Scale(
|
| 114 |
+
# domain=['A', 'B'],
|
| 115 |
+
domain=[input_text, ''],
|
| 116 |
+
range=chart_color), # 31333F
|
| 117 |
+
legend=None),
|
| 118 |
+
).properties(width=130, height=130)
|
| 119 |
+
return plot_bg + plot + text
|
| 120 |
+
|
| 121 |
+
# Convert population to text
|
| 122 |
+
def format_number(num):
|
| 123 |
+
if num > 1000000:
|
| 124 |
+
if not num % 1000000:
|
| 125 |
+
return f'{num // 1000000} M'
|
| 126 |
+
return f'{round(num / 1000000, 1)} M'
|
| 127 |
+
return f'{num // 1000} K'
|
| 128 |
+
|
| 129 |
+
# Calculation year-over-year population migrations
|
| 130 |
+
def calculate_population_difference(input_df, input_year):
|
| 131 |
+
selected_year_data = input_df[input_df['year'] == input_year].reset_index()
|
| 132 |
+
previous_year_data = input_df[input_df['year'] == input_year - 1].reset_index()
|
| 133 |
+
selected_year_data['population_difference'] = selected_year_data.population.sub(previous_year_data.population, fill_value=0)
|
| 134 |
+
return pd.concat([selected_year_data.states, selected_year_data.id, selected_year_data.population, selected_year_data.population_difference], axis=1).sort_values(by="population_difference", ascending=False)
|
| 135 |
+
|
| 136 |
+
|
| 137 |
+
#######################
|
| 138 |
+
# Dashboard Main Panel
|
| 139 |
+
col = st.columns((1.5, 4.5, 2), gap='medium')
|
| 140 |
+
|
| 141 |
+
with col[0]:
|
| 142 |
+
st.markdown('#### Gains/Losses')
|
| 143 |
+
|
| 144 |
+
df_population_difference_sorted = calculate_population_difference(df_reshaped, selected_year)
|
| 145 |
+
|
| 146 |
+
if selected_year > 2010:
|
| 147 |
+
first_state_name = df_population_difference_sorted.states.iloc[0]
|
| 148 |
+
first_state_population = format_number(df_population_difference_sorted.population.iloc[0])
|
| 149 |
+
first_state_delta = format_number(df_population_difference_sorted.population_difference.iloc[0])
|
| 150 |
+
else:
|
| 151 |
+
first_state_name = '-'
|
| 152 |
+
first_state_population = '-'
|
| 153 |
+
first_state_delta = ''
|
| 154 |
+
st.metric(label=first_state_name, value=first_state_population, delta=first_state_delta)
|
| 155 |
+
|
| 156 |
+
if selected_year > 2010:
|
| 157 |
+
last_state_name = df_population_difference_sorted.states.iloc[-1]
|
| 158 |
+
last_state_population = format_number(df_population_difference_sorted.population.iloc[-1])
|
| 159 |
+
last_state_delta = format_number(df_population_difference_sorted.population_difference.iloc[-1])
|
| 160 |
+
else:
|
| 161 |
+
last_state_name = '-'
|
| 162 |
+
last_state_population = '-'
|
| 163 |
+
last_state_delta = ''
|
| 164 |
+
st.metric(label=last_state_name, value=last_state_population, delta=last_state_delta)
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
st.markdown('#### States Migration')
|
| 168 |
+
|
| 169 |
+
if selected_year > 2010:
|
| 170 |
+
# Filter states with population difference > 50000
|
| 171 |
+
# df_greater_50000 = df_population_difference_sorted[df_population_difference_sorted.population_difference_absolute > 50000]
|
| 172 |
+
df_greater_50000 = df_population_difference_sorted[df_population_difference_sorted.population_difference > 50000]
|
| 173 |
+
df_less_50000 = df_population_difference_sorted[df_population_difference_sorted.population_difference < -50000]
|
| 174 |
+
|
| 175 |
+
# % of States with population difference > 50000
|
| 176 |
+
states_migration_greater = round((len(df_greater_50000)/df_population_difference_sorted.states.nunique())*100)
|
| 177 |
+
states_migration_less = round((len(df_less_50000)/df_population_difference_sorted.states.nunique())*100)
|
| 178 |
+
donut_chart_greater = make_donut(states_migration_greater, 'Inbound Migration', 'green')
|
| 179 |
+
donut_chart_less = make_donut(states_migration_less, 'Outbound Migration', 'red')
|
| 180 |
+
else:
|
| 181 |
+
states_migration_greater = 0
|
| 182 |
+
states_migration_less = 0
|
| 183 |
+
donut_chart_greater = make_donut(states_migration_greater, 'Inbound Migration', 'green')
|
| 184 |
+
donut_chart_less = make_donut(states_migration_less, 'Outbound Migration', 'red')
|
| 185 |
+
|
| 186 |
+
migrations_col = st.columns((0.2, 1, 0.2))
|
| 187 |
+
with migrations_col[1]:
|
| 188 |
+
st.write('Inbound')
|
| 189 |
+
st.altair_chart(donut_chart_greater)
|
| 190 |
+
st.write('Outbound')
|
| 191 |
+
st.altair_chart(donut_chart_less)
|
| 192 |
+
|
| 193 |
+
with col[1]:
|
| 194 |
+
st.markdown('#### Total Population')
|
| 195 |
+
|
| 196 |
+
choropleth = make_choropleth(df_selected_year, 'states_code', 'population', selected_color_theme)
|
| 197 |
+
st.plotly_chart(choropleth, use_container_width=True)
|
| 198 |
+
|
| 199 |
+
heatmap = make_heatmap(df_reshaped, 'year', 'states', 'population', selected_color_theme)
|
| 200 |
+
st.altair_chart(heatmap, use_container_width=True)
|
| 201 |
+
|
| 202 |
+
|
| 203 |
+
with col[2]:
|
| 204 |
+
st.markdown('#### Top States')
|
| 205 |
+
|
| 206 |
+
st.dataframe(df_selected_year_sorted,
|
| 207 |
+
column_order=("states", "population"),
|
| 208 |
+
hide_index=True,
|
| 209 |
+
width=None,
|
| 210 |
+
column_config={
|
| 211 |
+
"states": st.column_config.TextColumn(
|
| 212 |
+
"States",
|
| 213 |
+
),
|
| 214 |
+
"population": st.column_config.ProgressColumn(
|
| 215 |
+
"Population",
|
| 216 |
+
format="%f",
|
| 217 |
+
min_value=0,
|
| 218 |
+
max_value=max(df_selected_year_sorted.population),
|
| 219 |
+
)}
|
| 220 |
+
)
|
| 221 |
+
|
| 222 |
+
with st.expander('About', expanded=True):
|
| 223 |
+
st.write('''
|
| 224 |
+
- Data: [U.S. Census Bureau](https://www.census.gov/data/datasets/time-series/demo/popest/2010s-state-total.html).
|
| 225 |
+
- :orange[**Gains/Losses**]: states with high inbound/ outbound migration for selected year
|
| 226 |
+
- :orange[**States Migration**]: percentage of states with annual inbound/ outbound migration > 50,000
|
| 227 |
+
''')
|
us-population-2010-2019-reshaped.csv
ADDED
|
@@ -0,0 +1,521 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
,states,states_code,id,year,population
|
| 2 |
+
0,Alabama,AL,1,2010,4785437
|
| 3 |
+
1,Alaska,AK,2,2010,713910
|
| 4 |
+
2,Arizona,AZ,4,2010,6407172
|
| 5 |
+
3,Arkansas,AR,5,2010,2921964
|
| 6 |
+
4,California,CA,6,2010,37319502
|
| 7 |
+
5,Colorado,CO,8,2010,5047349
|
| 8 |
+
6,Connecticut,CT,9,2010,3579114
|
| 9 |
+
7,Delaware,DE,10,2010,899593
|
| 10 |
+
8,District of Columbia,DC,11,2010,605226
|
| 11 |
+
9,Florida,FL,12,2010,18845537
|
| 12 |
+
10,Georgia,GA,13,2010,9711881
|
| 13 |
+
11,Hawaii,HI,15,2010,1363963
|
| 14 |
+
12,Idaho,ID,16,2010,1570746
|
| 15 |
+
13,Illinois,IL,17,2010,12840503
|
| 16 |
+
14,Indiana,IN,18,2010,6490432
|
| 17 |
+
15,Iowa,IA,19,2010,3050745
|
| 18 |
+
16,Kansas,KS,20,2010,2858190
|
| 19 |
+
17,Kentucky,KY,21,2010,4348181
|
| 20 |
+
18,Louisiana,LA,22,2010,4544532
|
| 21 |
+
19,Maine,ME,23,2010,1327629
|
| 22 |
+
20,Maryland,MD,24,2010,5788645
|
| 23 |
+
21,Massachusetts,MA,25,2010,6566307
|
| 24 |
+
22,Michigan,MI,26,2010,9877510
|
| 25 |
+
23,Minnesota,MN,27,2010,5310828
|
| 26 |
+
24,Mississippi,MS,28,2010,2970548
|
| 27 |
+
25,Missouri,MO,29,2010,5995974
|
| 28 |
+
26,Montana,MT,30,2010,990697
|
| 29 |
+
27,Nebraska,NE,31,2010,1829542
|
| 30 |
+
28,Nevada,NV,32,2010,2702405
|
| 31 |
+
29,New Hampshire,NH,33,2010,1316762
|
| 32 |
+
30,New Jersey,NJ,34,2010,8799446
|
| 33 |
+
31,New Mexico,NM,35,2010,2064552
|
| 34 |
+
32,New York,NY,36,2010,19399878
|
| 35 |
+
33,North Carolina,NC,37,2010,9574323
|
| 36 |
+
34,North Dakota,ND,38,2010,674715
|
| 37 |
+
35,Ohio,OH,39,2010,11539336
|
| 38 |
+
36,Oklahoma,OK,40,2010,3759944
|
| 39 |
+
37,Oregon,OR,41,2010,3837491
|
| 40 |
+
38,Pennsylvania,PA,42,2010,12711160
|
| 41 |
+
39,Rhode Island,RI,44,2010,1053959
|
| 42 |
+
40,South Carolina,SC,45,2010,4635649
|
| 43 |
+
41,South Dakota,SD,46,2010,816166
|
| 44 |
+
42,Tennessee,TN,47,2010,6355311
|
| 45 |
+
43,Texas,TX,48,2010,25241971
|
| 46 |
+
44,Utah,UT,49,2010,2775332
|
| 47 |
+
45,Vermont,VT,50,2010,625879
|
| 48 |
+
46,Virginia,VA,51,2010,8023699
|
| 49 |
+
47,Washington,WA,53,2010,6742830
|
| 50 |
+
48,West Virginia,WV,54,2010,1854239
|
| 51 |
+
49,Wisconsin,WI,55,2010,5690475
|
| 52 |
+
50,Wyoming,WY,56,2010,564487
|
| 53 |
+
51,Puerto Rico,PR,72,2010,3721525
|
| 54 |
+
52,Alabama,AL,1,2011,4799069
|
| 55 |
+
53,Alaska,AK,2,2011,722128
|
| 56 |
+
54,Arizona,AZ,4,2011,6472643
|
| 57 |
+
55,Arkansas,AR,5,2011,2940667
|
| 58 |
+
56,California,CA,6,2011,37638369
|
| 59 |
+
57,Colorado,CO,8,2011,5121108
|
| 60 |
+
58,Connecticut,CT,9,2011,3588283
|
| 61 |
+
59,Delaware,DE,10,2011,907381
|
| 62 |
+
60,District of Columbia,DC,11,2011,619800
|
| 63 |
+
61,Florida,FL,12,2011,19053237
|
| 64 |
+
62,Georgia,GA,13,2011,9802431
|
| 65 |
+
63,Hawaii,HI,15,2011,1379329
|
| 66 |
+
64,Idaho,ID,16,2011,1583910
|
| 67 |
+
65,Illinois,IL,17,2011,12867454
|
| 68 |
+
66,Indiana,IN,18,2011,6516528
|
| 69 |
+
67,Iowa,IA,19,2011,3066336
|
| 70 |
+
68,Kansas,KS,20,2011,2869225
|
| 71 |
+
69,Kentucky,KY,21,2011,4369821
|
| 72 |
+
70,Louisiana,LA,22,2011,4575625
|
| 73 |
+
71,Maine,ME,23,2011,1328284
|
| 74 |
+
72,Maryland,MD,24,2011,5839419
|
| 75 |
+
73,Massachusetts,MA,25,2011,6613583
|
| 76 |
+
74,Michigan,MI,26,2011,9882412
|
| 77 |
+
75,Minnesota,MN,27,2011,5346143
|
| 78 |
+
76,Mississippi,MS,28,2011,2978731
|
| 79 |
+
77,Missouri,MO,29,2011,6010275
|
| 80 |
+
78,Montana,MT,30,2011,997316
|
| 81 |
+
79,Nebraska,NE,31,2011,1840672
|
| 82 |
+
80,Nevada,NV,32,2011,2712730
|
| 83 |
+
81,New Hampshire,NH,33,2011,1320202
|
| 84 |
+
82,New Jersey,NJ,34,2011,8828117
|
| 85 |
+
83,New Mexico,NM,35,2011,2080450
|
| 86 |
+
84,New York,NY,36,2011,19499241
|
| 87 |
+
85,North Carolina,NC,37,2011,9657592
|
| 88 |
+
86,North Dakota,ND,38,2011,685225
|
| 89 |
+
87,Ohio,OH,39,2011,11544663
|
| 90 |
+
88,Oklahoma,OK,40,2011,3788379
|
| 91 |
+
89,Oregon,OR,41,2011,3872036
|
| 92 |
+
90,Pennsylvania,PA,42,2011,12745815
|
| 93 |
+
91,Rhode Island,RI,44,2011,1053649
|
| 94 |
+
92,South Carolina,SC,45,2011,4671994
|
| 95 |
+
93,South Dakota,SD,46,2011,823579
|
| 96 |
+
94,Tennessee,TN,47,2011,6399291
|
| 97 |
+
95,Texas,TX,48,2011,25645629
|
| 98 |
+
96,Utah,UT,49,2011,2814384
|
| 99 |
+
97,Vermont,VT,50,2011,627049
|
| 100 |
+
98,Virginia,VA,51,2011,8101155
|
| 101 |
+
99,Washington,WA,53,2011,6826627
|
| 102 |
+
100,West Virginia,WV,54,2011,1856301
|
| 103 |
+
101,Wisconsin,WI,55,2011,5705288
|
| 104 |
+
102,Wyoming,WY,56,2011,567299
|
| 105 |
+
103,Puerto Rico,PR,72,2011,3678732
|
| 106 |
+
104,Alabama,AL,1,2012,4815588
|
| 107 |
+
105,Alaska,AK,2,2012,730443
|
| 108 |
+
106,Arizona,AZ,4,2012,6554978
|
| 109 |
+
107,Arkansas,AR,5,2012,2952164
|
| 110 |
+
108,California,CA,6,2012,37948800
|
| 111 |
+
109,Colorado,CO,8,2012,5192647
|
| 112 |
+
110,Connecticut,CT,9,2012,3594547
|
| 113 |
+
111,Delaware,DE,10,2012,915179
|
| 114 |
+
112,District of Columbia,DC,11,2012,634924
|
| 115 |
+
113,Florida,FL,12,2012,19297822
|
| 116 |
+
114,Georgia,GA,13,2012,9901430
|
| 117 |
+
115,Hawaii,HI,15,2012,1394804
|
| 118 |
+
116,Idaho,ID,16,2012,1595324
|
| 119 |
+
117,Illinois,IL,17,2012,12882510
|
| 120 |
+
118,Indiana,IN,18,2012,6537703
|
| 121 |
+
119,Iowa,IA,19,2012,3076190
|
| 122 |
+
120,Kansas,KS,20,2012,2885257
|
| 123 |
+
121,Kentucky,KY,21,2012,4386346
|
| 124 |
+
122,Louisiana,LA,22,2012,4600972
|
| 125 |
+
123,Maine,ME,23,2012,1327729
|
| 126 |
+
124,Maryland,MD,24,2012,5886992
|
| 127 |
+
125,Massachusetts,MA,25,2012,6663005
|
| 128 |
+
126,Michigan,MI,26,2012,9897145
|
| 129 |
+
127,Minnesota,MN,27,2012,5376643
|
| 130 |
+
128,Mississippi,MS,28,2012,2983816
|
| 131 |
+
129,Missouri,MO,29,2012,6024367
|
| 132 |
+
130,Montana,MT,30,2012,1003783
|
| 133 |
+
131,Nebraska,NE,31,2012,1853303
|
| 134 |
+
132,Nevada,NV,32,2012,2743996
|
| 135 |
+
133,New Hampshire,NH,33,2012,1324232
|
| 136 |
+
134,New Jersey,NJ,34,2012,8844942
|
| 137 |
+
135,New Mexico,NM,35,2012,2087309
|
| 138 |
+
136,New York,NY,36,2012,19572932
|
| 139 |
+
137,North Carolina,NC,37,2012,9749476
|
| 140 |
+
138,North Dakota,ND,38,2012,701176
|
| 141 |
+
139,Ohio,OH,39,2012,11548923
|
| 142 |
+
140,Oklahoma,OK,40,2012,3818814
|
| 143 |
+
141,Oregon,OR,41,2012,3899001
|
| 144 |
+
142,Pennsylvania,PA,42,2012,12767118
|
| 145 |
+
143,Rhode Island,RI,44,2012,1054621
|
| 146 |
+
144,South Carolina,SC,45,2012,4717354
|
| 147 |
+
145,South Dakota,SD,46,2012,833566
|
| 148 |
+
146,Tennessee,TN,47,2012,6453898
|
| 149 |
+
147,Texas,TX,48,2012,26084481
|
| 150 |
+
148,Utah,UT,49,2012,2853375
|
| 151 |
+
149,Vermont,VT,50,2012,626090
|
| 152 |
+
150,Virginia,VA,51,2012,8185080
|
| 153 |
+
151,Washington,WA,53,2012,6897058
|
| 154 |
+
152,West Virginia,WV,54,2012,1856872
|
| 155 |
+
153,Wisconsin,WI,55,2012,5719960
|
| 156 |
+
154,Wyoming,WY,56,2012,576305
|
| 157 |
+
155,Puerto Rico,PR,72,2012,3634488
|
| 158 |
+
156,Alabama,AL,1,2013,4830081
|
| 159 |
+
157,Alaska,AK,2,2013,737068
|
| 160 |
+
158,Arizona,AZ,4,2013,6632764
|
| 161 |
+
159,Arkansas,AR,5,2013,2959400
|
| 162 |
+
160,California,CA,6,2013,38260787
|
| 163 |
+
161,Colorado,CO,8,2013,5269035
|
| 164 |
+
162,Connecticut,CT,9,2013,3594841
|
| 165 |
+
163,Delaware,DE,10,2013,923576
|
| 166 |
+
164,District of Columbia,DC,11,2013,650581
|
| 167 |
+
165,Florida,FL,12,2013,19545621
|
| 168 |
+
166,Georgia,GA,13,2013,9972479
|
| 169 |
+
167,Hawaii,HI,15,2013,1408243
|
| 170 |
+
168,Idaho,ID,16,2013,1611206
|
| 171 |
+
169,Illinois,IL,17,2013,12895129
|
| 172 |
+
170,Indiana,IN,18,2013,6568713
|
| 173 |
+
171,Iowa,IA,19,2013,3092997
|
| 174 |
+
172,Kansas,KS,20,2013,2893212
|
| 175 |
+
173,Kentucky,KY,21,2013,4404659
|
| 176 |
+
174,Louisiana,LA,22,2013,4624527
|
| 177 |
+
175,Maine,ME,23,2013,1328009
|
| 178 |
+
176,Maryland,MD,24,2013,5923188
|
| 179 |
+
177,Massachusetts,MA,25,2013,6713315
|
| 180 |
+
178,Michigan,MI,26,2013,9913065
|
| 181 |
+
179,Minnesota,MN,27,2013,5413479
|
| 182 |
+
180,Mississippi,MS,28,2013,2988711
|
| 183 |
+
181,Missouri,MO,29,2013,6040715
|
| 184 |
+
182,Montana,MT,30,2013,1013569
|
| 185 |
+
183,Nebraska,NE,31,2013,1865279
|
| 186 |
+
184,Nevada,NV,32,2013,2775970
|
| 187 |
+
185,New Hampshire,NH,33,2013,1326622
|
| 188 |
+
186,New Jersey,NJ,34,2013,8856972
|
| 189 |
+
187,New Mexico,NM,35,2013,2092273
|
| 190 |
+
188,New York,NY,36,2013,19624447
|
| 191 |
+
189,North Carolina,NC,37,2013,9843336
|
| 192 |
+
190,North Dakota,ND,38,2013,722036
|
| 193 |
+
191,Ohio,OH,39,2013,11576684
|
| 194 |
+
192,Oklahoma,OK,40,2013,3853214
|
| 195 |
+
193,Oregon,OR,41,2013,3922468
|
| 196 |
+
194,Pennsylvania,PA,42,2013,12776309
|
| 197 |
+
195,Rhode Island,RI,44,2013,1055081
|
| 198 |
+
196,South Carolina,SC,45,2013,4764080
|
| 199 |
+
197,South Dakota,SD,46,2013,842316
|
| 200 |
+
198,Tennessee,TN,47,2013,6494340
|
| 201 |
+
199,Texas,TX,48,2013,26480266
|
| 202 |
+
200,Utah,UT,49,2013,2897640
|
| 203 |
+
201,Vermont,VT,50,2013,626210
|
| 204 |
+
202,Virginia,VA,51,2013,8252427
|
| 205 |
+
203,Washington,WA,53,2013,6963985
|
| 206 |
+
204,West Virginia,WV,54,2013,1853914
|
| 207 |
+
205,Wisconsin,WI,55,2013,5736754
|
| 208 |
+
206,Wyoming,WY,56,2013,582122
|
| 209 |
+
207,Puerto Rico,PR,72,2013,3593077
|
| 210 |
+
208,Alabama,AL,1,2014,4841799
|
| 211 |
+
209,Alaska,AK,2,2014,736283
|
| 212 |
+
210,Arizona,AZ,4,2014,6730413
|
| 213 |
+
211,Arkansas,AR,5,2014,2967392
|
| 214 |
+
212,California,CA,6,2014,38596972
|
| 215 |
+
213,Colorado,CO,8,2014,5350101
|
| 216 |
+
214,Connecticut,CT,9,2014,3594524
|
| 217 |
+
215,Delaware,DE,10,2014,932487
|
| 218 |
+
216,District of Columbia,DC,11,2014,662328
|
| 219 |
+
217,Florida,FL,12,2014,19845911
|
| 220 |
+
218,Georgia,GA,13,2014,10067278
|
| 221 |
+
219,Hawaii,HI,15,2014,1414538
|
| 222 |
+
220,Idaho,ID,16,2014,1631112
|
| 223 |
+
221,Illinois,IL,17,2014,12884493
|
| 224 |
+
222,Indiana,IN,18,2014,6593644
|
| 225 |
+
223,Iowa,IA,19,2014,3109350
|
| 226 |
+
224,Kansas,KS,20,2014,2900475
|
| 227 |
+
225,Kentucky,KY,21,2014,4414349
|
| 228 |
+
226,Louisiana,LA,22,2014,4644013
|
| 229 |
+
227,Maine,ME,23,2014,1330513
|
| 230 |
+
228,Maryland,MD,24,2014,5957283
|
| 231 |
+
229,Massachusetts,MA,25,2014,6762596
|
| 232 |
+
230,Michigan,MI,26,2014,9929848
|
| 233 |
+
231,Minnesota,MN,27,2014,5451079
|
| 234 |
+
232,Mississippi,MS,28,2014,2990468
|
| 235 |
+
233,Missouri,MO,29,2014,6056202
|
| 236 |
+
234,Montana,MT,30,2014,1021869
|
| 237 |
+
235,Nebraska,NE,31,2014,1879321
|
| 238 |
+
236,Nevada,NV,32,2014,2817628
|
| 239 |
+
237,New Hampshire,NH,33,2014,1333341
|
| 240 |
+
238,New Jersey,NJ,34,2014,8864525
|
| 241 |
+
239,New Mexico,NM,35,2014,2089568
|
| 242 |
+
240,New York,NY,36,2014,19651049
|
| 243 |
+
241,North Carolina,NC,37,2014,9932887
|
| 244 |
+
242,North Dakota,ND,38,2014,737401
|
| 245 |
+
243,Ohio,OH,39,2014,11602700
|
| 246 |
+
244,Oklahoma,OK,40,2014,3878187
|
| 247 |
+
245,Oregon,OR,41,2014,3963244
|
| 248 |
+
246,Pennsylvania,PA,42,2014,12788313
|
| 249 |
+
247,Rhode Island,RI,44,2014,1055936
|
| 250 |
+
248,South Carolina,SC,45,2014,4823617
|
| 251 |
+
249,South Dakota,SD,46,2014,849129
|
| 252 |
+
250,Tennessee,TN,47,2014,6541223
|
| 253 |
+
251,Texas,TX,48,2014,26964333
|
| 254 |
+
252,Utah,UT,49,2014,2936879
|
| 255 |
+
253,Vermont,VT,50,2014,625214
|
| 256 |
+
254,Virginia,VA,51,2014,8310993
|
| 257 |
+
255,Washington,WA,53,2014,7054655
|
| 258 |
+
256,West Virginia,WV,54,2014,1849489
|
| 259 |
+
257,Wisconsin,WI,55,2014,5751525
|
| 260 |
+
258,Wyoming,WY,56,2014,582531
|
| 261 |
+
259,Puerto Rico,PR,72,2014,3534874
|
| 262 |
+
260,Alabama,AL,1,2015,4852347
|
| 263 |
+
261,Alaska,AK,2,2015,737498
|
| 264 |
+
262,Arizona,AZ,4,2015,6829676
|
| 265 |
+
263,Arkansas,AR,5,2015,2978048
|
| 266 |
+
264,California,CA,6,2015,38918045
|
| 267 |
+
265,Colorado,CO,8,2015,5450623
|
| 268 |
+
266,Connecticut,CT,9,2015,3587122
|
| 269 |
+
267,Delaware,DE,10,2015,941252
|
| 270 |
+
268,District of Columbia,DC,11,2015,675400
|
| 271 |
+
269,Florida,FL,12,2015,20209042
|
| 272 |
+
270,Georgia,GA,13,2015,10178447
|
| 273 |
+
271,Hawaii,HI,15,2015,1422052
|
| 274 |
+
272,Idaho,ID,16,2015,1651059
|
| 275 |
+
273,Illinois,IL,17,2015,12858913
|
| 276 |
+
274,Indiana,IN,18,2015,6608422
|
| 277 |
+
275,Iowa,IA,19,2015,3120960
|
| 278 |
+
276,Kansas,KS,20,2015,2909011
|
| 279 |
+
277,Kentucky,KY,21,2015,4425976
|
| 280 |
+
278,Louisiana,LA,22,2015,4664628
|
| 281 |
+
279,Maine,ME,23,2015,1328262
|
| 282 |
+
280,Maryland,MD,24,2015,5985562
|
| 283 |
+
281,Massachusetts,MA,25,2015,6794228
|
| 284 |
+
282,Michigan,MI,26,2015,9931715
|
| 285 |
+
283,Minnesota,MN,27,2015,5482032
|
| 286 |
+
284,Mississippi,MS,28,2015,2988471
|
| 287 |
+
285,Missouri,MO,29,2015,6071732
|
| 288 |
+
286,Montana,MT,30,2015,1030475
|
| 289 |
+
287,Nebraska,NE,31,2015,1891277
|
| 290 |
+
288,Nevada,NV,32,2015,2866939
|
| 291 |
+
289,New Hampshire,NH,33,2015,1336350
|
| 292 |
+
290,New Jersey,NJ,34,2015,8867949
|
| 293 |
+
291,New Mexico,NM,35,2015,2089291
|
| 294 |
+
292,New York,NY,36,2015,19654666
|
| 295 |
+
293,North Carolina,NC,37,2015,10031646
|
| 296 |
+
294,North Dakota,ND,38,2015,754066
|
| 297 |
+
295,Ohio,OH,39,2015,11617527
|
| 298 |
+
296,Oklahoma,OK,40,2015,3909500
|
| 299 |
+
297,Oregon,OR,41,2015,4015792
|
| 300 |
+
298,Pennsylvania,PA,42,2015,12784826
|
| 301 |
+
299,Rhode Island,RI,44,2015,1056065
|
| 302 |
+
300,South Carolina,SC,45,2015,4891938
|
| 303 |
+
301,South Dakota,SD,46,2015,853988
|
| 304 |
+
302,Tennessee,TN,47,2015,6591170
|
| 305 |
+
303,Texas,TX,48,2015,27470056
|
| 306 |
+
304,Utah,UT,49,2015,2981835
|
| 307 |
+
305,Vermont,VT,50,2015,625216
|
| 308 |
+
306,Virginia,VA,51,2015,8361808
|
| 309 |
+
307,Washington,WA,53,2015,7163657
|
| 310 |
+
308,West Virginia,WV,54,2015,1842050
|
| 311 |
+
309,Wisconsin,WI,55,2015,5760940
|
| 312 |
+
310,Wyoming,WY,56,2015,585613
|
| 313 |
+
311,Puerto Rico,PR,72,2015,3473232
|
| 314 |
+
312,Alabama,AL,1,2016,4863525
|
| 315 |
+
313,Alaska,AK,2,2016,741456
|
| 316 |
+
314,Arizona,AZ,4,2016,6941072
|
| 317 |
+
315,Arkansas,AR,5,2016,2989918
|
| 318 |
+
316,California,CA,6,2016,39167117
|
| 319 |
+
317,Colorado,CO,8,2016,5539215
|
| 320 |
+
318,Connecticut,CT,9,2016,3578141
|
| 321 |
+
319,Delaware,DE,10,2016,948921
|
| 322 |
+
320,District of Columbia,DC,11,2016,685815
|
| 323 |
+
321,Florida,FL,12,2016,20613477
|
| 324 |
+
322,Georgia,GA,13,2016,10301890
|
| 325 |
+
323,Hawaii,HI,15,2016,1427559
|
| 326 |
+
324,Idaho,ID,16,2016,1682380
|
| 327 |
+
325,Illinois,IL,17,2016,12820527
|
| 328 |
+
326,Indiana,IN,18,2016,6634304
|
| 329 |
+
327,Iowa,IA,19,2016,3131371
|
| 330 |
+
328,Kansas,KS,20,2016,2910844
|
| 331 |
+
329,Kentucky,KY,21,2016,4438182
|
| 332 |
+
330,Louisiana,LA,22,2016,4678135
|
| 333 |
+
331,Maine,ME,23,2016,1331317
|
| 334 |
+
332,Maryland,MD,24,2016,6003323
|
| 335 |
+
333,Massachusetts,MA,25,2016,6823608
|
| 336 |
+
334,Michigan,MI,26,2016,9950571
|
| 337 |
+
335,Minnesota,MN,27,2016,5522744
|
| 338 |
+
336,Mississippi,MS,28,2016,2987938
|
| 339 |
+
337,Missouri,MO,29,2016,6087135
|
| 340 |
+
338,Montana,MT,30,2016,1040859
|
| 341 |
+
339,Nebraska,NE,31,2016,1905616
|
| 342 |
+
340,Nevada,NV,32,2016,2917563
|
| 343 |
+
341,New Hampshire,NH,33,2016,1342307
|
| 344 |
+
342,New Jersey,NJ,34,2016,8870827
|
| 345 |
+
343,New Mexico,NM,35,2016,2091630
|
| 346 |
+
344,New York,NY,36,2016,19633428
|
| 347 |
+
345,North Carolina,NC,37,2016,10154788
|
| 348 |
+
346,North Dakota,ND,38,2016,754434
|
| 349 |
+
347,Ohio,OH,39,2016,11634370
|
| 350 |
+
348,Oklahoma,OK,40,2016,3926331
|
| 351 |
+
349,Oregon,OR,41,2016,4089976
|
| 352 |
+
350,Pennsylvania,PA,42,2016,12782275
|
| 353 |
+
351,Rhode Island,RI,44,2016,1056770
|
| 354 |
+
352,South Carolina,SC,45,2016,4957968
|
| 355 |
+
353,South Dakota,SD,46,2016,862996
|
| 356 |
+
354,Tennessee,TN,47,2016,6646010
|
| 357 |
+
355,Texas,TX,48,2016,27914410
|
| 358 |
+
356,Utah,UT,49,2016,3041868
|
| 359 |
+
357,Vermont,VT,50,2016,623657
|
| 360 |
+
358,Virginia,VA,51,2016,8410106
|
| 361 |
+
359,Washington,WA,53,2016,7294771
|
| 362 |
+
360,West Virginia,WV,54,2016,1831023
|
| 363 |
+
361,Wisconsin,WI,55,2016,5772628
|
| 364 |
+
362,Wyoming,WY,56,2016,584215
|
| 365 |
+
363,Puerto Rico,PR,72,2016,3406672
|
| 366 |
+
364,Alabama,AL,1,2017,4874486
|
| 367 |
+
365,Alaska,AK,2,2017,739700
|
| 368 |
+
366,Arizona,AZ,4,2017,7044008
|
| 369 |
+
367,Arkansas,AR,5,2017,3001345
|
| 370 |
+
368,California,CA,6,2017,39358497
|
| 371 |
+
369,Colorado,CO,8,2017,5611885
|
| 372 |
+
370,Connecticut,CT,9,2017,3573297
|
| 373 |
+
371,Delaware,DE,10,2017,956823
|
| 374 |
+
372,District of Columbia,DC,11,2017,694906
|
| 375 |
+
373,Florida,FL,12,2017,20963613
|
| 376 |
+
374,Georgia,GA,13,2017,10410330
|
| 377 |
+
375,Hawaii,HI,15,2017,1424393
|
| 378 |
+
376,Idaho,ID,16,2017,1717715
|
| 379 |
+
377,Illinois,IL,17,2017,12778828
|
| 380 |
+
378,Indiana,IN,18,2017,6658078
|
| 381 |
+
379,Iowa,IA,19,2017,3141550
|
| 382 |
+
380,Kansas,KS,20,2017,2908718
|
| 383 |
+
381,Kentucky,KY,21,2017,4452268
|
| 384 |
+
382,Louisiana,LA,22,2017,4670560
|
| 385 |
+
383,Maine,ME,23,2017,1334612
|
| 386 |
+
384,Maryland,MD,24,2017,6023868
|
| 387 |
+
385,Massachusetts,MA,25,2017,6859789
|
| 388 |
+
386,Michigan,MI,26,2017,9973114
|
| 389 |
+
387,Minnesota,MN,27,2017,5566230
|
| 390 |
+
388,Mississippi,MS,28,2017,2988510
|
| 391 |
+
389,Missouri,MO,29,2017,6106670
|
| 392 |
+
390,Montana,MT,30,2017,1052482
|
| 393 |
+
391,Nebraska,NE,31,2017,1915947
|
| 394 |
+
392,Nevada,NV,32,2017,2969905
|
| 395 |
+
393,New Hampshire,NH,33,2017,1348787
|
| 396 |
+
394,New Jersey,NJ,34,2017,8885525
|
| 397 |
+
395,New Mexico,NM,35,2017,2091784
|
| 398 |
+
396,New York,NY,36,2017,19589572
|
| 399 |
+
397,North Carolina,NC,37,2017,10268233
|
| 400 |
+
398,North Dakota,ND,38,2017,754942
|
| 401 |
+
399,Ohio,OH,39,2017,11659650
|
| 402 |
+
400,Oklahoma,OK,40,2017,3931316
|
| 403 |
+
401,Oregon,OR,41,2017,4143625
|
| 404 |
+
402,Pennsylvania,PA,42,2017,12787641
|
| 405 |
+
403,Rhode Island,RI,44,2017,1055673
|
| 406 |
+
404,South Carolina,SC,45,2017,5021268
|
| 407 |
+
405,South Dakota,SD,46,2017,872868
|
| 408 |
+
406,Tennessee,TN,47,2017,6708799
|
| 409 |
+
407,Texas,TX,48,2017,28295273
|
| 410 |
+
408,Utah,UT,49,2017,3101042
|
| 411 |
+
409,Vermont,VT,50,2017,624344
|
| 412 |
+
410,Virginia,VA,51,2017,8463587
|
| 413 |
+
411,Washington,WA,53,2017,7423362
|
| 414 |
+
412,West Virginia,WV,54,2017,1817004
|
| 415 |
+
413,Wisconsin,WI,55,2017,5790186
|
| 416 |
+
414,Wyoming,WY,56,2017,578931
|
| 417 |
+
415,Puerto Rico,PR,72,2017,3325286
|
| 418 |
+
416,Alabama,AL,1,2018,4887681
|
| 419 |
+
417,Alaska,AK,2,2018,735139
|
| 420 |
+
418,Arizona,AZ,4,2018,7158024
|
| 421 |
+
419,Arkansas,AR,5,2018,3009733
|
| 422 |
+
420,California,CA,6,2018,39461588
|
| 423 |
+
421,Colorado,CO,8,2018,5691287
|
| 424 |
+
422,Connecticut,CT,9,2018,3571520
|
| 425 |
+
423,Delaware,DE,10,2018,965479
|
| 426 |
+
424,District of Columbia,DC,11,2018,701547
|
| 427 |
+
425,Florida,FL,12,2018,21244317
|
| 428 |
+
426,Georgia,GA,13,2018,10511131
|
| 429 |
+
427,Hawaii,HI,15,2018,1420593
|
| 430 |
+
428,Idaho,ID,16,2018,1750536
|
| 431 |
+
429,Illinois,IL,17,2018,12723071
|
| 432 |
+
430,Indiana,IN,18,2018,6695497
|
| 433 |
+
431,Iowa,IA,19,2018,3148618
|
| 434 |
+
432,Kansas,KS,20,2018,2911359
|
| 435 |
+
433,Kentucky,KY,21,2018,4461153
|
| 436 |
+
434,Louisiana,LA,22,2018,4659690
|
| 437 |
+
435,Maine,ME,23,2018,1339057
|
| 438 |
+
436,Maryland,MD,24,2018,6035802
|
| 439 |
+
437,Massachusetts,MA,25,2018,6882635
|
| 440 |
+
438,Michigan,MI,26,2018,9984072
|
| 441 |
+
439,Minnesota,MN,27,2018,5606249
|
| 442 |
+
440,Mississippi,MS,28,2018,2981020
|
| 443 |
+
441,Missouri,MO,29,2018,6121623
|
| 444 |
+
442,Montana,MT,30,2018,1060665
|
| 445 |
+
443,Nebraska,NE,31,2018,1925614
|
| 446 |
+
444,Nevada,NV,32,2018,3027341
|
| 447 |
+
445,New Hampshire,NH,33,2018,1353465
|
| 448 |
+
446,New Jersey,NJ,34,2018,8886025
|
| 449 |
+
447,New Mexico,NM,35,2018,2092741
|
| 450 |
+
448,New York,NY,36,2018,19530351
|
| 451 |
+
449,North Carolina,NC,37,2018,10381615
|
| 452 |
+
450,North Dakota,ND,38,2018,758080
|
| 453 |
+
451,Ohio,OH,39,2018,11676341
|
| 454 |
+
452,Oklahoma,OK,40,2018,3940235
|
| 455 |
+
453,Oregon,OR,41,2018,4181886
|
| 456 |
+
454,Pennsylvania,PA,42,2018,12800922
|
| 457 |
+
455,Rhode Island,RI,44,2018,1058287
|
| 458 |
+
456,South Carolina,SC,45,2018,5084156
|
| 459 |
+
457,South Dakota,SD,46,2018,878698
|
| 460 |
+
458,Tennessee,TN,47,2018,6771631
|
| 461 |
+
459,Texas,TX,48,2018,28628666
|
| 462 |
+
460,Utah,UT,49,2018,3153550
|
| 463 |
+
461,Vermont,VT,50,2018,624358
|
| 464 |
+
462,Virginia,VA,51,2018,8501286
|
| 465 |
+
463,Washington,WA,53,2018,7523869
|
| 466 |
+
464,West Virginia,WV,54,2018,1804291
|
| 467 |
+
465,Wisconsin,WI,55,2018,5807406
|
| 468 |
+
466,Wyoming,WY,56,2018,577601
|
| 469 |
+
467,Puerto Rico,PR,72,2018,3193354
|
| 470 |
+
468,Alabama,AL,1,2019,4903185
|
| 471 |
+
469,Alaska,AK,2,2019,731545
|
| 472 |
+
470,Arizona,AZ,4,2019,7278717
|
| 473 |
+
471,Arkansas,AR,5,2019,3017804
|
| 474 |
+
472,California,CA,6,2019,39512223
|
| 475 |
+
473,Colorado,CO,8,2019,5758736
|
| 476 |
+
474,Connecticut,CT,9,2019,3565287
|
| 477 |
+
475,Delaware,DE,10,2019,973764
|
| 478 |
+
476,District of Columbia,DC,11,2019,705749
|
| 479 |
+
477,Florida,FL,12,2019,21477737
|
| 480 |
+
478,Georgia,GA,13,2019,10617423
|
| 481 |
+
479,Hawaii,HI,15,2019,1415872
|
| 482 |
+
480,Idaho,ID,16,2019,1787065
|
| 483 |
+
481,Illinois,IL,17,2019,12671821
|
| 484 |
+
482,Indiana,IN,18,2019,6732219
|
| 485 |
+
483,Iowa,IA,19,2019,3155070
|
| 486 |
+
484,Kansas,KS,20,2019,2913314
|
| 487 |
+
485,Kentucky,KY,21,2019,4467673
|
| 488 |
+
486,Louisiana,LA,22,2019,4648794
|
| 489 |
+
487,Maine,ME,23,2019,1344212
|
| 490 |
+
488,Maryland,MD,24,2019,6045680
|
| 491 |
+
489,Massachusetts,MA,25,2019,6892503
|
| 492 |
+
490,Michigan,MI,26,2019,9986857
|
| 493 |
+
491,Minnesota,MN,27,2019,5639632
|
| 494 |
+
492,Mississippi,MS,28,2019,2976149
|
| 495 |
+
493,Missouri,MO,29,2019,6137428
|
| 496 |
+
494,Montana,MT,30,2019,1068778
|
| 497 |
+
495,Nebraska,NE,31,2019,1934408
|
| 498 |
+
496,Nevada,NV,32,2019,3080156
|
| 499 |
+
497,New Hampshire,NH,33,2019,1359711
|
| 500 |
+
498,New Jersey,NJ,34,2019,8882190
|
| 501 |
+
499,New Mexico,NM,35,2019,2096829
|
| 502 |
+
500,New York,NY,36,2019,19453561
|
| 503 |
+
501,North Carolina,NC,37,2019,10488084
|
| 504 |
+
502,North Dakota,ND,38,2019,762062
|
| 505 |
+
503,Ohio,OH,39,2019,11689100
|
| 506 |
+
504,Oklahoma,OK,40,2019,3956971
|
| 507 |
+
505,Oregon,OR,41,2019,4217737
|
| 508 |
+
506,Pennsylvania,PA,42,2019,12801989
|
| 509 |
+
507,Rhode Island,RI,44,2019,1059361
|
| 510 |
+
508,South Carolina,SC,45,2019,5148714
|
| 511 |
+
509,South Dakota,SD,46,2019,884659
|
| 512 |
+
510,Tennessee,TN,47,2019,6829174
|
| 513 |
+
511,Texas,TX,48,2019,28995881
|
| 514 |
+
512,Utah,UT,49,2019,3205958
|
| 515 |
+
513,Vermont,VT,50,2019,623989
|
| 516 |
+
514,Virginia,VA,51,2019,8535519
|
| 517 |
+
515,Washington,WA,53,2019,7614893
|
| 518 |
+
516,West Virginia,WV,54,2019,1792147
|
| 519 |
+
517,Wisconsin,WI,55,2019,5822434
|
| 520 |
+
518,Wyoming,WY,56,2019,578759
|
| 521 |
+
519,Puerto Rico,PR,72,2019,3193694
|
us-population-2010-2019-states-code.csv
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
states,states_code,id,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019
|
| 2 |
+
Alabama,AL,1,"4,785,437","4,799,069","4,815,588","4,830,081","4,841,799","4,852,347","4,863,525","4,874,486","4,887,681","4,903,185"
|
| 3 |
+
Alaska,AK,2,"713,910","722,128","730,443","737,068","736,283","737,498","741,456","739,700","735,139","731,545"
|
| 4 |
+
Arizona,AZ,4,"6,407,172","6,472,643","6,554,978","6,632,764","6,730,413","6,829,676","6,941,072","7,044,008","7,158,024","7,278,717"
|
| 5 |
+
Arkansas,AR,5,"2,921,964","2,940,667","2,952,164","2,959,400","2,967,392","2,978,048","2,989,918","3,001,345","3,009,733","3,017,804"
|
| 6 |
+
California,CA,6,"37,319,502","37,638,369","37,948,800","38,260,787","38,596,972","38,918,045","39,167,117","39,358,497","39,461,588","39,512,223"
|
| 7 |
+
Colorado,CO,8,"5,047,349","5,121,108","5,192,647","5,269,035","5,350,101","5,450,623","5,539,215","5,611,885","5,691,287","5,758,736"
|
| 8 |
+
Connecticut,CT,9,"3,579,114","3,588,283","3,594,547","3,594,841","3,594,524","3,587,122","3,578,141","3,573,297","3,571,520","3,565,287"
|
| 9 |
+
Delaware,DE,10,"899,593","907,381","915,179","923,576","932,487","941,252","948,921","956,823","965,479","973,764"
|
| 10 |
+
District of Columbia,DC,11,"605,226","619,800","634,924","650,581","662,328","675,400","685,815","694,906","701,547","705,749"
|
| 11 |
+
Florida,FL,12,"18,845,537","19,053,237","19,297,822","19,545,621","19,845,911","20,209,042","20,613,477","20,963,613","21,244,317","21,477,737"
|
| 12 |
+
Georgia,GA,13,"9,711,881","9,802,431","9,901,430","9,972,479","10,067,278","10,178,447","10,301,890","10,410,330","10,511,131","10,617,423"
|
| 13 |
+
Hawaii,HI,15,"1,363,963","1,379,329","1,394,804","1,408,243","1,414,538","1,422,052","1,427,559","1,424,393","1,420,593","1,415,872"
|
| 14 |
+
Idaho,ID,16,"1,570,746","1,583,910","1,595,324","1,611,206","1,631,112","1,651,059","1,682,380","1,717,715","1,750,536","1,787,065"
|
| 15 |
+
Illinois,IL,17,"12,840,503","12,867,454","12,882,510","12,895,129","12,884,493","12,858,913","12,820,527","12,778,828","12,723,071","12,671,821"
|
| 16 |
+
Indiana,IN,18,"6,490,432","6,516,528","6,537,703","6,568,713","6,593,644","6,608,422","6,634,304","6,658,078","6,695,497","6,732,219"
|
| 17 |
+
Iowa,IA,19,"3,050,745","3,066,336","3,076,190","3,092,997","3,109,350","3,120,960","3,131,371","3,141,550","3,148,618","3,155,070"
|
| 18 |
+
Kansas,KS,20,"2,858,190","2,869,225","2,885,257","2,893,212","2,900,475","2,909,011","2,910,844","2,908,718","2,911,359","2,913,314"
|
| 19 |
+
Kentucky,KY,21,"4,348,181","4,369,821","4,386,346","4,404,659","4,414,349","4,425,976","4,438,182","4,452,268","4,461,153","4,467,673"
|
| 20 |
+
Louisiana,LA,22,"4,544,532","4,575,625","4,600,972","4,624,527","4,644,013","4,664,628","4,678,135","4,670,560","4,659,690","4,648,794"
|
| 21 |
+
Maine,ME,23,"1,327,629","1,328,284","1,327,729","1,328,009","1,330,513","1,328,262","1,331,317","1,334,612","1,339,057","1,344,212"
|
| 22 |
+
Maryland,MD,24,"5,788,645","5,839,419","5,886,992","5,923,188","5,957,283","5,985,562","6,003,323","6,023,868","6,035,802","6,045,680"
|
| 23 |
+
Massachusetts,MA,25,"6,566,307","6,613,583","6,663,005","6,713,315","6,762,596","6,794,228","6,823,608","6,859,789","6,882,635","6,892,503"
|
| 24 |
+
Michigan,MI,26,"9,877,510","9,882,412","9,897,145","9,913,065","9,929,848","9,931,715","9,950,571","9,973,114","9,984,072","9,986,857"
|
| 25 |
+
Minnesota,MN,27,"5,310,828","5,346,143","5,376,643","5,413,479","5,451,079","5,482,032","5,522,744","5,566,230","5,606,249","5,639,632"
|
| 26 |
+
Mississippi,MS,28,"2,970,548","2,978,731","2,983,816","2,988,711","2,990,468","2,988,471","2,987,938","2,988,510","2,981,020","2,976,149"
|
| 27 |
+
Missouri,MO,29,"5,995,974","6,010,275","6,024,367","6,040,715","6,056,202","6,071,732","6,087,135","6,106,670","6,121,623","6,137,428"
|
| 28 |
+
Montana,MT,30,"990,697","997,316","1,003,783","1,013,569","1,021,869","1,030,475","1,040,859","1,052,482","1,060,665","1,068,778"
|
| 29 |
+
Nebraska,NE,31,"1,829,542","1,840,672","1,853,303","1,865,279","1,879,321","1,891,277","1,905,616","1,915,947","1,925,614","1,934,408"
|
| 30 |
+
Nevada,NV,32,"2,702,405","2,712,730","2,743,996","2,775,970","2,817,628","2,866,939","2,917,563","2,969,905","3,027,341","3,080,156"
|
| 31 |
+
New Hampshire,NH,33,"1,316,762","1,320,202","1,324,232","1,326,622","1,333,341","1,336,350","1,342,307","1,348,787","1,353,465","1,359,711"
|
| 32 |
+
New Jersey,NJ,34,"8,799,446","8,828,117","8,844,942","8,856,972","8,864,525","8,867,949","8,870,827","8,885,525","8,886,025","8,882,190"
|
| 33 |
+
New Mexico,NM,35,"2,064,552","2,080,450","2,087,309","2,092,273","2,089,568","2,089,291","2,091,630","2,091,784","2,092,741","2,096,829"
|
| 34 |
+
New York,NY,36,"19,399,878","19,499,241","19,572,932","19,624,447","19,651,049","19,654,666","19,633,428","19,589,572","19,530,351","19,453,561"
|
| 35 |
+
North Carolina,NC,37,"9,574,323","9,657,592","9,749,476","9,843,336","9,932,887","10,031,646","10,154,788","10,268,233","10,381,615","10,488,084"
|
| 36 |
+
North Dakota,ND,38,"674,715","685,225","701,176","722,036","737,401","754,066","754,434","754,942","758,080","762,062"
|
| 37 |
+
Ohio,OH,39,"11,539,336","11,544,663","11,548,923","11,576,684","11,602,700","11,617,527","11,634,370","11,659,650","11,676,341","11,689,100"
|
| 38 |
+
Oklahoma,OK,40,"3,759,944","3,788,379","3,818,814","3,853,214","3,878,187","3,909,500","3,926,331","3,931,316","3,940,235","3,956,971"
|
| 39 |
+
Oregon,OR,41,"3,837,491","3,872,036","3,899,001","3,922,468","3,963,244","4,015,792","4,089,976","4,143,625","4,181,886","4,217,737"
|
| 40 |
+
Pennsylvania,PA,42,"12,711,160","12,745,815","12,767,118","12,776,309","12,788,313","12,784,826","12,782,275","12,787,641","12,800,922","12,801,989"
|
| 41 |
+
Rhode Island,RI,44,"1,053,959","1,053,649","1,054,621","1,055,081","1,055,936","1,056,065","1,056,770","1,055,673","1,058,287","1,059,361"
|
| 42 |
+
South Carolina,SC,45,"4,635,649","4,671,994","4,717,354","4,764,080","4,823,617","4,891,938","4,957,968","5,021,268","5,084,156","5,148,714"
|
| 43 |
+
South Dakota,SD,46,"816,166","823,579","833,566","842,316","849,129","853,988","862,996","872,868","878,698","884,659"
|
| 44 |
+
Tennessee,TN,47,"6,355,311","6,399,291","6,453,898","6,494,340","6,541,223","6,591,170","6,646,010","6,708,799","6,771,631","6,829,174"
|
| 45 |
+
Texas,TX,48,"25,241,971","25,645,629","26,084,481","26,480,266","26,964,333","27,470,056","27,914,410","28,295,273","28,628,666","28,995,881"
|
| 46 |
+
Utah,UT,49,"2,775,332","2,814,384","2,853,375","2,897,640","2,936,879","2,981,835","3,041,868","3,101,042","3,153,550","3,205,958"
|
| 47 |
+
Vermont,VT,50,"625,879","627,049","626,090","626,210","625,214","625,216","623,657","624,344","624,358","623,989"
|
| 48 |
+
Virginia,VA,51,"8,023,699","8,101,155","8,185,080","8,252,427","8,310,993","8,361,808","8,410,106","8,463,587","8,501,286","8,535,519"
|
| 49 |
+
Washington,WA,53,"6,742,830","6,826,627","6,897,058","6,963,985","7,054,655","7,163,657","7,294,771","7,423,362","7,523,869","7,614,893"
|
| 50 |
+
West Virginia,WV,54,"1,854,239","1,856,301","1,856,872","1,853,914","1,849,489","1,842,050","1,831,023","1,817,004","1,804,291","1,792,147"
|
| 51 |
+
Wisconsin,WI,55,"5,690,475","5,705,288","5,719,960","5,736,754","5,751,525","5,760,940","5,772,628","5,790,186","5,807,406","5,822,434"
|
| 52 |
+
Wyoming,WY,56,"564,487","567,299","576,305","582,122","582,531","585,613","584,215","578,931","577,601","578,759"
|
| 53 |
+
Puerto Rico,PR,72,"3,721,525","3,678,732","3,634,488","3,593,077","3,534,874","3,473,232","3,406,672","3,325,286","3,193,354","3,193,694"
|
us-population-2010-2019.csv
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
states,id,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019
|
| 2 |
+
Alabama,1,"4,785,437","4,799,069","4,815,588","4,830,081","4,841,799","4,852,347","4,863,525","4,874,486","4,887,681","4,903,185"
|
| 3 |
+
Alaska,2,"713,910","722,128","730,443","737,068","736,283","737,498","741,456","739,700","735,139","731,545"
|
| 4 |
+
Arizona,4,"6,407,172","6,472,643","6,554,978","6,632,764","6,730,413","6,829,676","6,941,072","7,044,008","7,158,024","7,278,717"
|
| 5 |
+
Arkansas,5,"2,921,964","2,940,667","2,952,164","2,959,400","2,967,392","2,978,048","2,989,918","3,001,345","3,009,733","3,017,804"
|
| 6 |
+
California,6,"37,319,502","37,638,369","37,948,800","38,260,787","38,596,972","38,918,045","39,167,117","39,358,497","39,461,588","39,512,223"
|
| 7 |
+
Colorado,8,"5,047,349","5,121,108","5,192,647","5,269,035","5,350,101","5,450,623","5,539,215","5,611,885","5,691,287","5,758,736"
|
| 8 |
+
Connecticut,9,"3,579,114","3,588,283","3,594,547","3,594,841","3,594,524","3,587,122","3,578,141","3,573,297","3,571,520","3,565,287"
|
| 9 |
+
Delaware,10,"899,593","907,381","915,179","923,576","932,487","941,252","948,921","956,823","965,479","973,764"
|
| 10 |
+
District of Columbia,11,"605,226","619,800","634,924","650,581","662,328","675,400","685,815","694,906","701,547","705,749"
|
| 11 |
+
Florida,12,"18,845,537","19,053,237","19,297,822","19,545,621","19,845,911","20,209,042","20,613,477","20,963,613","21,244,317","21,477,737"
|
| 12 |
+
Georgia,13,"9,711,881","9,802,431","9,901,430","9,972,479","10,067,278","10,178,447","10,301,890","10,410,330","10,511,131","10,617,423"
|
| 13 |
+
Hawaii,15,"1,363,963","1,379,329","1,394,804","1,408,243","1,414,538","1,422,052","1,427,559","1,424,393","1,420,593","1,415,872"
|
| 14 |
+
Idaho,16,"1,570,746","1,583,910","1,595,324","1,611,206","1,631,112","1,651,059","1,682,380","1,717,715","1,750,536","1,787,065"
|
| 15 |
+
Illinois,17,"12,840,503","12,867,454","12,882,510","12,895,129","12,884,493","12,858,913","12,820,527","12,778,828","12,723,071","12,671,821"
|
| 16 |
+
Indiana,18,"6,490,432","6,516,528","6,537,703","6,568,713","6,593,644","6,608,422","6,634,304","6,658,078","6,695,497","6,732,219"
|
| 17 |
+
Iowa,19,"3,050,745","3,066,336","3,076,190","3,092,997","3,109,350","3,120,960","3,131,371","3,141,550","3,148,618","3,155,070"
|
| 18 |
+
Kansas,20,"2,858,190","2,869,225","2,885,257","2,893,212","2,900,475","2,909,011","2,910,844","2,908,718","2,911,359","2,913,314"
|
| 19 |
+
Kentucky,21,"4,348,181","4,369,821","4,386,346","4,404,659","4,414,349","4,425,976","4,438,182","4,452,268","4,461,153","4,467,673"
|
| 20 |
+
Louisiana,22,"4,544,532","4,575,625","4,600,972","4,624,527","4,644,013","4,664,628","4,678,135","4,670,560","4,659,690","4,648,794"
|
| 21 |
+
Maine,23,"1,327,629","1,328,284","1,327,729","1,328,009","1,330,513","1,328,262","1,331,317","1,334,612","1,339,057","1,344,212"
|
| 22 |
+
Maryland,24,"5,788,645","5,839,419","5,886,992","5,923,188","5,957,283","5,985,562","6,003,323","6,023,868","6,035,802","6,045,680"
|
| 23 |
+
Massachusetts,25,"6,566,307","6,613,583","6,663,005","6,713,315","6,762,596","6,794,228","6,823,608","6,859,789","6,882,635","6,892,503"
|
| 24 |
+
Michigan,26,"9,877,510","9,882,412","9,897,145","9,913,065","9,929,848","9,931,715","9,950,571","9,973,114","9,984,072","9,986,857"
|
| 25 |
+
Minnesota,27,"5,310,828","5,346,143","5,376,643","5,413,479","5,451,079","5,482,032","5,522,744","5,566,230","5,606,249","5,639,632"
|
| 26 |
+
Mississippi,28,"2,970,548","2,978,731","2,983,816","2,988,711","2,990,468","2,988,471","2,987,938","2,988,510","2,981,020","2,976,149"
|
| 27 |
+
Missouri,29,"5,995,974","6,010,275","6,024,367","6,040,715","6,056,202","6,071,732","6,087,135","6,106,670","6,121,623","6,137,428"
|
| 28 |
+
Montana,30,"990,697","997,316","1,003,783","1,013,569","1,021,869","1,030,475","1,040,859","1,052,482","1,060,665","1,068,778"
|
| 29 |
+
Nebraska,31,"1,829,542","1,840,672","1,853,303","1,865,279","1,879,321","1,891,277","1,905,616","1,915,947","1,925,614","1,934,408"
|
| 30 |
+
Nevada,32,"2,702,405","2,712,730","2,743,996","2,775,970","2,817,628","2,866,939","2,917,563","2,969,905","3,027,341","3,080,156"
|
| 31 |
+
New Hampshire,33,"1,316,762","1,320,202","1,324,232","1,326,622","1,333,341","1,336,350","1,342,307","1,348,787","1,353,465","1,359,711"
|
| 32 |
+
New Jersey,34,"8,799,446","8,828,117","8,844,942","8,856,972","8,864,525","8,867,949","8,870,827","8,885,525","8,886,025","8,882,190"
|
| 33 |
+
New Mexico,35,"2,064,552","2,080,450","2,087,309","2,092,273","2,089,568","2,089,291","2,091,630","2,091,784","2,092,741","2,096,829"
|
| 34 |
+
New York,36,"19,399,878","19,499,241","19,572,932","19,624,447","19,651,049","19,654,666","19,633,428","19,589,572","19,530,351","19,453,561"
|
| 35 |
+
North Carolina,37,"9,574,323","9,657,592","9,749,476","9,843,336","9,932,887","10,031,646","10,154,788","10,268,233","10,381,615","10,488,084"
|
| 36 |
+
North Dakota,38,"674,715","685,225","701,176","722,036","737,401","754,066","754,434","754,942","758,080","762,062"
|
| 37 |
+
Ohio,39,"11,539,336","11,544,663","11,548,923","11,576,684","11,602,700","11,617,527","11,634,370","11,659,650","11,676,341","11,689,100"
|
| 38 |
+
Oklahoma,40,"3,759,944","3,788,379","3,818,814","3,853,214","3,878,187","3,909,500","3,926,331","3,931,316","3,940,235","3,956,971"
|
| 39 |
+
Oregon,41,"3,837,491","3,872,036","3,899,001","3,922,468","3,963,244","4,015,792","4,089,976","4,143,625","4,181,886","4,217,737"
|
| 40 |
+
Pennsylvania,42,"12,711,160","12,745,815","12,767,118","12,776,309","12,788,313","12,784,826","12,782,275","12,787,641","12,800,922","12,801,989"
|
| 41 |
+
Rhode Island,44,"1,053,959","1,053,649","1,054,621","1,055,081","1,055,936","1,056,065","1,056,770","1,055,673","1,058,287","1,059,361"
|
| 42 |
+
South Carolina,45,"4,635,649","4,671,994","4,717,354","4,764,080","4,823,617","4,891,938","4,957,968","5,021,268","5,084,156","5,148,714"
|
| 43 |
+
South Dakota,46,"816,166","823,579","833,566","842,316","849,129","853,988","862,996","872,868","878,698","884,659"
|
| 44 |
+
Tennessee,47,"6,355,311","6,399,291","6,453,898","6,494,340","6,541,223","6,591,170","6,646,010","6,708,799","6,771,631","6,829,174"
|
| 45 |
+
Texas,48,"25,241,971","25,645,629","26,084,481","26,480,266","26,964,333","27,470,056","27,914,410","28,295,273","28,628,666","28,995,881"
|
| 46 |
+
Utah,49,"2,775,332","2,814,384","2,853,375","2,897,640","2,936,879","2,981,835","3,041,868","3,101,042","3,153,550","3,205,958"
|
| 47 |
+
Vermont,50,"625,879","627,049","626,090","626,210","625,214","625,216","623,657","624,344","624,358","623,989"
|
| 48 |
+
Virginia,51,"8,023,699","8,101,155","8,185,080","8,252,427","8,310,993","8,361,808","8,410,106","8,463,587","8,501,286","8,535,519"
|
| 49 |
+
Washington,53,"6,742,830","6,826,627","6,897,058","6,963,985","7,054,655","7,163,657","7,294,771","7,423,362","7,523,869","7,614,893"
|
| 50 |
+
West Virginia,54,"1,854,239","1,856,301","1,856,872","1,853,914","1,849,489","1,842,050","1,831,023","1,817,004","1,804,291","1,792,147"
|
| 51 |
+
Wisconsin,55,"5,690,475","5,705,288","5,719,960","5,736,754","5,751,525","5,760,940","5,772,628","5,790,186","5,807,406","5,822,434"
|
| 52 |
+
Wyoming,56,"564,487","567,299","576,305","582,122","582,531","585,613","584,215","578,931","577,601","578,759"
|
| 53 |
+
Puerto Rico,72,"3,721,525","3,678,732","3,634,488","3,593,077","3,534,874","3,473,232","3,406,672","3,325,286","3,193,354","3,193,694"
|