diff --git a/policyengine_us_data/datasets/cps/local_areas/age-national.csv b/policyengine_us_data/datasets/cps/local_areas/age-national.csv new file mode 100644 index 00000000..0edef691 --- /dev/null +++ b/policyengine_us_data/datasets/cps/local_areas/age-national.csv @@ -0,0 +1,2 @@ +GEO_ID,NAME,0-4,5-9,10-14,15-19,20-24,25-29,30-34,35-39,40-44,45-49,50-54,55-59,60-64,65-69,70-74,75-79,80-84,85+ +0100000US,United States,18358199,19770314,21220214,21785658,22446040,22007628,23225636,22335859,21711785,19640925,20835521,20553615,21573853,18559497,15338575,11005461,6758839,6159943 diff --git a/policyengine_us_data/datasets/cps/local_areas/districts/calibrate.py b/policyengine_us_data/datasets/cps/local_areas/districts/calibrate.py new file mode 100644 index 00000000..1f4b48ee --- /dev/null +++ b/policyengine_us_data/datasets/cps/local_areas/districts/calibrate.py @@ -0,0 +1,147 @@ +import torch +from policyengine_us import Microsimulation +import pandas as pd +import numpy as np +from tqdm import tqdm +import h5py +import os +import argparse + +import pandas as pd +import numpy as np +from pathlib import Path + +from policyengine_us_data.storage import STORAGE_FOLDER +from policyengine_us_data import DATASETS, CPS_2022 + + +FOLDER = Path(__file__).parent + +if False: # Interactive use + %cd /mnt/c/devl/policyengine-us-data/policyengine_us_data/datasets/cps/local_areas/districts + FOLDER = Path('.') + + +def create_district_target_matrix( + dataset: str = "cps_2022", + time_period: int = 2025, + reform=None, +): + ages = pd.read_csv(FOLDER / "targets" / "age-district.csv") + + ages_count_matrix = ages.iloc[:, 2:] + age_ranges = list(ages_count_matrix.columns) + + sim = Microsimulation(dataset=dataset) + sim.default_calculation_period = time_period # why isn't the time period 2022? + + matrix = pd.DataFrame() + y = pd.DataFrame() + + age = sim.calculate("age").values + for age_range in age_ranges: + if age_range != "85+": + lower_age, upper_age = age_range.split("-") + in_age_band = (age >= int(lower_age)) & (age < int(upper_age)) + else: + in_age_band = age >= 85 + + # Mapping people ages to household ages, how exactly + matrix[f"age/{age_range}"] = sim.map_result( + in_age_band, "person", "household" + ) + + y[f"age/{age_range}"] = ages[age_range] + + # TODO: Create a mask so that weights cannot be shared among HHs of different states + #district_mask = create_district_mask( + # household_districts= ?? sim.calculate("??").values, + # codes=ages.iloc[:, 1] + #) + + return matrix, y #, district_mask + + +# TODO bring this into loss +def calibrate( + epochs: int = 128, + excluded_training_targets=[], + log_csv="training_log.csv", + overwrite_ecps=True, +): + matrix_, y_ = create_district_target_matrix( + "cps_2022", 2025 + ) + + sim = Microsimulation(dataset = "cps_2022") + sim.default_calculation_period = 2025 + + COUNT_DISTRICTS = 435 + + original_weights = np.log( + sim.calculate("household_weight", 2025).values / COUNT_DISTRICTS + ) + weights = torch.tensor( + np.ones((COUNT_DISTRICTS, len(original_weights))) + * original_weights, + dtype=torch.float32, + requires_grad=True, + ) + + metrics = torch.tensor(matrix_.values, dtype=torch.float32) + y = torch.tensor(y_.values, dtype=torch.float32) + # r = torch.tensor(country_mask, dtype=torch.float32) + + # --- UNDERSTANDING THE LOSS FUNCTION ---- (Ben's personal documentation for now) + # All targets must share the same weights. + # + # The w_unsqueezed tensor (shape (d, h, 1)) behaves as if its last dimension (size 1) + # is tiled or copied k times to match the k dimension of metrics_unsqueezed, + # , effectively becoming a (d, h, k) tensor where w[i, j] is repeated across the last dimension, the targets. + # + # All districs share the same metrics. + # The metrics_unsqueezed tensor (shape (1, h, k)) behaves as if its first dimension (size 1) is tiled or copied d times + # to match the d dimension of w_unsqueezed, effectively becoming a (d, h, k) tensor + + # The modified Mean Squared Relative Error: + # This second step calculates the Mean Squared Relative Error, but specifically relative to 1 + y. + # Instead of measuring the average squared difference (pred - y) ** 2, it measures the average squared + # relative difference with respect to the modified target: ((pred / (1 + y)) - 1) ** 2. + + def loss(w): + pred = (w.unsqueeze(-1) * metrics.unsqueeze(0)).sum(dim=1) + # mse = torch.mean((pred / (1 + y) - 1) ** 2) + mse = torch.mean(((pred - y) / y) ** 2) + return mse + + optimizer = torch.optim.Adam([weights], lr=0.15) + + desc = range(32) if os.environ.get("DATA_LITE") else range(epochs) + #final_weights = (torch.exp(weights) * r).detach().numpy() + final_weights = (torch.exp(weights)).detach().numpy() + + for epoch in desc: + optimizer.zero_grad() + #weights_ = torch.exp(dropout_weights(weights, 0.05)) * r + #l = loss(weights_) + l = loss(weights) + l.backward() + optimizer.step() + + if epoch % 1 == 0: + print(f"Loss: {l.item()}, Epoch: {epoch}") + if epoch % 10 == 0: + #final_weights = (torch.exp(weights) * r).detach().numpy() + final_weights = torch.exp(weights).detach().numpy() # what's with the exp? + + with h5py.File( + STORAGE_FOLDER / "congressional_district_weights.h5", "w" + ) as f: + f.create_dataset("2025", data=final_weights) + + #if overwrite_ecps: + return final_weights + + +if __name__ == "__main__": + calibrate() diff --git a/policyengine_us_data/datasets/cps/local_areas/districts/loss.py b/policyengine_us_data/datasets/cps/local_areas/districts/loss.py new file mode 100644 index 00000000..4d9b3f28 --- /dev/null +++ b/policyengine_us_data/datasets/cps/local_areas/districts/loss.py @@ -0,0 +1,2 @@ +# Placeholder file for loss.py +# Currently putting all the logic in calibrate.py diff --git a/policyengine_us_data/datasets/cps/local_areas/districts/targets/age-district.csv b/policyengine_us_data/datasets/cps/local_areas/districts/targets/age-district.csv new file mode 100644 index 00000000..795bbc84 --- /dev/null +++ b/policyengine_us_data/datasets/cps/local_areas/districts/targets/age-district.csv @@ -0,0 +1,436 @@ +,code,name,all,0-4,5-9,10-14,15-19,20-24,25-29,30-34,35-39,40-44,45-49,50-54,55-59,60-64,65-69,70-74,75-79,80-84,85+ +0,5001800US0101,Alabama - District 1,735510,40812,44605,48078,44710,40634,44146,47020,46079,48824,43307,45966,44034,52575,45868,40381,29820,15384,13267 +1,5001800US0102,Alabama - District 2,724401,41303,48219,47147,49224,43710,44152,45535,48910,43438,42948,46535,45277,46307,44629,31734,27952,14516,12865 +2,5001800US0103,Alabama - District 3,730373,38888,42621,44665,51742,54742,44796,45710,40674,48719,43557,45982,44400,49661,50233,31545,25481,15669,11288 +3,5001800US0104,Alabama - District 4,722049,44242,39820,51753,46160,43273,39849,43998,45965,42959,40200,49194,43980,50615,42095,39805,27625,17056,13460 +4,5001800US0105,Alabama - District 5,758622,40627,45174,47178,50117,50351,49585,52112,48650,48798,45218,47918,50271,51872,41505,35085,25036,15217,13908 +5,5001800US0106,Alabama - District 6,722381,42851,42534,51657,47693,39191,47092,46972,44275,55690,46291,46237,42660,44390,39856,32382,24707,15098,12805 +6,5001800US0107,Alabama - District 7,715132,39296,42758,40784,61048,61894,44263,49287,46386,39885,38499,38226,38273,48686,44692,34198,21885,13753,11319 +7,5001800US0200,"Congressional District (at Large) , Alaska",733406,45211,48763,51926,43880,49734,55327,56523,57892,52239,41875,40307,39971,46760,36699,29939,20212,8911,7237 +8,5001800US0401,Arizona - District 1,804256,35970,40870,36827,41206,43410,61508,60030,56289,48937,42392,52698,53418,62153,50457,44475,34601,20029,18986 +9,5001800US0402,Arizona - District 2,833298,38074,47437,49122,58943,51917,46979,51722,47674,46759,43056,45244,45084,62303,63656,55340,42405,22377,15206 +10,5001800US0403,Arizona - District 3,814391,52249,54489,63690,69140,72311,72876,67181,58208,51254,52125,48625,44204,36401,25664,19453,12168,9732,4621 +11,5001800US0404,Arizona - District 4,814381,41034,40668,46031,56180,75508,71681,67498,49583,51756,46827,47409,41938,46567,39519,35586,25565,17993,13038 +12,5001800US0405,Arizona - District 5,857744,50388,62413,62091,62806,43025,48631,55449,65589,64480,56160,57739,42235,46075,38183,39933,32221,18717,11609 +13,5001800US0406,Arizona - District 6,813933,34470,40198,42233,43398,50811,48928,48702,44547,45434,39991,48349,44581,59393,61694,58554,47869,29939,24842 +14,5001800US0407,Arizona - District 7,811832,47292,54437,55011,68572,70165,59676,61244,50225,56091,47162,39380,44761,40811,37287,30335,24299,15478,9606 +15,5001800US0408,Arizona - District 8,800203,40609,45417,45428,48390,40216,45647,51858,50998,47134,45904,44313,46099,53563,50421,50141,43493,27222,23350 +16,5001800US0409,Arizona - District 9,881306,51056,49794,54073,52487,51234,50357,57021,51989,55381,50843,54648,50191,60565,56878,50656,42623,23670,17840 +17,5001800US0501,Arkansas - District 1,752628,41862,44672,52809,53649,40676,43190,49208,45733,49654,44783,44585,43129,53951,46881,37454,28990,17253,14149 +18,5001800US0502,Arkansas - District 2,774027,44715,50045,48227,52298,54747,49997,50626,47997,52621,45172,45485,44321,50322,45083,35514,27322,15659,13876 +19,5001800US0503,Arkansas - District 3,797092,49117,54323,52182,59837,60937,55448,55326,54997,55433,46957,47654,43070,43227,40805,30234,20987,14876,11682 +20,5001800US0504,Arkansas - District 4,743985,41214,47479,44554,48780,47355,42565,46834,45372,47372,41269,43445,45015,52590,46855,38404,30257,19449,15176 +21,5001800US0601,California - District 1,755464,41108,46335,51257,54776,54443,45484,50389,49837,46672,41506,39512,39671,50641,43784,39682,26301,19344,14722 +22,5001800US0602,California - District 2,743918,34058,39424,41741,45514,38325,36052,41070,48775,47794,43531,50239,51072,51753,53362,46199,37308,21413,16288 +23,5001800US0603,California - District 3,788130,36899,43170,51001,44396,37079,37505,46052,53667,54602,51211,51159,46852,54917,52637,51215,35651,24348,15769 +24,5001800US0604,California - District 4,761543,35719,39674,44827,53247,64081,48570,48666,50454,46943,42291,45107,44879,44234,47549,40611,31087,18072,15532 +25,5001800US0605,California - District 5,782849,38502,44056,53838,51342,39396,43997,52135,53478,45690,45046,43239,48476,55906,53838,43561,30299,21166,18884 +26,5001800US0606,California - District 6,747786,46172,47300,47327,43829,42456,56935,61376,56253,50800,42016,44875,42577,48007,36707,31325,22510,14221,13100 +27,5001800US0607,California - District 7,762568,41001,43739,52243,55857,51228,47433,62913,56205,58140,46103,46099,43899,41118,39258,30982,21031,13523,11796 +28,5001800US0608,California - District 8,752009,41205,41222,45940,48473,48833,51248,54864,53097,55579,45735,44876,47375,50412,39732,34881,24450,12639,11448 +29,5001800US0609,California - District 9,770568,48761,48766,63555,58350,49946,50449,55827,53727,54416,46710,46457,42953,42514,34447,29004,20608,12167,11911 +30,5001800US0610,California - District 10,746449,38854,43274,51760,46797,38464,36016,45414,55498,53153,55434,52329,45852,48292,42001,32955,28758,17117,14481 +31,5001800US0611,California - District 11,701735,26291,23371,25076,26946,34332,67377,79332,64386,52611,43776,47383,41217,40960,36625,32934,24978,13704,20436 +32,5001800US0612,California - District 12,734171,35212,31069,36118,44497,51961,59398,62676,61231,56419,45217,47411,45597,35705,36476,32176,24005,14910,14093 +33,5001800US0613,California - District 13,784322,55698,60762,66720,65944,60756,52140,57718,53787,54317,46233,44203,40030,37671,32686,22416,16055,9363,7823 +34,5001800US0614,California - District 14,725962,39353,42843,47501,42990,30370,37950,59686,59377,53038,51224,48374,47428,46504,41284,29026,20922,15510,12582 +35,5001800US0615,California - District 15,721009,34820,33486,40916,38696,37996,48397,54503,54351,52918,49582,47705,46628,47949,42128,32862,24669,16044,17359 +36,5001800US0616,California - District 16,748899,39840,42975,49253,51260,39153,46514,53119,51312,51488,50909,48819,47708,47011,36474,31782,26016,18670,16596 +37,5001800US0617,California - District 17,744019,36901,37193,38356,38447,45698,63757,77212,63396,52591,44289,48376,46514,46260,34665,25608,17895,14189,12672 +38,5001800US0618,California - District 18,743048,45911,50826,50754,61673,55412,50629,56285,56150,49831,46423,47537,38289,40055,32436,26119,15881,8748,10089 +39,5001800US0619,California - District 19,725878,30539,37117,37836,54671,51678,41812,42867,43761,46451,45301,48639,48719,48267,47228,38475,29297,18097,15123 +40,5001800US0620,California - District 20,794847,56464,52254,65061,55746,46246,52611,60899,59917,51553,46209,44606,43947,42567,37362,30896,21636,13772,13101 +41,5001800US0621,California - District 21,749912,51345,57714,66597,62659,54422,54338,57579,50947,53253,39655,40339,37175,35547,28733,25557,14649,10757,8646 +42,5001800US0622,California - District 22,774942,54735,59081,76076,70231,61467,58472,59158,55521,49998,44216,37762,34791,36742,28925,19268,13320,7401,7778 +43,5001800US0623,California - District 23,768047,46097,51128,60585,55514,56181,51222,59081,52507,51293,40690,42257,39667,44305,39383,29501,22825,12718,13093 +44,5001800US0624,California - District 24,761285,40436,41151,40973,65290,70906,49779,48021,46414,44592,38770,42760,37546,46225,41604,42571,28858,17616,17773 +45,5001800US0625,California - District 25,779900,47260,53002,58636,57034,52033,49756,56249,50671,48889,45036,44947,40268,41491,38217,33689,28679,17107,16936 +46,5001800US0626,California - District 26,739517,38217,45826,48784,49527,47246,45123,46446,51655,44903,46431,45711,50176,46506,42123,33100,21995,16516,19232 +47,5001800US0627,California - District 27,736850,42852,49751,57616,55224,40710,43880,45802,48474,51363,50857,41004,55676,51246,34035,24893,20238,13466,9763 +48,5001800US0628,California - District 28,746863,31708,39388,41597,46633,35977,43948,54698,51423,44427,51209,54036,48723,52900,50149,35637,26410,18284,19716 +49,5001800US0629,California - District 29,719359,38146,39428,47947,46971,46316,59389,66146,52281,51493,47649,51666,42356,39611,33741,23574,14133,8767,9745 +50,5001800US0630,California - District 30,745825,29620,27196,32294,29761,37715,66439,78893,72707,56167,47631,49601,44481,45001,42463,32869,23548,13460,15979 +51,5001800US0631,California - District 31,717084,40347,37326,46245,44769,44635,49358,51522,50860,44893,49233,48955,46988,41570,43149,28503,21627,13311,13793 +52,5001800US0632,California - District 32,760602,38367,37465,42661,36919,44304,53851,60142,51649,55504,47356,55175,45538,47553,44525,35015,27756,18496,18326 +53,5001800US0633,California - District 33,763598,50056,56545,60895,60847,52612,57121,58963,53589,51208,49018,48935,39547,38555,30890,26126,12961,9244,6486 +54,5001800US0634,California - District 34,714948,30903,36524,40415,39593,48715,64425,69271,63889,53639,42583,44356,40373,38230,32665,25338,17280,12363,14386 +55,5001800US0635,California - District 35,749769,43567,49926,54185,50982,49110,61051,63484,60231,53760,46833,45503,47586,38794,30225,23036,14178,9001,8317 +56,5001800US0636,California - District 36,742266,30369,33716,39433,48012,49275,50271,63090,51027,50652,46312,44785,45976,46853,42457,33587,29220,16320,20911 +57,5001800US0637,California - District 37,735660,38845,39515,42710,57477,62954,63201,60574,55592,52711,43569,46681,41962,40133,31689,23185,14297,9541,11024 +58,5001800US0638,California - District 38,723495,35389,43668,45576,45757,41185,44070,54696,46686,48930,43390,49481,48102,51494,40553,31049,24430,14038,15001 +59,5001800US0639,California - District 39,767217,46477,50244,53086,67381,64031,64395,60107,53977,49309,44952,46110,45784,36265,27784,23105,16811,9091,8308 +60,5001800US0640,California - District 40,755867,44434,43021,42381,44791,39389,40767,48072,52270,47557,51101,49531,55865,55049,45327,35709,25252,16540,18811 +61,5001800US0641,California - District 41,811664,41821,49569,53767,51460,45241,45338,53228,56417,54939,49125,47871,54766,51032,51134,40329,30156,17588,17883 +62,5001800US0642,California - District 42,711011,32416,37515,42787,52190,52280,57893,60043,42953,50334,46255,51431,44756,44195,31311,25711,18771,11048,9122 +63,5001800US0643,California - District 43,716670,41916,41614,48233,49316,48742,54306,56911,52913,46170,45468,48539,42351,42023,35719,23909,18194,9153,11193 +64,5001800US0644,California - District 44,737874,36831,46278,50058,47689,50346,51145,56773,60400,45750,45184,45982,48030,47263,38652,25576,19120,12581,10216 +65,5001800US0645,California - District 45,737224,34965,36486,53384,49454,40932,49245,51160,41532,45933,47655,52694,50233,48109,41931,33665,25599,18849,15398 +66,5001800US0646,California - District 46,746079,35688,40988,50710,51274,60359,61951,63329,56313,48969,44629,48598,47504,42435,32114,23322,16612,10069,11215 +67,5001800US0647,California - District 47,754022,36139,36375,49078,52395,51135,55549,53218,57900,49866,47425,51749,46195,42900,35034,31551,24746,16544,16223 +68,5001800US0648,California - District 48,740583,43784,46887,52574,46479,34616,40268,50991,53855,55864,44200,43761,42704,52386,43922,34447,25884,15632,12329 +69,5001800US0649,California - District 49,751418,38733,41737,43406,49578,52898,48134,48496,45537,44546,46749,52810,49535,48391,46662,37282,27540,15256,14128 +70,5001800US0650,California - District 50,781251,33670,31903,41580,50759,60747,67530,73793,64662,50191,53787,48993,45822,42711,35204,27396,25548,14845,12110 +71,5001800US0651,California - District 51,748700,44819,45216,36892,48699,50735,62544,65487,63967,49508,40360,40662,39645,45073,37823,29866,18870,14177,14357 +72,5001800US0652,California - District 52,740517,43560,48156,53048,46824,50233,52974,60196,55561,55654,43675,46623,41558,38096,34304,28152,16890,12511,12502 +73,5001800US0801,Colorado - District 1,722087,37804,31439,36980,35486,44548,82953,85211,70882,53918,43174,40826,32469,33404,28928,27157,19151,8423,9334 +74,5001800US0802,Colorado - District 2,721783,23991,34559,40772,56771,66330,52638,51683,49924,50894,42238,44672,38303,44375,39786,37869,22640,12855,11483 +75,5001800US0803,Colorado - District 3,730686,33840,38303,43041,46368,41933,42850,48285,46536,50564,43309,40506,39765,54255,54078,44895,31669,15550,14939 +76,5001800US0804,Colorado - District 4,767791,44860,40520,54440,51886,40861,43431,53350,59776,58275,49412,54649,46466,49410,37511,35189,23787,12959,11009 +77,5001800US0805,Colorado - District 5,737347,44602,46544,48338,47792,56561,60994,60567,59123,45124,41315,39986,38062,42598,38919,25428,20629,10947,9818 +78,5001800US0806,Colorado - District 6,730351,43902,44058,47590,46578,43413,54007,59080,56535,53397,44357,45277,42098,42482,34865,30287,19710,13302,9413 +79,5001800US0807,Colorado - District 7,726989,29848,33358,38200,41449,36417,53685,59708,57461,51142,47723,46785,41634,50753,48991,36067,27774,13840,12154 +80,5001800US0808,Colorado - District 8,740576,44928,47247,55490,52157,49283,58106,61455,56998,54062,45029,44214,38373,40048,33591,25585,15439,10930,7641 +81,5001800US0901,Connecticut - District 1,716454,34503,36183,42023,46985,46144,50574,48231,42960,49220,44107,45873,46622,45557,41073,36897,24578,17117,17807 +82,5001800US0902,Connecticut - District 2,730400,32713,36743,38629,47433,52773,39150,44847,48822,45376,36914,47001,53204,57712,46033,41345,28691,17130,15884 +83,5001800US0903,Connecticut - District 3,726058,35353,35782,40456,47178,49152,48234,46588,43952,47123,42983,44873,46736,54723,44798,34492,27726,17592,18317 +84,5001800US0904,Connecticut - District 4,721814,39772,45456,42742,51301,41820,40746,45088,47053,45450,45617,48548,49648,53068,41906,27235,24680,16313,15371 +85,5001800US0905,Connecticut - District 5,722450,38220,42015,43416,48134,42328,41183,45826,48148,51310,39188,46535,46735,54366,45230,35914,25148,15278,13476 +86,5001800US1000,"Congressional District (at Large) , Delaware",1031890,54398,55381,63821,65460,61403,57870,67091,63384,65305,54110,61204,65582,76924,69935,62935,40604,24952,21531 +88,5001800US1201,Florida - District 1,803679,44487,46587,49612,53652,51647,55084,55429,54545,53134,45845,46285,47220,57026,48128,38386,26026,17141,13445 +89,5001800US1202,Florida - District 2,799012,40009,40938,45566,58956,66825,48181,53803,46686,54020,46026,50448,50186,51108,46971,40462,29894,16552,12381 +90,5001800US1203,Florida - District 3,807523,39728,38708,41873,59510,65305,52434,49241,50732,47940,40244,45524,45216,56987,51622,47222,32806,23474,18957 +91,5001800US1204,Florida - District 4,811996,49348,53206,49060,50539,45289,54597,62650,52079,52664,45877,52151,51284,56477,44123,37902,27597,14824,12329 +92,5001800US1205,Florida - District 5,837211,45046,52346,52991,52835,47454,52280,60149,65795,58319,50884,52498,44239,57144,46671,39733,30614,15459,12754 +93,5001800US1206,Florida - District 6,821498,34581,38754,45216,48457,45485,40540,40043,43080,42926,45019,47281,49829,68167,70204,59690,51173,29890,21163 +94,5001800US1207,Florida - District 7,802027,38206,41476,48119,45146,42435,50771,56001,52921,56064,48432,53098,47327,59886,50085,40713,32936,20823,17588 +95,5001800US1208,Florida - District 8,817216,34186,37382,43347,42234,40474,41188,46245,46263,47204,42683,48776,55481,70890,64151,56991,41678,30035,28008 +96,5001800US1209,Florida - District 9,842005,48541,53317,51476,53377,48887,60769,67888,63977,63526,59914,54374,51370,44631,40728,31989,26036,11188,10017 +97,5001800US1210,Florida - District 10,784303,42574,40706,47251,59015,69267,66587,64043,51969,59081,47275,47380,41918,47383,32062,26424,20161,11414,9793 +98,5001800US1211,Florida - District 11,843676,40166,42753,46662,42640,35574,41644,49006,49726,63022,50993,51003,48229,60113,59250,57804,53486,32475,19130 +99,5001800US1212,Florida - District 12,843806,35950,42923,44476,46096,40184,42864,51326,52078,48190,46606,52454,55938,64142,61304,56600,48589,32504,21582 +100,5001800US1213,Florida - District 13,767679,28935,28882,32413,34788,34970,42321,46306,43147,43673,43005,48295,61631,65660,60976,51722,43116,31583,26256 +101,5001800US1214,Florida - District 14,784928,38803,38805,39489,45662,41618,63648,63365,60393,52129,48675,57613,50060,47389,46499,31917,27755,17806,13302 +102,5001800US1215,Florida - District 15,828431,51394,51760,55787,58254,55740,53558,58517,57867,50860,49009,49712,48636,48926,45820,37106,25087,17339,13059 +103,5001800US1216,Florida - District 16,850603,41064,50522,52227,44493,44194,43489,54704,55149,54841,50214,52915,49421,65297,52543,50769,41594,25586,21581 +104,5001800US1217,Florida - District 17,851634,30930,36141,37615,37856,37935,34265,38190,39127,39378,40993,50025,54078,72786,78030,74669,68977,43343,37296 +105,5001800US1218,Florida - District 18,853391,43996,44451,57927,53918,52936,50081,52798,57931,60007,45847,48540,45792,55700,54375,44713,35093,28674,20612 +106,5001800US1219,Florida - District 19,809197,29295,31085,32831,40221,36034,38255,41116,44451,38533,40005,43467,57504,64223,65678,66616,64874,40028,34981 +107,5001800US1220,Florida - District 20,803297,46822,45474,49760,47658,49967,55694,57688,53279,52576,47873,49568,55453,50776,42084,37400,27160,16857,17208 +108,5001800US1221,Florida - District 21,820276,37472,41978,37956,44432,37134,40782,47041,46607,46673,43656,52401,51885,64100,63804,55561,51575,31234,25985 +109,5001800US1222,Florida - District 22,773713,38899,41546,37893,40005,34970,38906,48421,45382,47317,42993,45883,47730,56395,48785,46698,51235,29342,31313 +110,5001800US1223,Florida - District 23,780374,39102,46024,38839,37674,40437,40489,43210,63094,47411,51004,48470,51290,57160,47446,41967,37824,27101,21832 +111,5001800US1224,Florida - District 24,772726,46025,46587,53494,45290,41433,52197,57894,55732,53795,48317,46035,46418,49323,40097,36699,23554,16030,13806 +112,5001800US1225,Florida - District 25,779002,37508,40243,49908,50336,46149,44697,52125,52543,50770,54315,60566,52569,51551,41739,35550,28932,15703,13798 +113,5001800US1226,Florida - District 26,809482,40616,36824,43307,45160,45744,48646,49417,52188,51588,50725,66647,59008,53601,47794,40452,32101,25777,19887 +114,5001800US1227,Florida - District 27,746930,36586,35886,36767,39506,40195,48257,54545,56496,49620,50152,52934,56832,49000,37087,32547,27196,19776,23548 +115,5001800US1228,Florida - District 28,765111,42001,41325,44346,50432,47325,40011,51237,53498,49602,55505,54097,53116,51830,40482,34682,24472,15931,15219 +116,5001800US1301,Georgia - District 1,799549,47210,48909,56237,49251,58073,58557,60376,53327,53252,42770,46925,39522,51592,43083,36247,27510,13999,12709 +117,5001800US1302,Georgia - District 2,757219,43008,51604,51882,52754,51226,52170,52493,47737,46862,41624,46377,46285,44744,40637,36848,24272,15075,11621 +118,5001800US1303,Georgia - District 3,793606,43376,51694,51722,51357,48584,47527,49341,49971,52390,49332,54887,56991,48782,44751,37470,26206,17413,11812 +119,5001800US1304,Georgia - District 4,764506,46802,43951,55374,52466,44821,55145,61204,52876,55561,47182,47672,45277,47935,36423,30637,20300,11905,8975 +120,5001800US1305,Georgia - District 5,774627,40539,38934,39708,51710,60821,73457,78580,64266,55183,45670,45512,38218,39401,31775,28144,21631,12788,8290 +121,5001800US1306,Georgia - District 6,797492,41904,48896,60965,57895,38923,41943,47457,52935,61716,59489,65068,52580,50792,36337,33167,24247,12618,10560 +122,5001800US1307,Georgia - District 7,778113,47770,53986,57654,56500,52587,52554,52061,49469,54803,53260,56017,51889,45336,36020,25127,18037,7948,7095 +123,5001800US1308,Georgia - District 8,778270,44535,51009,54464,55839,53161,45249,51682,55220,50588,46867,44289,43132,49781,42732,35581,27399,14317,12425 +124,5001800US1309,Georgia - District 9,810092,41283,50537,53070,59218,52753,44384,45395,47266,57198,50365,54745,51616,55397,46629,40658,29216,18878,11484 +125,5001800US1310,Georgia - District 10,833978,45569,54211,53658,65623,66406,54568,56583,54309,53031,47815,56169,47683,49894,43395,35267,25564,13549,10684 +126,5001800US1311,Georgia - District 11,791779,45568,44192,48136,56212,55761,56528,60795,56413,53953,50402,54026,45989,46685,38639,30860,24771,12362,10487 +127,5001800US1312,Georgia - District 12,779898,44130,49522,50764,59514,59826,49313,54239,53579,47799,45891,43573,45668,48295,44132,35654,23125,14252,10622 +128,5001800US1313,Georgia - District 13,773905,46183,51626,55954,53287,53754,55375,56850,50853,53151,53862,52108,48470,43767,37757,27224,18479,7344,7861 +129,5001800US1314,Georgia - District 14,796193,43873,49764,56732,58223,47658,48648,54143,51173,52035,49422,55390,54102,48804,41994,33876,24728,13931,11697 +130,5001800US1501,Hawaii - District 1,723269,37161,39764,41567,39661,41908,49139,52931,49926,47368,44175,45116,42855,45118,40779,35106,31239,18710,20746 +131,5001800US1502,Hawaii - District 2,711869,40259,41099,46615,38382,43825,37468,46215,44291,50931,37959,40274,42048,45731,46955,43366,31087,20159,15205 +132,5001800US1601,Idaho - District 1,1008961,55976,67684,69810,70666,59684,57304,65385,66425,68477,59738,57738,54796,64998,62214,55717,34798,22096,15455 +133,5001800US1602,Idaho - District 2,955765,54932,59595,69425,77652,73598,66437,65192,60340,63567,55710,51707,49804,55827,48063,41701,27774,19782,14659 +134,5001800US1701,Illinois - District 1,751575,41858,46185,54129,51748,44129,42962,56274,43750,49172,39427,50813,43775,53443,45421,33299,22423,16278,16489 +135,5001800US1702,Illinois - District 2,720502,41494,48073,52218,46534,42854,41381,46936,42158,45210,41353,43239,40200,52017,42728,35215,24927,18573,15392 +136,5001800US1703,Illinois - District 3,720148,41346,40909,40748,45301,45375,55053,62248,54565,49405,46473,47309,42327,44537,36175,28625,18636,11827,9289 +137,5001800US1704,Illinois - District 4,704764,33908,40475,49004,57103,53159,45084,48686,46553,52468,47516,47619,42826,39679,32091,27294,17527,13049,10723 +138,5001800US1705,Illinois - District 5,754102,36896,41834,40496,37709,45243,74669,71354,60086,51624,50450,44172,42269,42558,35371,29129,21276,14333,14633 +139,5001800US1706,Illinois - District 6,725829,39670,43634,41311,41622,37375,46586,42689,47112,48186,42575,44444,45275,54358,48753,38934,27549,19857,15899 +140,5001800US1707,Illinois - District 7,732352,36621,36041,34694,40239,56517,82501,64557,62395,54676,40670,43281,36977,41707,35687,29217,16019,10813,9740 +141,5001800US1708,Illinois - District 8,730604,37732,44545,45926,46593,42005,41897,50378,47958,55196,51453,46997,44168,49718,45062,33569,22019,14542,10846 +142,5001800US1709,Illinois - District 9,742949,36960,40255,39809,47085,42934,45433,51440,55548,48705,45649,48557,48161,49349,45432,37356,24741,17210,18325 +143,5001800US1710,Illinois - District 10,746076,39892,48804,52794,54256,49318,44296,44180,46253,50003,46501,49363,48209,46021,41038,31585,26103,13457,14003 +144,5001800US1711,Illinois - District 11,761048,41165,49531,51832,54360,45831,44823,46780,48741,47850,49270,50925,57964,51340,37308,32484,22312,15002,13530 +145,5001800US1712,Illinois - District 12,749426,37874,47622,45990,46079,43647,41126,43926,50074,47852,46554,44456,46626,55849,48839,39386,27177,19667,16682 +146,5001800US1713,Illinois - District 13,725183,35952,40300,38250,54198,68661,47796,48269,40645,46997,40298,41055,40768,47307,43972,36851,20829,17603,15432 +147,5001800US1714,Illinois - District 14,755370,40252,49226,51004,56651,56827,43066,46788,52670,55883,50475,52462,44556,43786,37167,28989,21941,10340,13287 +148,5001800US1715,Illinois - District 15,745893,38651,44652,47746,47230,42041,41757,44077,44641,50341,42349,44886,46989,54844,48205,40951,27585,20356,18592 +149,5001800US1716,Illinois - District 16,755171,39934,47780,49862,48932,42888,40371,43805,45628,49636,44771,48542,49499,52703,49147,40040,26965,18093,16575 +150,5001800US1717,Illinois - District 17,728697,40821,43402,44020,51853,58269,43853,47183,43550,42873,38582,42322,43162,46763,44986,35298,26695,17934,17131 +151,5001800US1801,Indiana - District 1,757933,42204,49232,46300,49588,44460,46829,47661,50397,50831,45001,47078,44720,51961,49430,36427,24992,17233,13589 +152,5001800US1802,Indiana - District 2,750086,45896,53103,46723,56062,50590,45798,46560,45339,47283,43349,45905,44070,47480,43129,34548,22152,17649,14450 +153,5001800US1803,Indiana - District 3,764836,49683,53000,53750,53820,49721,46703,50151,45889,47355,42844,44502,45726,47939,42336,38221,23353,16013,13830 +154,5001800US1804,Indiana - District 4,778072,43792,49759,50602,59134,67072,46878,50309,50532,46888,46354,47895,46263,46761,41553,32419,24170,14699,12992 +155,5001800US1805,Indiana - District 5,781999,43156,44254,56803,57527,54324,45990,48763,53552,50511,47340,51709,47805,48674,39700,36726,26200,16126,12839 +156,5001800US1806,Indiana - District 6,764477,49287,52111,54450,52261,47990,48155,48762,48970,54040,46180,46566,42766,48031,41930,31785,23675,14708,12810 +157,5001800US1807,Indiana - District 7,747195,48098,50231,45545,48323,52516,64769,66720,54344,46673,40571,41686,42751,41513,38926,25767,15278,13495,9989 +158,5001800US1808,Indiana - District 8,756642,41122,45383,47106,49978,49009,45807,49951,46556,46045,41730,47373,45344,53617,48091,39352,29068,16911,14199 +159,5001800US1809,Indiana - District 9,760959,38320,42527,45275,59238,57904,46254,46800,43559,50015,43110,49310,47782,50057,45961,38020,27067,15171,14589 +160,5001800US1901,Iowa - District 1,798244,42697,47294,51945,55030,60190,47340,48661,51906,50836,45320,46672,46940,53893,45390,41498,27517,19416,15699 +161,5001800US1902,Iowa - District 2,791219,45031,48371,48456,55113,51135,47099,47504,46731,50939,43569,45068,48000,54459,50154,41210,27584,21591,19205 +162,5001800US1903,Iowa - District 3,821239,50841,57469,54254,54735,50659,55208,56154,56606,60515,49369,48029,45844,50808,40356,35847,24848,13627,16070 +163,5001800US1904,Iowa - District 4,796302,43494,47162,55619,60592,60492,47649,49011,43630,49250,43175,43164,41539,56649,49899,40869,25605,18452,20051 +164,5001800US2001,Kansas - District 1,726249,38746,41593,48933,58444,69578,48735,43897,44326,46081,38967,35488,37071,44852,39501,35816,23181,17420,13620 +165,5001800US2002,Kansas - District 2,725930,44218,44152,50793,52208,50738,44028,43848,46114,45796,36868,41893,38078,49398,44130,38484,25764,15113,14307 +166,5001800US2003,Kansas - District 3,749221,43028,48687,52731,47203,45826,48563,51160,51791,57644,45225,45086,42745,47036,39434,33291,22584,14933,12254 +167,5001800US2004,Kansas - District 4,739147,43838,48431,54287,52758,48103,48617,48980,47991,48058,40933,41200,40024,47394,42412,33922,23408,12643,16148 +168,5001800US2101,Kentucky - District 1,750693,45796,46248,45828,45150,50820,47002,48669,44088,46540,41177,46711,47706,49959,45501,41235,27212,18072,12979 +169,5001800US2102,Kentucky - District 2,775707,45409,49139,51005,49959,52514,47335,49591,50723,46815,47592,50335,49828,50920,43337,37951,24384,16444,12426 +170,5001800US2103,Kentucky - District 3,733409,45203,40959,47749,44395,44624,54121,56524,52159,43267,41555,41728,43303,47142,42723,34814,26946,13749,12448 +171,5001800US2104,Kentucky - District 4,768776,44364,50037,52967,48622,45996,46014,51956,52642,47147,49273,51894,47200,51530,42837,36424,23129,15744,11000 +172,5001800US2105,Kentucky - District 5,738681,40774,47889,44924,43671,43434,43352,46297,42549,47992,46772,47596,48848,53264,45215,40390,27431,16130,12153 +173,5001800US2106,Kentucky - District 6,758888,43087,44128,46453,54924,62811,53273,51534,49289,46548,45019,46256,45872,45600,41576,32575,25147,14754,10042 +174,5001800US2201,Louisiana - District 1,770713,44329,50434,45180,50886,45118,45172,48702,51126,52330,46761,45619,49241,50791,46686,40163,27331,15503,15341 +175,5001800US2202,Louisiana - District 2,742904,45168,40152,47444,45658,46010,50234,54533,51544,54066,41350,42662,43423,51062,47321,33669,24390,13521,10697 +176,5001800US2203,Louisiana - District 3,762638,49406,52981,52335,50415,45788,46326,52191,53022,50017,41739,44815,45094,51170,43542,35496,22999,14633,10669 +177,5001800US2204,Louisiana - District 4,757390,44959,50968,52536,48934,46565,46025,46486,46422,53854,41497,47280,44806,50483,42352,39002,28105,14849,12267 +178,5001800US2205,Louisiana - District 5,754781,42261,49399,50864,50689,49291,43619,53950,48072,50820,44848,43337,42975,49798,41150,40234,24878,15342,13254 +179,5001800US2206,Louisiana - District 6,785323,49513,52562,54860,55537,60614,49325,52902,53440,57820,44128,45130,40747,47548,40728,33520,23114,13351,10484 +180,5001800US2301,Maine - District 1,700340,29004,34297,34662,39206,37702,41775,46204,46611,44820,37758,46551,47584,54634,52498,41698,28887,19808,16641 +181,5001800US2302,Maine - District 2,695382,30894,32082,37930,40780,39705,38029,42257,38909,45417,39177,44616,47439,57559,51413,44198,31873,19249,13855 +182,5001800US2401,Maryland - District 1,782957,40042,43858,49877,52694,45518,41847,44593,51734,48408,44733,48605,57902,56186,52178,41428,32220,17208,13926 +183,5001800US2402,Maryland - District 2,767891,41499,45040,47572,50839,46058,43853,52954,52088,48447,46827,46532,48141,50281,46404,38149,28450,18402,16355 +184,5001800US2403,Maryland - District 3,778152,44814,45328,52551,51085,43535,46300,51643,52178,59189,49063,49780,52111,51374,39744,35094,24547,17718,12098 +185,5001800US2404,Maryland - District 4,723299,44438,44134,41424,49135,49555,46642,54822,47691,48764,45409,46569,41746,50932,38187,30985,18715,14041,10110 +186,5001800US2405,Maryland - District 5,812172,43947,54255,57101,48867,43379,46614,54238,57987,59035,50310,57077,61276,54766,39877,35756,23573,12772,11342 +187,5001800US2406,Maryland - District 6,799719,46342,49339,48455,51488,47972,44711,52599,59408,55118,51423,51539,51986,52628,44694,35491,27804,14340,14382 +188,5001800US2407,Maryland - District 7,744512,44274,44154,42265,47914,49248,58184,65308,57723,47964,36991,40481,41982,49134,39846,31978,21289,13362,12415 +189,5001800US2408,Maryland - District 8,771551,41480,49707,51618,49573,42440,42794,45050,51088,53654,50369,52503,50157,49360,39994,36271,29442,17374,18677 +190,5001800US2501,Massachusetts - District 1,767012,35962,38244,41522,52071,51712,44347,48989,46851,48812,41872,46874,48033,60377,51079,43033,31429,20401,15404 +191,5001800US2502,Massachusetts - District 2,798884,36911,42040,47811,61625,62736,49019,48966,51132,49587,49489,50567,53854,56285,47471,36847,25453,14224,14867 +192,5001800US2503,Massachusetts - District 3,767022,39474,46283,44419,52235,48864,43851,51247,53514,50966,45975,53971,53562,53606,42516,35251,23587,14045,13656 +193,5001800US2504,Massachusetts - District 4,783039,37462,45068,48020,55256,48550,46500,47802,52807,51837,46970,55941,53271,54077,46222,35866,25713,17348,14329 +194,5001800US2505,Massachusetts - District 5,776923,39392,42673,44710,48676,49223,54845,57036,57606,56442,47763,47673,48571,49356,39931,32363,26351,17166,17146 +195,5001800US2506,Massachusetts - District 6,785015,39759,44048,45254,48781,45974,39890,48049,50990,54070,46344,47632,52627,59803,53579,41115,30554,18318,18228 +196,5001800US2507,Massachusetts - District 7,744098,36886,28271,32922,53426,76993,91273,80536,55616,42903,38438,38535,37773,36868,30045,25093,16957,9982,11581 +197,5001800US2508,Massachusetts - District 8,791775,40129,35215,38798,41052,52137,65453,67810,63545,48018,46608,50020,50924,52076,43069,37188,26637,16592,16504 +198,5001800US2509,Massachusetts - District 9,787631,36170,41196,40706,44436,43155,37345,43488,48260,44431,41064,49417,55543,66676,59543,52868,40107,24358,18868 +199,5001800US2601,Michigan - District 1,786329,33888,36587,40584,44940,43552,40682,43195,45129,45298,40548,46409,51779,66983,68445,56988,37388,23733,20201 +200,5001800US2602,Michigan - District 2,791423,41128,47517,47610,53817,50428,43677,48466,48067,51017,42721,47660,50486,60458,53815,44002,27965,18254,14335 +201,5001800US2603,Michigan - District 3,771917,44474,48363,48723,54463,55462,59716,61599,50955,47973,42332,42521,42861,46300,39947,35768,21714,15767,12979 +202,5001800US2604,Michigan - District 4,777277,43823,44165,52361,54134,65474,47560,53427,48118,45169,44702,44772,46396,50110,44563,37325,24928,15902,14348 +203,5001800US2605,Michigan - District 5,775722,40383,44843,50378,49742,44026,41488,46450,45626,48833,44417,49719,51078,56386,55494,41268,30981,18424,16186 +204,5001800US2606,Michigan - District 6,764009,35411,39708,47826,54353,61760,49615,49761,47271,47906,48319,47428,50900,47487,42900,35843,26060,16507,14954 +205,5001800US2607,Michigan - District 7,781761,37984,44873,45347,58833,67169,49310,47757,47881,47700,43433,46863,50909,49882,46305,41132,26342,17027,13014 +206,5001800US2608,Michigan - District 8,766628,39892,45906,47083,47421,45116,47259,50907,43371,48479,43386,48191,48616,53982,51656,41594,28543,19866,15360 +207,5001800US2609,Michigan - District 9,769261,36157,43631,48924,46926,43976,41067,43012,43172,46409,46912,53835,61726,61035,52155,43161,27577,15983,13603 +208,5001800US2610,Michigan - District 10,769945,40187,42197,44300,42872,46625,54621,58344,48656,46335,46154,51972,48278,54295,45640,38143,25307,18443,17576 +209,5001800US2611,Michigan - District 11,769154,40429,40704,40411,41490,42102,55392,57779,54687,49311,44953,53469,48192,53241,48198,39501,27925,17442,13928 +210,5001800US2612,Michigan - District 12,740559,47339,44262,43003,47822,45224,45321,56393,44522,41752,38314,48521,45984,51886,45790,36830,27018,15035,15543 +211,5001800US2613,Michigan - District 13,773276,48364,58524,55179,50209,49001,57995,63559,50020,45796,40867,45918,42990,45250,42738,30799,19067,13777,13223 +212,5001800US2701,Minnesota - District 1,713000,40477,44807,44418,51480,47791,42217,45167,43397,45753,39444,38271,41937,46829,47253,33979,26183,16416,17181 +213,5001800US2702,Minnesota - District 2,733289,43216,46947,55226,50796,43345,41835,44513,58286,49843,45855,45774,46193,47093,39021,29756,21334,11815,12441 +214,5001800US2703,Minnesota - District 3,699786,41465,44068,48411,41429,28738,38932,43244,51021,46601,41979,41977,46574,53280,42094,37548,22493,14444,15488 +215,5001800US2704,Minnesota - District 4,699739,41132,44057,46954,46415,42911,48263,53647,50781,46684,37823,40203,40068,43530,38539,30883,21439,13989,12421 +216,5001800US2705,Minnesota - District 5,702050,38608,32620,41474,44694,55567,68741,68121,58663,50011,39694,37061,32427,37048,31799,24848,16732,13000,10942 +217,5001800US2706,Minnesota - District 6,747036,45411,51035,58390,56905,46475,40082,45129,54738,51567,47534,49000,43837,48462,36375,29489,21097,12848,8662 +218,5001800US2707,Minnesota - District 7,715239,41280,45953,46867,45856,39552,41544,41081,41228,45021,37527,39640,42370,52779,47934,39656,27452,19853,19646 +219,5001800US2708,Minnesota - District 8,727776,35406,39109,44169,48427,44459,37650,39509,45103,46077,40971,43109,45092,57817,52422,44865,27535,19007,17049 +220,5001800US2801,Mississippi - District 1,745641,40029,46209,51126,61723,48001,40863,47917,52021,51553,44415,44117,44859,47015,40707,35455,23425,14312,11894 +221,5001800US2802,Mississippi - District 2,701580,39797,44631,45296,54827,44533,41209,36219,40335,49919,45918,40765,40550,49040,46531,33415,23538,13444,11613 +222,5001800US2803,Mississippi - District 3,740675,44164,44468,49919,53015,53661,42741,49335,43609,50790,44584,45687,40109,46840,40280,38030,24599,14832,14012 +223,5001800US2804,Mississippi - District 4,751794,43025,41795,52291,54326,46707,48782,43662,44738,56063,45096,47112,44486,53306,44105,33130,26660,16445,10065 +224,5001800US2901,Missouri - District 1,741792,41956,38803,44157,47751,53297,58847,59623,53991,44905,41190,40017,42591,46521,40879,36296,23812,13955,13201 +225,5001800US2902,Missouri - District 2,764420,39368,48270,49113,46085,36601,40642,47142,48239,52252,46103,50345,51367,55249,52751,38197,26157,19220,17319 +226,5001800US2903,Missouri - District 3,781181,40590,41923,49962,51746,60778,45155,54186,50860,49641,43082,44476,46054,57067,48537,36873,27395,17947,14909 +227,5001800US2904,Missouri - District 4,788949,46579,51409,51586,57376,52903,46569,47301,49636,51613,43638,44892,47962,51079,47739,39034,29718,16244,13671 +228,5001800US2905,Missouri - District 5,760843,44782,48989,45306,47950,48978,63067,59180,52726,49641,42188,44504,39804,50311,37563,35940,21375,15211,13328 +229,5001800US2906,Missouri - District 6,785446,45657,50869,50606,55059,45582,45012,48714,52583,50400,46714,46019,44877,56151,50054,36741,27302,17727,15379 +230,5001800US2907,Missouri - District 7,790923,43697,50986,50198,53653,58859,48436,52076,49032,48347,45792,46912,47593,49568,45866,38850,27762,18074,15222 +231,5001800US2908,Missouri - District 8,782602,45787,48000,50777,55356,49002,43733,47090,47366,49062,46234,48126,47222,56598,45648,40719,26993,19679,15210 +232,5001800US3001,Montana - District 1,576553,25846,31369,34575,34331,44141,37198,38550,40163,38151,32203,32203,31207,40077,37683,34038,22118,13047,9653 +233,5001800US3002,Montana - District 2,556259,29517,36678,35345,34034,31131,32135,36752,35450,36945,31217,30188,33607,37849,37001,32409,20467,13976,11558 +234,5001800US3101,Nebraska - District 1,659725,36619,42368,46064,49792,57218,43851,41970,42114,43521,37305,35429,32627,41009,37033,28574,18191,13253,12787 +235,5001800US3102,Nebraska - District 2,664285,44822,44902,50445,46381,41362,45661,48342,46210,50636,38925,37813,34433,38950,31845,27405,17779,10467,7907 +236,5001800US3103,Nebraska - District 3,654369,39058,43307,44494,42282,42019,36137,38246,40732,38908,35780,35208,35716,46798,42106,34683,27044,16363,15488 +237,5001800US3201,Nevada - District 1,788277,38144,47321,54493,52473,40763,56207,57898,55574,57344,50627,48472,48438,48846,40251,36620,28061,15611,11134 +238,5001800US3202,Nevada - District 2,793631,40275,47057,45334,49762,43496,52382,58046,53957,50960,45691,48483,46127,57453,51940,42966,29746,17819,12137 +239,5001800US3203,Nevada - District 3,796395,41510,44941,43466,40751,46945,52535,63926,61992,58849,50949,56367,47855,49021,42011,35986,29058,18714,11519 +240,5001800US3204,Nevada - District 4,815873,51234,51439,52970,56403,52146,53879,60719,54518,53541,48673,51808,50088,47169,43444,39200,25336,14566,8740 +241,5001800US3301,New Hampshire - District 1,697780,29076,32293,35459,41606,45208,41632,45537,46023,41481,37802,47442,50085,58056,50134,38018,29642,16906,11380 +242,5001800US3302,New Hampshire - District 2,704274,33703,32466,40026,42658,38594,42134,46852,50120,42182,39114,44159,47687,60701,47519,39477,25416,17392,14074 +243,5001800US3401,New Jersey - District 1,777528,43786,46675,46407,46392,50816,49356,54182,56238,49874,47312,49056,51590,50854,45229,35059,26633,15523,12546 +244,5001800US3402,New Jersey - District 2,786799,39127,42586,49501,49445,46136,40785,44290,44686,45913,50527,47928,53124,63204,57739,42728,33157,21220,14703 +245,5001800US3403,New Jersey - District 3,782374,41652,43191,50488,48032,43186,41686,45796,48394,52142,50500,53703,56622,58123,48206,36991,28883,18642,16137 +246,5001800US3404,New Jersey - District 4,795843,58372,55283,54685,48531,42005,45396,43398,45308,43747,38497,48813,47794,55235,51768,42217,35490,18704,20600 +247,5001800US3405,New Jersey - District 5,767729,37274,40506,48996,46772,43614,40697,40291,49703,48142,49487,55140,55901,58850,43985,38324,30497,20042,19508 +248,5001800US3406,New Jersey - District 6,766057,39100,38908,45473,57621,53753,49807,52079,50677,49978,51909,48443,51537,50475,43971,33263,19910,15537,13616 +249,5001800US3407,New Jersey - District 7,778678,35883,43111,50796,45356,40677,38779,43836,51782,52138,51715,57958,61679,56324,48043,35104,28730,19161,17606 +250,5001800US3408,New Jersey - District 8,749983,47066,45298,39926,39159,45198,65149,81515,66111,59752,47614,42934,42038,39981,28449,21905,16595,11722,9571 +251,5001800US3409,New Jersey - District 9,770658,47730,48603,48001,48876,45008,48865,55085,56692,54312,47904,50640,43968,52316,41525,33070,21344,15477,11242 +252,5001800US3410,New Jersey - District 10,768591,46665,43574,52811,49884,52780,59198,58007,53396,46826,48129,48914,46565,44531,40662,30688,21822,12745,11394 +253,5001800US3411,New Jersey - District 11,775849,40497,45020,48857,51536,44203,40432,45261,52910,52900,53281,53261,52773,54556,44276,35156,25197,17873,17860 +254,5001800US3412,New Jersey - District 12,770752,41376,45707,51508,51047,45294,47386,51404,52636,54357,45976,54190,52739,48400,43417,32484,23080,16317,13434 +255,5001800US3501,New Mexico - District 1,705390,30698,34523,42027,42864,40168,47268,51993,51280,43272,40927,39367,39619,51323,45570,43598,28963,16063,15867 +256,5001800US3502,New Mexico - District 2,710078,38330,41728,50235,51175,56249,44610,45514,44151,47747,40752,41158,35548,46654,37190,37191,23650,15901,12295 +257,5001800US3503,New Mexico - District 3,698903,35265,40923,49935,46103,43091,41926,45514,45369,44266,36964,40746,36596,46721,43602,41882,28880,17434,13686 +258,5001800US3601,New York - District 1,775252,37884,36779,43528,48245,49687,44536,43324,41857,43939,44727,56180,62540,61277,50339,40511,30617,20706,18576 +259,5001800US3602,New York - District 2,777290,44221,46998,50010,49396,51056,50857,52183,46375,52336,49617,50738,55932,51285,35418,37022,27420,13945,12481 +260,5001800US3603,New York - District 3,760691,35525,38626,45546,45186,40817,40510,41157,42608,46819,47259,55198,56273,57533,49714,42337,31581,21897,22105 +261,5001800US3604,New York - District 4,767277,41830,44722,53197,48950,46614,46864,46328,45228,53379,47978,48041,56163,49852,42454,39847,26821,13176,15833 +262,5001800US3605,New York - District 5,737913,42131,40837,45816,45000,44561,49327,47292,43308,46522,42123,47006,53481,54555,46355,33379,24562,14367,17291 +263,5001800US3606,New York - District 6,706077,32796,36139,37436,33004,32306,36979,47810,48530,50765,47695,52653,50451,52078,43359,38651,28523,18421,18481 +264,5001800US3607,New York - District 7,720452,42776,29364,33900,34399,47795,85173,92749,64904,50130,43278,39734,37015,32714,29405,23188,13803,10814,9311 +265,5001800US3608,New York - District 8,740016,40630,47511,49915,47265,36961,52327,61212,47894,44953,41982,41770,43187,46871,40975,34169,30070,16301,16023 +266,5001800US3609,New York - District 9,725054,51738,42120,47356,35508,42528,56683,57494,54807,43891,40277,41639,43377,42190,38500,36448,21613,15701,13184 +267,5001800US3610,New York - District 10,719080,31848,37269,40230,39880,44044,76596,67031,60157,53575,44358,45289,38915,31488,30327,29753,22890,13864,11566 +268,5001800US3611,New York - District 11,753280,39194,45381,48399,43628,40829,45390,49336,50998,50240,47497,50303,52590,52683,44241,36251,26570,15098,14652 +269,5001800US3612,New York - District 12,734996,30931,24009,23452,25877,42713,80866,79541,59770,44302,41483,42744,40442,44321,41189,37752,29992,23298,22314 +270,5001800US3613,New York - District 13,726044,35432,31229,36833,40515,52219,59388,65835,55716,53127,43943,44418,39790,52274,35864,27959,20987,16068,14447 +271,5001800US3614,New York - District 14,740563,41146,41134,50342,41056,46054,56884,63144,54321,56279,44665,42348,43636,40456,37818,30631,20650,16880,13119 +272,5001800US3615,New York - District 15,714768,47325,51915,46780,52551,47301,49699,56025,46417,39972,41414,44800,44201,41300,33338,24814,22053,11308,13555 +273,5001800US3616,New York - District 16,765060,38890,40267,52334,52149,45789,44210,46315,49569,53687,53522,50043,49992,51447,42304,33225,23696,19805,17816 +274,5001800US3617,New York - District 17,772624,51624,51370,53470,49938,47795,40401,42667,43411,48830,41087,53621,54028,52056,40384,38412,25884,18464,19182 +275,5001800US3618,New York - District 18,784352,44721,45984,46969,57039,56180,46882,49813,50085,52274,45824,48137,53194,50492,45924,34768,26322,16506,13238 +276,5001800US3619,New York - District 19,769461,35156,36853,36260,61627,65989,41649,42903,46423,42273,40410,43558,48564,59564,53097,42761,34175,19499,18700 +277,5001800US3620,New York - District 20,783546,37224,40646,43831,55260,60949,48675,51436,52222,50850,44018,47097,51791,50443,43525,42069,29660,18380,15470 +278,5001800US3621,New York - District 21,767195,35975,38442,43576,46501,50900,43238,46513,50377,44802,43538,48947,50532,60887,53001,44959,29588,18372,17047 +279,5001800US3622,New York - District 22,762999,40530,44195,45263,55231,49525,46246,48180,48564,46020,39932,44757,51247,52917,46689,40566,28612,17629,16896 +280,5001800US3623,New York - District 23,764335,36481,44974,45697,47945,39601,38437,42913,45784,49598,43419,48161,56291,57947,53870,45156,31722,19127,17212 +281,5001800US3624,New York - District 24,767751,38865,41324,44486,46333,45867,45576,48881,45849,45192,41559,48790,54052,59674,53492,43738,29755,17653,16665 +282,5001800US3625,New York - District 25,766396,39539,41604,44772,53103,49177,48937,54414,52873,45161,40373,45900,46258,55905,47557,38172,29333,16246,17072 +283,5001800US3626,New York - District 26,768744,41296,41162,43899,48306,55053,54265,59197,49954,45610,39230,43983,46634,52991,47791,39608,24980,18718,16067 +284,5001800US3701,North Carolina - District 1,754008,41107,44209,45699,50682,53456,46363,48253,42518,45701,41936,44669,52776,46065,50057,40549,30890,16232,12846 +285,5001800US3702,North Carolina - District 2,784882,45665,48249,48687,54697,51724,61574,59619,60373,57178,55830,54148,46629,42144,33621,25628,17832,11662,9622 +286,5001800US3703,North Carolina - District 3,768524,43973,47282,47449,51175,60127,51977,48265,48344,46926,39100,42208,41812,52010,47228,41681,27844,17354,13769 +287,5001800US3704,North Carolina - District 4,769250,38628,40337,44160,56372,63390,55669,55804,50753,48797,47782,47731,47222,46157,42884,32842,24026,14563,12133 +288,5001800US3705,North Carolina - District 5,750316,36860,42052,39535,51978,53333,44509,44718,42508,45141,41125,49312,48686,56683,46729,41348,31928,17499,16372 +289,5001800US3706,North Carolina - District 6,765747,41181,49339,45706,60926,54583,46529,51330,46817,46952,43045,49253,47747,48803,43618,37395,24699,14267,13557 +290,5001800US3707,North Carolina - District 7,794214,41225,40623,46842,50502,53953,46786,48327,48167,44942,45045,48164,49622,59090,54537,50281,33923,17621,14564 +291,5001800US3708,North Carolina - District 8,776092,40904,47155,53014,56483,47452,42280,48613,42196,56508,47229,55974,51923,52425,46112,34238,26487,15879,11220 +292,5001800US3709,North Carolina - District 9,771994,51095,50595,46518,51843,52283,54055,54279,51329,49624,40457,47848,42954,45740,43036,33256,28198,15826,13058 +293,5001800US3710,North Carolina - District 10,774062,39765,44443,45582,47545,45719,46881,47134,45491,47358,48647,56643,51112,58444,47285,39835,29457,20354,12367 +294,5001800US3711,North Carolina - District 11,763974,33681,37501,35772,43190,42895,39795,49617,46015,46496,44489,47920,49678,55109,57064,53313,39139,24893,17407 +295,5001800US3712,North Carolina - District 12,772165,41787,45714,54791,57312,51008,52101,61075,53872,56281,56777,50797,49327,40337,35613,29612,17022,9321,9418 +296,5001800US3713,North Carolina - District 13,799277,44733,53855,56699,52880,45958,42716,56136,59126,58360,53512,55463,51217,48230,42460,31155,24058,12732,9987 +297,5001800US3714,North Carolina - District 14,790986,54135,49882,48143,43866,48035,69323,70043,65208,51925,47910,50205,44529,43829,34650,25693,19499,12455,11656 +298,5001800US3800,"Congressional District (at Large) , North Dakota",783926,46488,52058,51737,54372,59265,59807,55024,56787,49918,39193,37670,39245,48407,42634,35005,25200,14172,16944 +299,5001800US3901,Ohio - District 1,796831,45849,48336,52737,57279,52644,58738,57785,53749,56438,45541,48088,44099,50089,43707,32305,21276,14305,13866 +300,5001800US3902,Ohio - District 2,787945,43257,47100,51642,49206,43442,47355,49899,44134,53263,47392,52818,51228,55425,50189,42650,25828,17785,15332 +301,5001800US3903,Ohio - District 3,784597,46609,47226,48838,57883,60183,67641,67244,58977,53396,44115,43600,38957,44086,37425,24949,20173,12617,10678 +302,5001800US3904,Ohio - District 4,803311,44662,50574,53484,54104,44204,46056,51890,51478,55377,50129,52530,48724,53036,47381,40236,24686,18672,16088 +303,5001800US3905,Ohio - District 5,790574,41712,45256,51155,56123,52743,45402,49363,46511,47328,45374,49457,50738,52692,49143,43754,28294,19481,16048 +304,5001800US3906,Ohio - District 6,773456,38743,41018,44587,47006,42924,43171,46731,44981,44599,45021,49520,52694,59213,57200,44514,30448,20140,20946 +305,5001800US3907,Ohio - District 7,769701,40699,44664,46961,46307,39297,43653,43977,49044,46519,46612,49258,55947,54593,50760,42412,29712,19720,19566 +306,5001800US3908,Ohio - District 8,786259,47270,52257,52322,54683,53826,43534,48354,51164,43901,43506,48575,49779,52592,46857,39918,26079,16700,14942 +307,5001800US3909,Ohio - District 9,776106,43084,47332,47362,49784,44484,48601,50978,47926,45976,44119,47752,45471,56482,52626,40324,30205,18103,15497 +308,5001800US3910,Ohio - District 10,784462,43807,48857,49875,51832,51993,51203,53599,53103,43516,40829,46106,45762,54080,46055,41423,29460,16490,16472 +309,5001800US3911,Ohio - District 11,772345,42150,44948,42530,47435,51809,58652,64834,48034,48452,37966,44055,41606,53470,53669,34451,24788,15929,17567 +310,5001800US3912,Ohio - District 12,804132,43315,49844,56605,59361,55987,44202,47564,51336,47622,46926,52733,50888,51804,48691,38129,28632,15977,14516 +311,5001800US3913,Ohio - District 13,781848,41767,45213,46763,47706,47098,49950,52327,48757,46676,43489,47865,53734,51231,52235,41421,28603,19595,17418 +312,5001800US3914,Ohio - District 14,784185,38958,44841,42450,49091,53068,47694,46134,42164,46152,44090,49822,48916,62535,57678,42473,29359,19660,19100 +313,5001800US3915,Ohio - District 15,790183,52801,51259,52186,47722,41114,58540,65715,55446,55835,48261,49468,43246,47921,44703,31045,20209,14099,10613 +314,5001800US4001,Oklahoma - District 1,812132,50792,53740,58948,57007,52485,54139,58224,58840,52720,47547,47435,44659,46911,41587,35208,24142,15542,12206 +315,5001800US4002,Oklahoma - District 2,811280,46969,50653,57364,56251,48707,46762,50307,51317,48848,46826,48474,46231,55987,49091,42354,29929,20627,14583 +316,5001800US4003,Oklahoma - District 3,803437,49854,62131,55254,66108,63588,50898,58297,49963,50165,43340,41812,38141,48626,41238,33360,22085,15516,13061 +317,5001800US4004,Oklahoma - District 4,808026,43351,50522,54167,59802,67661,51832,56089,55565,53116,44219,45447,44447,48723,43503,35732,26119,15556,12175 +318,5001800US4005,Oklahoma - District 5,818949,48645,57035,52939,54135,51295,56767,56812,59936,58798,49267,46476,45029,48444,43897,35043,25877,15590,12964 +319,5001800US4101,Oregon - District 1,710371,30347,34654,40590,40022,44301,58429,63536,55057,56700,46430,45330,40167,37681,36294,33214,23081,12663,11875 +320,5001800US4102,Oregon - District 2,704844,35462,37416,48833,41250,34346,41454,48653,41684,47708,36977,37241,36237,53041,47473,48237,32626,20027,16179 +321,5001800US4103,Oregon - District 3,681430,33533,33979,38190,38935,34258,49285,58431,53191,63143,49671,47467,40220,38326,33673,31790,18170,10689,8479 +322,5001800US4104,Oregon - District 4,710184,27573,34918,35776,45838,58940,42486,41812,45712,42288,37970,39141,38876,50682,50879,48153,32436,21314,15390 +323,5001800US4105,Oregon - District 5,709945,34313,39937,41955,42213,35262,41779,48128,46285,50253,45769,44729,44816,46679,47241,40372,28427,16157,15630 +324,5001800US4106,Oregon - District 6,716584,36922,41738,47173,47759,46250,45047,52852,52010,46717,44847,47396,38904,41564,40380,34793,26035,12700,13497 +325,5001800US4201,Pennsylvania - District 1,763720,36228,39749,46252,45973,41645,39750,42272,46440,53269,44993,50689,57306,57634,51655,40919,30283,20642,18021 +326,5001800US4202,Pennsylvania - District 2,713964,46154,44941,49903,45818,41108,51970,60047,51601,41288,40537,43007,43172,42554,38045,28121,21899,12086,11713 +327,5001800US4203,Pennsylvania - District 3,768800,40672,35568,40894,52901,59973,76489,82949,62515,50833,35559,37820,34451,44844,37315,31633,21326,13341,9717 +328,5001800US4204,Pennsylvania - District 4,781948,40124,45278,48258,51958,44358,44468,46528,53443,48731,45807,49809,50021,56156,48995,39659,29478,18385,20492 +329,5001800US4205,Pennsylvania - District 5,757986,41152,41880,52182,52758,48957,44150,52517,52849,54018,43627,44469,45988,50989,42862,35702,24849,14101,14936 +330,5001800US4206,Pennsylvania - District 6,777885,44227,45236,51595,57347,46681,44978,47549,55916,46489,47027,50210,54459,48299,43049,36907,24256,16639,17021 +331,5001800US4207,Pennsylvania - District 7,778593,38911,45494,46122,52220,50242,44246,48808,49708,51207,46487,49021,50738,52193,47317,41052,28196,19339,17292 +332,5001800US4208,Pennsylvania - District 8,764570,35552,42280,42535,47375,46830,42506,48606,47760,43664,43067,49131,53517,58797,49990,44659,30983,19910,17408 +333,5001800US4209,Pennsylvania - District 9,765968,37906,41253,44696,46345,45136,43355,47477,48819,44905,43622,47176,53054,56251,51981,42867,31215,19909,20001 +334,5001800US4210,Pennsylvania - District 10,781862,43408,44795,51757,51517,46391,48295,50720,51632,55184,44877,45601,48578,53941,47954,37926,26915,15381,16990 +335,5001800US4211,Pennsylvania - District 11,773134,45133,47049,49972,49224,46210,44894,50142,52462,44676,41379,45802,47368,51264,49644,37873,31505,18847,19690 +336,5001800US4212,Pennsylvania - District 12,752466,34956,34570,38244,48747,57380,52403,55127,58004,45337,37529,42878,42874,48645,50897,39216,28389,17953,19317 +337,5001800US4213,Pennsylvania - District 13,765875,38196,42189,44094,49757,45407,41606,46199,42901,44149,42971,50463,50771,56066,53808,45439,32069,20942,18848 +338,5001800US4214,Pennsylvania - District 14,753602,33850,39063,39854,45120,43264,42558,43902,47040,39339,41420,49722,51897,58126,53441,50301,31118,21946,21641 +339,5001800US4215,Pennsylvania - District 15,750180,32347,35344,41343,56065,59952,39814,44185,42074,42505,41801,47642,49088,54545,51010,44202,31039,19073,18151 +340,5001800US4216,Pennsylvania - District 16,761148,37171,39709,44232,53391,45782,40736,45047,45398,46523,41798,48795,49328,56998,52330,45186,29248,20866,18610 +341,5001800US4217,Pennsylvania - District 17,749982,37352,41960,42768,40828,29619,43674,53438,52291,47189,44378,44978,53271,54213,53157,45472,29195,17725,18474 +342,5001800US4401,Rhode Island - District 1,536470,25118,25799,29322,39367,31890,36957,38918,33707,36524,29697,32564,35577,34400,38292,23512,19146,13078,12602 +343,5001800US4402,Rhode Island - District 2,559492,27600,32667,26550,31868,39288,36490,41421,37571,35128,30601,33676,37795,43091,35139,26818,20901,12102,10786 +344,5001800US4501,South Carolina - District 1,776842,40887,46014,46554,45874,45177,45176,49179,52697,54184,43054,45508,44092,58214,48794,46365,34776,17808,12489 +345,5001800US4502,South Carolina - District 2,755004,39663,46562,51898,49355,50105,43364,52914,45000,53295,44698,46684,48522,51413,45333,34434,24441,14895,12428 +346,5001800US4503,South Carolina - District 3,768137,40653,47186,47072,54957,50708,45705,48288,48277,45443,39704,49878,50171,52549,45780,40801,29268,18022,13675 +347,5001800US4504,South Carolina - District 4,767156,43724,48909,44944,48774,48007,52270,56483,52642,49099,44325,49011,45179,48984,41785,37014,29571,15296,11139 +348,5001800US4505,South Carolina - District 5,771387,42705,46065,55248,53418,41308,44584,48083,49955,53062,49921,49169,47837,51893,43409,38495,28748,17171,10316 +349,5001800US4506,South Carolina - District 6,755258,43341,38010,39148,58661,62958,56352,52872,49240,45944,40716,41429,43024,49619,43123,36907,26636,15406,11872 +350,5001800US4507,South Carolina - District 7,779771,34857,42079,43144,50149,40047,40648,41539,45551,44514,44987,48408,54293,57658,62810,56446,38925,19700,14016 +351,5001800US4600,"Congressional District (at Large) , South Dakota",919318,54886,61176,64030,65802,57907,56897,58090,61874,56381,50955,47699,55157,58878,55645,47913,28630,18179,19219 +352,5001800US4701,Tennessee - District 1,788014,39023,40246,41078,46095,48017,48928,46891,42340,49359,45103,57273,53495,60400,51382,47131,33020,21278,16955 +353,5001800US4702,Tennessee - District 2,806407,41992,49597,43164,52411,59568,51814,52855,49220,53250,46281,50469,51494,52886,49748,40620,29755,17069,14214 +354,5001800US4703,Tennessee - District 3,798804,44681,45136,45900,46246,48478,52630,55194,50112,50490,46910,51988,52687,52724,48212,42502,29965,20374,14575 +355,5001800US4704,Tennessee - District 4,808625,47576,51819,50347,56952,60648,50609,52483,54023,55527,50550,49226,48598,50879,41340,36983,26087,13977,11001 +356,5001800US4705,Tennessee - District 5,793338,46610,51443,54458,49411,39184,51951,59673,60294,59604,52639,51779,42700,49172,42837,33750,25414,13021,9398 +357,5001800US4706,Tennessee - District 6,796534,47439,47271,49584,46089,45142,54748,59966,57075,52057,44392,49861,51441,51735,45127,38673,27079,16889,11966 +358,5001800US4707,Tennessee - District 7,813590,48765,43906,51201,56357,66449,69084,63818,53767,52327,48652,45737,48187,47905,42281,30317,21371,12339,11127 +359,5001800US4708,Tennessee - District 8,773599,41263,44014,56012,51919,39810,42579,46446,49215,52485,47746,47452,47776,54985,50108,40098,28779,18607,14305 +360,5001800US4709,Tennessee - District 9,747578,53683,54662,50474,47409,52993,59152,59657,51968,42262,39474,44309,37996,46617,36769,31467,19996,9202,9488 +361,5001800US4801,Texas - District 1,785535,45951,52158,55995,54798,46134,47660,49552,50285,49529,44993,44984,46436,52140,47583,37935,28848,18449,12105 +362,5001800US4802,Texas - District 2,839055,54965,63607,74802,63295,47805,45535,55532,62148,61304,56959,57443,45823,45189,35837,29920,20663,11288,6940 +363,5001800US4803,Texas - District 3,872647,53608,63558,66096,67739,46769,49663,52939,62190,72479,68326,63152,52778,45819,36105,28391,20253,13338,9444 +364,5001800US4804,Texas - District 4,845835,46818,54823,60319,58811,45767,48392,61674,59540,68437,57860,58592,48348,52727,38369,33632,25133,14794,11799 +365,5001800US4805,Texas - District 5,827361,53247,55047,66749,63250,50112,48348,57709,58775,54202,48911,49972,48550,54585,41961,32285,19722,12952,10984 +366,5001800US4806,Texas - District 6,814151,52647,61164,60826,63253,52532,60351,54603,59897,51520,50763,49145,44142,45964,38696,28726,19927,13062,6933 +367,5001800US4807,Texas - District 7,809564,49286,46285,49575,49524,65796,76440,76102,74942,56539,49500,46178,36692,37786,32218,25531,17689,11101,8380 +368,5001800US4808,Texas - District 8,868181,54933,62783,62757,59011,56204,56415,60647,67838,67281,51306,55657,53346,49851,40046,30032,19885,11843,8346 +369,5001800US4809,Texas - District 9,764812,48198,49822,54956,51504,56431,55358,59561,52647,49832,51836,48343,41961,41552,33973,30364,18881,10354,9239 +370,5001800US4810,Texas - District 10,817807,45032,54111,50886,68574,70940,49850,48183,54751,53453,53816,54043,43777,45055,43627,34991,23066,12579,11073 +371,5001800US4811,Texas - District 11,790592,56465,58250,59557,51283,56116,57106,60137,57347,57450,40326,42756,41954,40388,35348,31502,20694,12557,11356 +372,5001800US4812,Texas - District 12,849835,56413,55900,54018,63922,57200,60428,69841,63488,59630,48846,48950,44691,51356,36902,31313,22401,12691,11845 +373,5001800US4813,Texas - District 13,790888,47248,48385,52112,58541,66704,57603,58135,52681,47909,42021,47889,44846,46685,39585,32440,22488,13974,11642 +374,5001800US4814,Texas - District 14,778849,46313,53108,52879,51923,47076,48792,57009,50119,56633,47648,48815,44376,51153,44581,32238,21324,13258,11604 +375,5001800US4815,Texas - District 15,799844,57895,63614,64905,64425,61216,55148,51690,51120,49895,46767,48258,37447,38744,34273,27572,20714,14670,11491 +376,5001800US4816,Texas - District 16,766538,47553,50151,59512,57163,57392,59876,57685,53612,48198,44141,44803,33599,46218,34588,27968,21091,11690,11298 +377,5001800US4817,Texas - District 17,800590,48055,49232,55064,59337,67418,51497,57043,52606,57492,47567,47403,41522,46557,38292,33057,22979,12884,12585 +378,5001800US4818,Texas - District 18,788066,64327,55726,53936,56507,55597,63041,78162,59649,55697,45719,42436,39611,35072,27062,23600,13500,11256,7168 +379,5001800US4819,Texas - District 19,771186,48673,50603,54542,63312,72368,50334,50276,52302,53113,41767,39356,37152,43443,38456,29413,19460,13214,13402 +380,5001800US4820,Texas - District 20,768443,49184,44033,57349,55295,66778,61545,60149,57200,56660,41601,49734,34919,37483,28581,30942,16578,10642,9770 +381,5001800US4821,Texas - District 21,839290,43792,45371,52659,50219,51204,52841,54776,58192,58581,52025,51354,50347,56372,50993,43615,34944,17348,14657 +382,5001800US4822,Texas - District 22,852846,50072,68691,73065,62253,40874,39355,49978,67907,70812,60774,54834,48195,45737,44467,32979,22350,11572,8931 +383,5001800US4823,Texas - District 23,786734,48269,60438,62901,62200,48480,52576,59411,53352,54364,54380,44595,38518,44570,30109,29458,21643,11227,10243 +384,5001800US4824,Texas - District 24,784279,47461,53447,60756,55146,41043,46065,49053,53798,53403,49885,52265,48028,52014,41578,30503,21031,14019,14784 +385,5001800US4825,Texas - District 25,813686,48952,51903,58358,60817,56967,48745,51158,56315,53857,47169,49196,48317,49770,44019,36079,23123,15056,13885 +386,5001800US4826,Texas - District 26,854717,51057,55335,60418,55243,43028,51369,61837,65880,73377,62632,60470,56730,47212,36251,33026,23170,9829,7853 +387,5001800US4827,Texas - District 27,779431,47160,50032,54585,52469,48872,51399,52002,51363,55007,43607,44984,44123,48814,43414,34601,26572,15935,14492 +388,5001800US4828,Texas - District 28,799580,55595,61512,69824,61057,57134,56589,53756,54383,51913,51526,44876,40902,41349,35130,24426,17923,11008,10677 +389,5001800US4829,Texas - District 29,740677,49909,54446,58959,67220,60647,47783,50080,46924,53313,46620,42801,42568,41771,30713,20667,14841,6168,5247 +390,5001800US4830,Texas - District 30,772920,50049,44694,55522,55051,58350,63904,63637,55334,47625,45268,51151,43921,43342,36056,25614,18671,8513,6218 +391,5001800US4831,Texas - District 31,868119,52568,60234,62551,59730,50421,56373,63525,66639,64988,58280,53388,42774,46301,39277,35832,27749,15290,12199 +392,5001800US4832,Texas - District 32,762001,48027,48180,45467,43666,61959,89330,74099,57720,47139,44338,44062,37512,35775,28242,22123,16129,9696,8537 +393,5001800US4833,Texas - District 33,734551,49633,53113,51598,53758,54553,64763,57792,57583,52361,50040,43408,36448,35599,27399,18681,14656,6903,6263 +394,5001800US4834,Texas - District 34,778323,53644,61047,69907,67382,61887,53059,50361,46493,48308,47041,42621,39346,34845,29719,28181,21339,12834,10309 +395,5001800US4835,Texas - District 35,834055,58558,52926,55534,50961,69230,75840,89123,76892,59822,43452,40306,42622,35247,30722,24800,12149,7404,8467 +396,5001800US4836,Texas - District 36,789655,49286,58828,54135,56809,48396,56734,48056,52027,59458,48953,47766,48150,45417,40076,32582,20621,12639,9722 +397,5001800US4837,Texas - District 37,765870,33663,35945,33002,48347,51853,79174,82279,75108,61093,50660,47054,37447,38077,28644,28237,16948,10949,7390 +398,5001800US4838,Texas - District 38,796788,49085,57706,59683,54593,38655,51913,51706,54995,54567,59909,56834,43106,44613,39912,31986,23608,13554,10363 +399,5001800US4901,Utah - District 1,855830,56138,61947,67126,69639,78113,67321,59538,58768,59548,52344,43892,39313,39461,35840,28488,17141,11231,9982 +400,5001800US4902,Utah - District 2,857385,52424,57246,67407,66965,64164,63674,61788,57148,64914,50584,44948,41987,40160,39361,32436,24938,13968,13273 +401,5001800US4903,Utah - District 3,818995,52271,57683,58150,70163,92652,64977,54154,50003,48032,48654,40696,36106,40114,31912,30774,18903,12317,11434 +402,5001800US4904,Utah - District 4,885524,69048,79255,80462,75318,56544,66202,68936,67856,61925,56924,45834,36779,36690,32642,23159,12887,8148,6915 +403,5001800US5000,"Congressional District (at Large) , Vermont",647464,27168,29952,35665,42725,40699,36520,39653,41552,40328,36068,40669,41956,51088,46136,39674,26432,18387,12792 +404,5001800US5101,Virginia - District 1,814127,43711,48632,53959,52318,40828,43437,48307,57551,54765,46384,52823,53568,53934,49838,43854,30835,21870,17513 +405,5001800US5102,Virginia - District 2,789864,42646,49203,50535,48437,44480,51685,54366,57358,57166,45491,49436,49276,55017,45176,34958,28285,13811,12538 +406,5001800US5103,Virginia - District 3,773212,49778,50229,44424,48654,68608,63239,65871,59458,47644,36617,36817,39796,46543,41358,30278,19555,13604,10739 +407,5001800US5104,Virginia - District 4,796240,39988,43037,44476,53792,55386,61997,67675,56595,50659,45114,45646,46863,52010,43617,37419,26313,13117,12536 +408,5001800US5105,Virginia - District 5,798327,39956,39532,44858,58054,55035,48863,48899,46379,50161,43762,46104,50564,56228,53217,47574,32856,19670,16615 +409,5001800US5106,Virginia - District 6,794509,41148,42650,47185,60140,51456,43899,52499,48881,51153,43790,44461,53901,50761,50669,42406,29490,22025,17995 +410,5001800US5107,Virginia - District 7,814164,51093,52968,61452,57399,51818,50105,51950,59252,58101,51554,55113,49032,54264,37641,27813,22996,11881,9732 +411,5001800US5108,Virginia - District 8,769124,43528,44335,44481,36307,46117,67448,61409,62936,64333,51314,49153,45477,41005,34818,28523,23416,14233,10291 +412,5001800US5109,Virginia - District 9,776692,33283,39571,39764,52430,56088,41881,44098,42799,44384,44575,51966,50788,58857,55287,45814,35935,20458,18714 +413,5001800US5110,Virginia - District 10,805856,47244,58392,60902,58974,45629,41374,47002,60369,65728,59927,58355,52724,45579,32295,28275,19749,14121,9217 +414,5001800US5111,Virginia - District 11,783583,44369,44016,54230,53514,47320,50829,55339,54575,57779,52795,54543,48873,47410,40138,30000,23986,13200,10667 +415,5001800US5301,Washington - District 1,786950,44804,48741,51249,41812,39646,59747,73203,71255,64732,49027,49020,44301,47934,32507,26197,19889,11006,11880 +416,5001800US5302,Washington - District 2,781299,39237,42731,40116,42208,52154,51367,58792,58277,48183,41362,44856,43777,53575,57100,41576,32420,18780,14788 +417,5001800US5303,Washington - District 3,792906,42445,49313,51602,50580,41679,49114,54543,52874,56833,49637,48277,41900,57146,45892,42570,28256,17163,13082 +418,5001800US5304,Washington - District 4,786057,50743,57976,64508,59745,50321,48216,55449,50985,51198,43674,41718,42658,42533,42871,33615,24111,13954,11782 +419,5001800US5305,Washington - District 5,788598,40719,46661,46614,55107,57486,53442,56549,52223,49960,43719,44810,41686,51983,49681,40083,26740,16174,14961 +420,5001800US5306,Washington - District 6,785859,34530,39754,46337,38897,44149,51014,55676,57598,48642,42955,42404,50696,56119,52259,51982,37062,19272,16513 +421,5001800US5307,Washington - District 7,773546,31919,33421,29396,38545,55442,85650,88079,77864,57688,46657,44459,36750,37043,34216,31859,20324,12496,11738 +422,5001800US5308,Washington - District 8,778099,41063,51688,58745,51279,35771,40008,51346,59649,58892,55615,53953,49104,47349,44382,33532,20752,14036,10935 +423,5001800US5309,Washington - District 9,765854,44912,43180,41318,43056,48267,58964,67603,60163,50679,49934,52443,43365,47688,38610,28470,20207,13165,13830 +424,5001800US5310,Washington - District 10,773712,46950,46602,50408,47649,50208,56411,63163,53883,60090,44228,44401,41338,41969,41389,33278,26254,13031,12460 +425,5001800US5401,West Virginia - District 1,866374,42807,44148,53834,56414,48943,45052,47729,47137,54651,55892,56027,57084,58262,62470,54786,38176,23855,19107 +426,5001800US5402,West Virginia - District 2,903697,44646,48665,52597,55731,63067,53759,59713,55170,56658,52316,58138,58500,62939,53336,54825,33048,24636,15953 +427,5001800US5501,Wisconsin - District 1,730388,39070,45184,42406,46803,46823,45285,48247,45905,44507,44044,45860,49350,51003,46371,36417,25266,14521,13326 +428,5001800US5502,Wisconsin - District 2,747345,36917,41493,41725,51871,66605,55506,52491,55055,47707,41363,42937,44049,45022,40101,34967,20952,15115,13469 +429,5001800US5503,Wisconsin - District 3,739552,38337,41178,43625,55801,60269,43343,43146,43586,45541,40077,42147,42333,53846,47465,39146,27875,16679,15158 +430,5001800US5504,Wisconsin - District 4,719795,46354,50914,47108,52090,53457,58623,58676,53606,45447,37247,38522,38787,39302,35602,26621,15530,11540,10369 +431,5001800US5505,Wisconsin - District 5,746152,36055,43716,43266,46486,40141,39543,43072,49548,47987,44538,47116,51686,58636,53078,38697,27651,18328,16608 +432,5001800US5506,Wisconsin - District 6,738802,36327,39303,44607,45641,47652,41529,43759,45075,46339,42110,46091,51480,54984,50963,40733,26621,18389,17199 +433,5001800US5507,Wisconsin - District 7,747209,36029,39500,46895,43716,36731,38483,40376,40779,47731,41146,46652,53611,63395,55664,48926,30134,20091,17350 +434,5001800US5508,Wisconsin - District 8,741712,38785,45780,45204,47025,43850,42417,47228,46032,46559,43233,45438,50691,52997,48960,40974,26928,15753,13858 +435,5001800US5600,"Congressional District (at Large) , Wyoming",584057,30651,36438,38128,40417,34570,36374,40084,41636,40462,30725,30327,31373,40775,37809,32453,17778,12420,11637 diff --git a/policyengine_us_data/datasets/cps/local_areas/process-age.py b/policyengine_us_data/datasets/cps/local_areas/process-age.py new file mode 100644 index 00000000..b37d4771 --- /dev/null +++ b/policyengine_us_data/datasets/cps/local_areas/process-age.py @@ -0,0 +1,104 @@ +import requests +import pandas as pd +import io + +# USER INPUT ----------- +GEO = "District" +GEO = "State" +GEO = "National" +YEAR = 2022 +# END USER INPUT ------- + +base_url = f"https://api.census.gov/data/{YEAR}/acs/acs1/subject?get=group(S0101)" +docs_url = f"https://api.census.gov/data/{YEAR}/acs/acs1/subject/variables.json" + +if GEO == "State": + url = f"{base_url}&for=state:*" +elif GEO == "District": + url = f"{base_url}&for=congressional+district:*" +elif GEO == "National": + url = f"{base_url}&for=us:*" +else: + raise ValueError("GEO must be either 'National', 'State', or 'District'") + + +try: + response = requests.get(url) + response.raise_for_status() + + data = response.json() + + docs_response = requests.get(docs_url) + docs_response.raise_for_status() + + docs = docs_response.json() + + headers = data[0] + data_rows = data[1:] + df = pd.DataFrame(data_rows, columns=headers) + +except requests.exceptions.RequestException as e: + print(f"Error during API request: {e}") +except Exception as e: + print(f"An error occurred: {e}") + +# Keys: descriptions of the variables we want. Values: short names +label_to_short_name_mapping = { + 'Estimate!!Total!!Total population!!AGE!!Under 5 years': '0-4', + 'Estimate!!Total!!Total population!!AGE!!5 to 9 years': '5-9', + 'Estimate!!Total!!Total population!!AGE!!10 to 14 years': '10-14', + 'Estimate!!Total!!Total population!!AGE!!15 to 19 years': '15-19', + 'Estimate!!Total!!Total population!!AGE!!20 to 24 years': '20-24', + 'Estimate!!Total!!Total population!!AGE!!25 to 29 years': '25-29', + 'Estimate!!Total!!Total population!!AGE!!30 to 34 years': '30-34', + 'Estimate!!Total!!Total population!!AGE!!35 to 39 years': '35-39', + 'Estimate!!Total!!Total population!!AGE!!40 to 44 years': '40-44', + 'Estimate!!Total!!Total population!!AGE!!45 to 49 years': '45-49', + 'Estimate!!Total!!Total population!!AGE!!50 to 54 years': '50-54', + 'Estimate!!Total!!Total population!!AGE!!55 to 59 years': '55-59', + 'Estimate!!Total!!Total population!!AGE!!60 to 64 years': '60-64', + 'Estimate!!Total!!Total population!!AGE!!65 to 69 years': '65-69', + 'Estimate!!Total!!Total population!!AGE!!70 to 74 years': '70-74', + 'Estimate!!Total!!Total population!!AGE!!75 to 79 years': '75-79', + 'Estimate!!Total!!Total population!!AGE!!80 to 84 years': '80-84', + 'Estimate!!Total!!Total population!!AGE!!85 years and over': '85+', +} + +# map the documentation labels to the actual data set variables +label_to_variable_mapping = dict([ + (value['label'], key) for key, value in docs['variables'].items() + if value['group'] == "S0101" and value['concept'] == "Age and Sex" + and value['label'] in label_to_short_name_mapping.keys() +]) + +# By transitivity, map the data set variable names to short names +rename_mapping = dict( + [ + (label_to_variable_mapping[v], label_to_short_name_mapping[v]) + for v in label_to_short_name_mapping.keys() + ] +) + +df_data = df.rename(columns=rename_mapping)[ + ['GEO_ID', 'NAME'] + list(label_to_short_name_mapping.values()) +] + +# Filter out non-voting districts, e.g., DC and Puerto Rico +df_geos = df_data[ + ~df_data['GEO_ID'].isin( + ['5001800US7298', '5001800US1198', '0400000US72', '0400000US11'] + ) +].copy() + +omitted_rows = df_data[~df_data['GEO_ID'].isin(df_geos['GEO_ID'])] +print(f"Ommitted {GEO} geographies:\n\n{omitted_rows[['GEO_ID', 'NAME']]}") + +if GEO == 'District': + assert(df_geos.shape[0] == 435) + df_geos.to_csv("./districts/targets/age-district.csv", index=False) +elif GEO == 'State': + assert(df_geos.shape[0] == 50) + df_geos.to_csv("./states/targets/age-state.csv", index=False) +elif GEO == 'National': + assert(df_geos.shape[0] == 1) + df_geos.to_csv("./age-national.csv", index=False) diff --git a/policyengine_us_data/datasets/cps/local_areas/states/targets/age-state.csv b/policyengine_us_data/datasets/cps/local_areas/states/targets/age-state.csv new file mode 100644 index 00000000..8309ac9f --- /dev/null +++ b/policyengine_us_data/datasets/cps/local_areas/states/targets/age-state.csv @@ -0,0 +1,51 @@ +GEO_ID,NAME,0-4,5-9,10-14,15-19,20-24,25-29,30-34,35-39,40-44,45-49,50-54,55-59,60-64,65-69,70-74,75-79,80-84,85+ +0400000US01,Alabama,284064,311592,318523,340067,345126,315165,336987,309127,323289,296897,320783,318087,341576,304634,241555,177876,103915,85033 +0400000US02,Alaska,46497,49637,51178,44794,52259,54076,59824,55229,49682,39382,42431,43503,43617,41853,27043,16763,10107,5708 +0400000US04,Arizona,393413,438358,463552,487734,522484,507249,511442,468526,457944,418409,436857,414587,456688,415150,365928,296733,174892,129251 +0400000US05,Arkansas,177765,196453,200389,203500,209906,187276,198601,188926,198714,176687,186716,181881,199981,173741,141418,105085,64423,54175 +0400000US06,California,2118386,2285436,2550172,2568788,2639787,2755159,2989300,2763206,2632182,2401748,2476065,2356663,2333548,1980804,1587735,1158255,720433,711675 +0400000US08,Colorado,305063,324472,360878,369814,395695,445190,470752,441353,419002,352210,352484,327914,359438,310229,252123,168070,100553,84686 +0400000US09,Connecticut,178453,195805,217577,245675,243507,220931,229579,238535,221778,213524,241877,256256,258996,208956,172872,124139,75774,81971 +0400000US10,Delaware,54058,57518,59905,62893,59981,61590,68973,61247,64060,52379,60491,65121,78000,69310,57686,41828,24484,18872 +0400000US12,Florida,1101350,1162982,1260197,1275398,1340486,1330720,1453041,1415689,1383810,1309763,1424400,1472092,1520481,1379690,1224324,1011259,627349,551792 +0400000US13,Georgia,621126,683215,741043,762949,771563,730956,753041,731011,738039,676763,722486,681208,655201,541143,457415,317660,184649,143408 +0400000US15,Hawaii,78927,82233,88272,77574,89347,90908,99183,98058,94073,83341,86803,85230,91593,89136,73905,58566,35945,37102 +0400000US16,Idaho,111816,127781,139762,138308,141188,122506,127837,120792,135311,108891,110767,108296,116248,109205,90999,62124,36762,30440 +0400000US17,Illinois,674211,735342,808148,820510,850982,832841,856977,852952,820316,759349,797662,798387,809415,691806,571063,399898,256445,245728 +0400000US18,Indiana,399031,439398,445513,474821,489814,433271,453680,441847,424298,394701,420494,414046,444697,368831,319642,220955,130042,117956 +0400000US19,Iowa,180010,200720,207426,221129,231721,197964,203702,204624,200449,177961,183143,188738,214051,183086,158035,109473,70309,67976 +0400000US20,Kansas,176673,186340,203412,207208,218626,190297,187022,201087,181542,160985,162551,171124,183941,163977,132524,89191,61816,58834 +0400000US21,Kentucky,260433,281095,284053,293874,301356,290830,296329,279692,289631,270219,287374,279552,306759,265046,212760,149226,86734,77347 +0400000US22,Louisiana,270937,287552,313246,306657,315728,278806,313260,321167,290133,255190,277963,262705,316836,260400,211605,146731,90195,71130 +0400000US23,Maine,61018,69458,70100,74870,79753,79454,86422,88585,81414,78672,90592,101581,110528,102318,83350,58060,36126,33039 +0400000US24,Maryland,349193,373075,387050,389324,379802,383048,421904,424519,415693,366674,406252,408464,416883,341123,267044,195905,121988,116719 +0400000US25,Massachusetts,342252,359840,386696,454230,491572,478573,490048,463915,443376,403850,454179,474572,478771,406713,325068,234799,146948,146572 +0400000US26,Michigan,536805,571751,615180,643459,687971,648661,666712,611173,608035,562636,639007,649226,715940,619018,504542,336257,216443,201302 +0400000US27,Minnesota,328095,363889,368761,373716,364158,363041,379980,398401,383013,315964,340381,348705,394033,318612,263792,183358,112387,116898 +0400000US28,Mississippi,169303,176516,205864,215884,209168,168422,183094,185470,194426,174342,178876,166777,198731,169742,139942,93192,60716,49592 +0400000US29,Missouri,349648,375656,394409,410378,411856,398880,410083,407302,387247,345572,368514,375467,429809,357209,294215,209878,132561,119273 +0400000US30,Montana,57024,62553,72960,69694,75198,72496,73482,75742,70661,61648,61666,64992,78615,73939,64237,42296,25145,20519 +0400000US31,Nebraska,121107,130922,137862,142514,135424,126816,124167,137156,126752,107572,108231,106172,128331,103385,93292,60844,39754,37622 +0400000US32,Nevada,172575,192523,200260,193726,194836,218034,238388,222782,218012,193057,204196,198602,192290,174850,149909,109694,61280,42758 +0400000US33,New Hampshire,62666,68161,70890,85585,83149,86877,95126,89224,82825,77082,94563,103977,113123,92344,77838,51216,30906,29679 +0400000US34,New Jersey,513333,533608,585993,576961,569581,575079,608742,618639,615081,574266,621190,625009,632491,511912,412685,310908,190282,185939 +0400000US35,New Mexico,104994,123352,141184,144717,145968,132885,141429,137483,137911,115219,123054,124063,136301,129632,112349,78558,46822,37423 +0400000US36,New York,1055455,1070033,1161685,1198745,1298992,1349368,1412882,1302139,1234655,1144828,1260979,1305675,1317119,1110632,921647,660817,436311,435189 +0400000US37,North Carolina,584492,621266,678318,704046,738731,694675,725754,706955,669729,649203,696691,664013,698486,603440,512328,367035,209727,174084 +0400000US38,North Dakota,47844,52217,51533,55008,57873,57527,55198,54290,52196,37484,38252,42226,47320,44045,31761,23173,14123,17191 +0400000US39,Ohio,661196,691486,747870,757937,766640,753302,785769,727581,747847,663708,738731,740167,805159,701941,585145,392711,254530,234338 +0400000US40,Oklahoma,240173,262609,282676,283637,289564,262123,272834,272589,259933,227755,229095,223204,251612,213395,176775,131738,76591,63497 +0400000US41,Oregon,199584,229279,250140,257747,259457,283965,312382,298182,295667,262780,261804,242699,269737,256689,231256,157637,88028,83104 +0400000US42,Pennsylvania,668734,719322,761677,841351,829180,803919,873402,830928,792644,723451,818012,847170,923164,813798,654025,476780,294304,300147 +0400000US44,Rhode Island,51955,53959,59764,73740,76125,72475,78504,72105,65817,60238,68957,73528,80450,67053,53342,38563,23666,23493 +0400000US45,South Carolina,281426,309601,327157,347645,351883,318472,345190,327781,340139,300228,330117,326972,367405,324744,283274,193003,115311,92286 +0400000US46,South Dakota,57246,59977,63989,62422,60455,55932,55220,55698,60333,49990,47030,51885,63738,56436,45126,27643,17433,19271 +0400000US47,Tennessee,402215,422122,439813,446948,472131,471280,492908,458980,450035,417500,450229,449565,459649,399555,329988,233975,137964,116482 +0400000US48,Texas,1881718,2070802,2173132,2160735,2145802,2124620,2204737,2142529,2096393,1860639,1827226,1641396,1662758,1375570,1085585,747528,444397,384005 +0400000US49,Utah,228464,253833,278120,277956,299515,253050,241726,226927,234290,200039,173156,149430,160595,136078,109538,74988,45152,37943 +0400000US50,Vermont,27875,30605,34125,43011,43805,37755,39760,41236,38943,35136,40657,41144,53185,46381,37179,25232,17682,13353 +0400000US51,Virginia,481682,507493,544175,569202,602285,556228,600394,593151,587669,518644,549626,557202,553826,468083,390636,283555,169820,149948 +0400000US53,Washington,421722,464035,473406,457060,499354,561477,614820,589210,526428,463748,473087,451753,480544,426872,359449,248123,142675,132023 +0400000US54,West Virginia,87469,96217,102819,111760,114325,102223,104869,100477,116189,105518,116477,114295,126356,119451,105223,68910,46114,36464 +0400000US55,Wisconsin,309244,333686,369101,385002,407006,366161,367568,376608,366385,328127,364381,392381,424503,368769,289697,199492,125211,119217 +0400000US56,Wyoming,30444,37271,38701,38287,36882,34971,37463,42391,39216,30529,33832,35054,38352,39086,29291,19540,11990,8081