Nikhil-Murade commited on
Commit
1f1691f
·
verified ·
1 Parent(s): 0548f4f

Upload 8 files

Browse files
README.md CHANGED
@@ -1,13 +1,19 @@
1
- ---
2
- title: VisualizationDemo
3
- emoji: 🐨
4
- colorFrom: green
5
- colorTo: blue
6
- sdk: streamlit
7
- sdk_version: 1.38.0
8
- app_file: app.py
9
- pinned: false
10
- license: apache-2.0
11
- ---
12
-
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
1
+ # 🏂 US Population Dashboard
2
+
3
+ A dashboard web app template built in Python using Streamlit.
4
+
5
+ ## Demo App
6
+
7
+ [![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://population-dashboard.streamlit.app/)
8
+
9
+ ## Colab notebook
10
+ [![Colab Notebook](https://colab.research.google.com/assets/colab-badge.svg)](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"