calculate bad month from the given csv - python
I tried finding the five worst months from the data but I'm not sure about the process as I'm very confused . The answer should be something like (June 2001, July 2002 )but when I tried to solve it my answer wasn't as expected. Only the data of January was sorted. This the the way I tried solving my question and the csv data file is also provided on the screenshot.
My solution is given below:
PATH = "tourist_arrival.csv"
df = pd.read_csv(PATH)
print(df.sort_values(by=['Jan.','Feb.','Mar.','Apr.','May.','Jun.','Jul.','Aug.','Sep.','Oct.','Nov.','Dec.'],ascending=False))
Year ,Jan.,Feb.,Mar.,Apr.,May.,Jun.,Jul.,Aug.,Sep.,Oct.,Nov.,Dec.,Total
1992, 17451,27489,31505,30682,29089,22469,20942,27338,24839,42647,32341,27561,334353
1993 ,19238,23931,30818,20121,20585,19602,13588,21583,23939,42242,30378,27542,293567
1994, 21735,24872,31586,27292,26232,22907,19739,27610,27959,39393,28008,29198,326531
1995 ,22207,28240,34219,33994,27843,25650,23980,27686,30569,46845,35782,26380,363395
1996 ,27886,29676,39336,36331,29728,26749,22684,29080,32181,47314,37650,34998,393613
1997,25585,32861,43177,35229,33456,26367,26091,35549,31981,56272,40173,35116,421857
1998,28822,37956,41338,41087,35814,29181,27895,36174,39664,62487,47403,35863,463684
1999,29752,38134,46218,40774,42712,31049,27193,38449,44117,66543,48865,37698,491504
2000,25307,38959,44944,43635,28363,26933,24480,34670,43523,59195,52993,40644,463646
2001,30454,38680,46709,39083,28345,13030,18329,25322,31170,41245,30282,18588,361237
2002,17176,20668,28815,21253,19887,17218,16621,21093,23752,35272,28723,24990,275468
2003,21215,24349,27737,25851,22704,20351,22661,27568,28724,45459,38398,33115,338132
2004,30988,35631,44290,33514,26802,19793,24860,33162,25496,43373,36381,31007,385297
2005,25477,20338,29875,23414,25541,22608,23996,36910,36066,51498,41505,38170,375398
2006,28769,25728,36873,21983,22870,26210,25183,33150,33362,49670,44119,36009,383926
2007,33192,39934,54722,40942,35854,31316,35437,44683,45552,70644,52273,42156,526705
2008,36913,46675,58735,38475,30410,24349,25427,40011,41622,66421,52399,38840,500277
2009,29278,40617,49567,43337,30037,31749,30432,44174,42771,72522,54423,41049,509956
2010,33645,49264,63058,45509,32542,33263,38991,54672,54848,79130,67537,50408,602867
2011,42622,56339,67565,59751,46202,46115,42661,71398,63033,96996,83460,60073,736215
2012,52501,66459,89151,69796,50317,53630,49995,71964,66383,86379,83173,63344,803092
2013,47846,67264,88697,65152,52834,54599,54011,68478,66755,99426,75485,57069,797616
melt your DataFrame and then sort_values:
output = df.melt("Year", df.drop(["Year", "Total"], axis=1).columns, var_name="Month").sort_values("value").reset_index(drop=True)
>>> output
Year Month value
0 2001 Jun. 13030
1 1993 Jul. 13588
2 2002 Jul. 16621
3 2002 Jan. 17176
4 2002 Jun. 17218
.. ... ... ...
259 2012 Oct. 86379
260 2013 Mar. 88697
261 2012 Mar. 89151
262 2011 Oct. 96996
263 2013 Oct. 99426
[264 rows x 3 columns]
For just the 5 worst months, you can do:
>>> output.iloc[:5]
Year Month value
0 2001 Jun. 13030
1 1993 Jul. 13588
2 2002 Jul. 16621
3 2002 Jan. 17176
4 2002 Jun. 17218
Related
Python matplotlib into barchart
I have 2 python file with 1 csv file. I'm trying to accumulate All the Visitors from 2000 - 2009 from each countries and Select The Top 3 country as it will show up the barchart of the Top 3 Country The Error I having is : Traceback (most recent call last): File "C:/ASP/pythonProjectDA_YODA/main.py", line 3, in <module> countries=Countries("2000","2009","China","Japan") File "C:\ASP\pythonProjectDA_YODA\countries.py", line 8, in __init__ dfVisitor.index=pd.to_datetime(dfVisitor.index) File "C:\Users\65965\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\core\tools\datetimes.py", line 812, in to_datetime result = convert_listlike(arg, format, name=arg.name) File "C:\Users\65965\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\core\tools\datetimes.py", line 459, in _convert_listlike_datetimes result, tz_parsed = objects_to_datetime64ns( File "C:\Users\65965\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\core\arrays\datetimes.py", line 2044, in objects_to_datetime64ns result, tz_parsed = tslib.array_to_datetime( File "pandas\_libs\tslib.pyx", line 352, in pandas._libs.tslib.array_to_datetime File "pandas\_libs\tslib.pyx", line 579, in pandas._libs.tslib.array_to_datetime File "pandas\_libs\tslib.pyx", line 718, in pandas._libs.tslib.array_to_datetime_object File "pandas\_libs\tslib.pyx", line 552, in pandas._libs.tslib.array_to_datetime TypeError: <class 'tuple'> is not convertible to datetime I have no idea what this means cus this is still first time for me to learn this. The main.py file code is stated below : **from countries import Countries countries=Countries("ListedCountries.csv","2000","2009","China","Japan") countries.top3() countries.drawchart()** Another Python file is stated below as well : **import numpy as np import pandas as pd import matplotlib.pyplot as plt class Countries: def __init__(self,syear,eyear,scountries,ecountries): dfVisitor=pd.read_csv("ListedCountries.csv") dfVisitor.index=pd.to_datetime(dfVisitor.index) dfVisitor.columns=dfVisitor.colums.str.strip() dfOther=dfVisitor.loc[syear:eyear, scountries:ecountries] dfOtherTotal=dfOther.sum() self.dfOtherTotalSorted=dfOtherTotal.sort_values(ascending=False) print(self.dfOtherTotalSorted) def top3(self): value=self.dfOtherTotalSorted.to_dict() c=1 print("Top 3 countries in the region over a span of 10 years") for x, y in value.items(): if c<=3: print(c,x,y) c+=1 #c=c+1 if len(value)>0: return True else: return False def drawchart(self): ps=self.dfOtherTotalSorted index=np.arrange(len(ps.index)) plt.xlabel("No. of Visitors in 10 years visit Singapore",fontsize=10) plt.ylabel((1000000, 2000000, 3000000, 4000000), fontsize=15) plt.xticks(index,ps.index,fontsize=15, rotation=90) plt.title("Total visitors from 2000 to 2009 in Singapore") plt.bar(ps.index,ps.values) plt.show()** Lastly i have is the CSV.file : **Japan,HongKong,China,Taiwan,Korea 2000 Jan,72,131,16,288,38,887,19,329,32,621 2000 Feb,71,245,28,265,45,148,30,528,28,932 2000 Mar,91,844,21,513,30,644,22,934,30,682 2000 Apr,60,540,29,308,36,511,27,737,27,237 2000 May,62,152,20,822,37,934,23,635,30,739 2000 Jun,67,977,22,011,30,706,26,582,25,318 2000 Jul,84,634,30,218,36,148,35,570,32,960 2000 Aug,101,785,31,963,41,162,30,732,34,877 2000 Sep,89,417,20,566,31,239,19,824,23,207 2000 Oct,73,383,21,512,35,195,17,685,28,185 2000 Nov,80,889,21,326,32,999,17,034,31,169 2000 Dec,73,898,22,183,37,762,19,314,28,426 2001 Jan,65,381,27,778,56,460,20,418,32,727 2001 Feb,72,335,18,442,36,157,20,078,32,777 2001 Mar,85,655,27,025,30,320,16,438,32,441 2001 Apr,58,348,25,816,37,542,19,756,30,150 2001 May,58,984,19,806,41,999,16,381,28,842 2001 Jun,64,582,23,752,31,882,19,445,26,914 2001 Jul,76,373,24,929,45,570,25,185,34,830 2001 Aug,92,508,28,515,51,208,21,981,35,899 2001 Sep,69,850,20,024,34,386,15,218,23,526 2001 Oct,35,970,19,363,42,586,14,259,24,125 2001 Nov,32,294,18,583,41,208,15,219,29,452 2001 Dec,43,483,22,124,48,080,17,709,27,400 2002 Jan,47,447,16,630,50,303,18,995,38,613 2002 Feb,49,583,26,760,81,649,21,463,30,745 2002 Mar,68,549,24,043,42,728,16,038,38,393 2002 Apr,49,149,21,771,63,880,17,554,32,704 2002 May,50,563,23,490,56,486,16,570,27,807 2002 Jun,54,892,22,965,41,186,17,251,27,519 2002 Jul,66,566,26,488,51,147,25,238,32,353 2002 Aug,85,655,26,513,62,699,22,147,39,236 2002 Sep,77,884,18,914,47,217,13,553,21,472 2002 Oct,58,489,21,025,57,693,15,730,28,827 2002 Nov,54,294,17,425,56,422,11,981,28,758 2002 Dec,60,338,19,941,58,683,12,796,24,591 2003 Jan,53,131,17,336,62,454,15,826,34,976 2003 Feb,50,469,24,563,89,704,17,940,32,707 2003 Mar,54,497,16,460,54,063,11,498,25,186 2003 Apr,12,501,4,808,23,002,2,531,2,890 2003 May,7,056,5,510,3,994,1,283,2,552 2003 Jun,14,051,16,426,8,405,5,412,8,477 2003 Jul,28,636,29,541,20,989,18,298,25,714 2003 Aug,43,016,34,391,52,847,19,466,30,591 2003 Sep,47,623,17,839,57,716,13,190,20,942 2003 Oct,38,418,19,234,56,700,14,982,24,175 2003 Nov,37,630,18,368,67,541,12,271,29,059 2003 Dec,47,021,21,778,71,068,12,233,24,125 2004 Jan,39,191,22,763,79,717,17,014,30,255 2004 Feb,43,760,17,189,50,903,13,918,29,835 2004 Mar,53,022,18,564,53,481,13,060,25,853 2004 Apr,38,801,24,158,75,068,13,484,26,713 2004 May,43,714,23,922,70,021,13,963,31,482 2004 Jun,44,112,21,679,63,014,15,181,29,912 2004 Jul,56,066,27,380,92,649,21,955,35,568 2004 Aug,66,617,30,887,90,212,19,708,38,602 2004 Sep,62,264,19,562,62,134,13,542,25,956 2004 Oct,51,340,21,884,70,449,13,840,26,936 2004 Nov,48,066,19,317,88,223,12,747,31,623 2004 Dec,51,858,24,381,84,369,14,030,28,344 2005 Jan,48,004,17,457,45,801,16,774,20,386 2005 Feb,40,310,28,713,61,601,19,104,24,531 2005 Mar,52,225,31,089,52,249,15,669,23,476 2005 Apr,41,599,23,614,68,775,16,345,28,923 2005 May,43,968,25,187,62,872,16,019,28,927 2005 Jun,43,020,23,843,61,150,16,710,32,366 2005 Jul,49,791,35,295,93,889,27,702,42,961 2005 Aug,61,522,38,649,101,134,22,950,42,791 2005 Sep,57,085,23,649,67,061,15,670,25,572 2005 Oct,49,532,22,996,74,501,17,754,30,060 2005 Nov,50,402,20,552,88,704,14,094,31,277 2005 Dec,50,994,22,770,79,945,15,123,32,803 2006 Jan,45,402,23,587,81,734,19,898,40,604 2006 Feb,44,695,22,743,96,562,17,723,40,835 2006 Mar,62,353,21,726,91,092,16,227,36,144 2006 Apr,41,269,28,836,97,423,17,657,31,780 2006 May,42,907,24,008,78,594,15,410,34,236 2006 Jun,43,153,23,998,71,213,17,393,36,327 2006 Jul,52,407,28,265,113,127,27,109,45,685 2006 Aug,62,970,30,672,103,459,23,438,44,846 2006 Sep,51,284,20,463,63,550,15,350,29,315 2006 Oct,47,552,21,801,70,690,17,087,35,025 2006 Nov,52,047,22,845,88,343,15,953,43,791 2006 Dec,48,367,22,530,81,414,16,218,36,134 2007 Jan,49,959,19,559,76,116,17,156,46,756 2007 Feb,46,920,26,025,111,934,23,307,31,464 2007 Mar,58,843,22,361,79,239,16,091,42,071 2007 Apr,37,962,29,338,99,136,15,343,32,219 2007 May,38,813,25,261,85,198,14,952,34,408 2007 Jun,41,289,25,551,77,239,16,868,38,027 2007 Jul,49,234,31,990,108,881,24,849,46,123 2007 Aug,58,288,32,177,114,463,21,028,45,910 2007 Sep,54,186,22,902,76,181,16,276,30,265 2007 Oct,51,825,23,224,83,831,14,426,33,383 2007 Nov,53,784,22,638,103,906,13,742,43,965 2007 Dec,53,411,21,084,97,832,14,118,39,701 2008 Jan,52,973,19,817,108,486,16,342,50,432 2008 Feb,47,449,27,263,121,031,17,829,40,998 2008 Mar,57,364,27,600,98,180,13,778,39,683 2008 Apr,36,301,20,232,107,639,13,944,33,946 2008 May,42,382,22,867,86,785,14,276,36,412 2008 Jun,40,879,23,055,70,565,13,146,35,998 2008 Jul,47,659,28,218,105,528,19,398,39,614 2008 Aug,53,699,26,847,91,325,16,923,42,338 2008 Sep,48,771,20,765,66,582,12,303,25,914 2008 Oct,47,736,20,016,76,836,13,503,30,930 2008 Nov,48,225,19,197,79,096,12,535,24,445 2008 Dec,47,602,22,238,66,689,11,947,22,308 2009 Jan,38,382,23,399,105,144,15,986,25,516 2009 Feb,42,807,19,720,80,037,12,744,27,387 2009 Mar,46,797,21,290,91,275,12,542,20,759 2009 Apr,31,633,28,587,86,525,11,970,21,323 2009 May,29,800,21,529,52,058,11,602,21,854 2009 Jun,28,060,21,703,41,650,11,486,20,991 2009 Jul,46,633,33,382,72,326,17,351,30,389 2009 Aug,50,698,36,218,86,530,17,490,32,332 2009 Sep,52,561,21,509,59,588,10,443,15,714 2009 Oct,43,247,25,512,83,273,13,208,16,069 2009 Nov,38,949,20,525,90,358,11,900,19,620 2009 Dec,40,420,21,046,87,983,10,039,20,033 112,551,37,334,126,870,29,368,52,654**
This code works, after you eliminate the embedded commas in the CSV file. One other problem is you were trying to print "China":"Japan", but your columns were not in that order. It needed to be "Japan":"China". You also had several spelling errors (colums, arrange). import numpy as np import pandas as pd import matplotlib.pyplot as plt class Countries(object): def __init__(self,filename,syear,eyear,scountries,ecountries): dfVisitor=pd.read_csv(filename) dfVisitor = dfVisitor.set_index('Date') dfVisitor.index=pd.to_datetime(dfVisitor.index) dfOther=dfVisitor.loc[syear:eyear, scountries:ecountries] dfOtherTotal=dfOther.sum() self.dfOtherTotalSorted=dfOtherTotal.sort_values(ascending=False) print(self.dfOtherTotalSorted) def top3(self): value=self.dfOtherTotalSorted.to_dict() print("Top 3 countries in the region over a span of 10 years") for x, y in list(value.items())[:3]: print(x,y) def drawchart(self): ps=self.dfOtherTotalSorted index=np.arange(len(ps.index)) plt.xlabel("No. of Visitors in 10 years visit Singapore",fontsize=10) plt.ylabel((1000000, 2000000, 3000000, 4000000), fontsize=15) plt.xticks(index,ps.index,fontsize=15, rotation=90) plt.title("Total visitors from 2000 to 2009 in Singapore") plt.bar(ps.index,ps.values) plt.show() countries=Countries("ListedCountries.csv",pd.to_datetime("2000-01-01"),pd.to_datetime("2009-12-31"),"Japan","China") countries.top3() countries.drawchart()
Adding columns and index to sum up values using Panda in Python
I have a .csv file, after reading it using Panda I have this output Year Month Brunei Darussalam ... Thailand Viet Nam Myanmar 348 2007 Jan 3813 ... 25863 12555 4887 349 2007 Feb 3471 ... 22575 11969 3749 350 2007 Mar 4547 ... 33087 14060 5480 351 2007 Apr 3265 ... 34500 15553 6838 352 2007 May 3641 ... 30555 14995 5295 .. ... ... ... ... ... ... ... 474 2017 Jul 5625 ... 48620 71153 12619 475 2017 Aug 4610 ... 40993 51866 10934 476 2017 Sep 5387 ... 39692 40270 9888 477 2017 Oct 4202 ... 61448 39013 11616 478 2017 Nov 5258 ... 39304 36964 11402 I use this to get me the sum of all countries within the total years to display top 3 top3_country = new_df.iloc[0:, 2:9].sum(axis=0).sort_values(ascending=False).nlargest(3) though my output is this Indonesia 27572424 Malaysia 11337420 Philippines 6548622 I want to add columns and index into the sum value as if it was a new dataframe like this Countries Visitors 0 Indonesia 27572424 1 Malaysia 11337420 2 Philippines 6548622 Sorry I am just starting to learn learn Panda any help will be gladly appreciated
Use Series.reset_index for 2 columns DataFrame and then set new columns names from list: top3_country = top3_country.reset_index() top3_country.columns = ['Countries', 'Visitors'] Or use Series.rename_axis with Series.reset_index: top3_country = top3_country.rename_axis('Countries').reset_index(name='Visitors')
You can return back pd.DataFrame, use reset_index, and rename. Change your code to: import pandas as pd top3_country = pd.DataFrame(df.iloc[0:, 2:9].sum(axis=0).sort_values(ascending=False).nlargest(3) ).reset_index( ).rename(columns={'index':'Countries',0:'visitors'}) top3_country Countries visitors 0 Indonesia 27572424 1 Malaysia 11337420 2 Philippines 6548622
How do I plot a graph for a specific subset of a dataframe
I've been trying to plot a graph for a specific subset of my data. My data has got the data from the years 1960 to 2018. However, I am only interested in plotting my histogram using only a specific column's variable and the rows that display data from 1981 onwards. So far I've tried plotting using 2 variables x = df1y.index which returns the values: Int64Index([1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017], dtype='int64', name=' Time ') and y = df1.iloc[21:58, [15]] ## 21 to 58 are rows for 1981 to 2017 while column 15 refers to the column I've been trying to get y returns: Resident Live-births(Number) Time 1981 41,000 1982 41,300 1983 39,300 1984 40,200 1985 41,100 1986 37,159 1987 42,362 1988 51,537 1989 46,361 1990 49,787 1991 47,805 1992 47,907 1993 48,739 1994 48,075 1995 46,916 1996 46,707 1997 45,356 1998 41,636 1999 41,327 2000 44,765 2001 39,281 2002 38,555 2003 35,474 2004 35,135 2005 35,528 2006 36,272 2007 37,074 2008 37,277 2009 36,925 2010 35,129 2011 36,178 2012 38,641 2013 35,681 2014 37,967 2015 37,861 2016 36,875 2017 35,444 After keying in x = df1y.index y = df1.iloc[21:58, [15]] plt.plot(x, y, 'o-') I've received an error: TypeError: unhashable type: 'numpy.ndarray'
use y = df1.iloc[21:58, 15].values to do it the way you tried to walk However, normally you don't want to calculate the subset indices by yourself, so consider sth like y = df1.loc[df1.index > 1981, 'name_of_your_column_15_here'].values to get the numpy array of the (y-)values you want to have. And to get some more convenience, just try and apply .plot() directly to the series (works also with whole dataframes) and look what happens... idx_slice = df1.index > 1981 df1.loc[idx_slice, 'name_of_your_column_15_here'].plot()
Summarize values in panda data frames
I want to calculate the maximum value for each year and show the sector and that value. For example, from the screenshot, I would like to display: 2010: Telecom 781 2011: Tech 973 I have tried using: df.groupby(['Year', 'Sector'])['Revenue'].max() but this does not give me the name of Sector which has the highest value.
Try using idxmax and loc: df.loc[df.groupby(['Sector','Year'])['Revenue'].idxmax()] MVCE: import pandas as pd import numpy as np np.random.seed(123) df = pd.DataFrame({'Sector':['Telecom','Tech','Financial Service','Construction','Heath Care']*3, 'Year':[2010,2011,2012,2013,2014]*3, 'Revenue':np.random.randint(101,999,15)}) df.loc[df.groupby(['Sector','Year'])['Revenue'].idxmax()] Output: Sector Year Revenue 3 Construction 2013 423 12 Financial Service 2012 838 9 Heath Care 2014 224 1 Tech 2011 466 5 Telecom 2010 843
Also .sort_values + .tail, grouping on just year. Data from #Scott Boston df.sort_values('Revenue').groupby('Year').tail(1) Output: Sector Year Revenue 9 Heath Care 2014 224 3 Construction 2013 423 1 Tech 2011 466 12 Financial Service 2012 838 5 Telecom 2010 843
Transpose subset of pandas dataframe into multi-indexed data frame
I have the following dataframe: df.head(14) I'd like to transpose just the yr and the ['WA_','BA_','IA_','AA_','NA_','TOM_'] variables by Label. The resulting dataframe should then be a Multi-indexed frame with Label and the WA_, BA_, etc. and the columns names will be 2010, 2011, etc. I've tried, transpose(), groubby(), pivot_table(), long_to_wide(), and before I roll my own nested loop going line by line through this df I thought I'd ping the community. Something like this by every Label group: I feel like the answer is in one of those functions but I'm just missing it. Thanks for your help!
From what I can tell by your illustrated screenshots, you want WA_, BA_ etc as rows and yr as columns, with Label remaining as a row index. If so, consider stack() and unstack(): # sample data labels = ["Albany County","Big Horn County"] n_per_label = 7 n_rows = n_per_label * len(labels) years = np.arange(2010, 2017) min_val = 10000 max_val = 40000 data = {"Label": sorted(np.array(labels * n_per_label)), "WA_": np.random.randint(min_val, max_val, n_rows), "BA_": np.random.randint(min_val, max_val, n_rows), "IA_": np.random.randint(min_val, max_val, n_rows), "AA_": np.random.randint(min_val, max_val, n_rows), "NA_": np.random.randint(min_val, max_val, n_rows), "TOM_": np.random.randint(min_val, max_val, n_rows), "yr":np.append(years,years) } df = pd.DataFrame(data) AA_ BA_ IA_ NA_ TOM_ WA_ Label yr 0 27757 23138 10476 20047 34015 12457 Albany County 2010 1 37135 30525 12296 22809 27235 29045 Albany County 2011 2 11017 16448 17955 33310 11956 19070 Albany County 2012 3 24406 21758 15538 32746 38139 39553 Albany County 2013 4 29874 33105 23106 30216 30176 13380 Albany County 2014 5 24409 27454 14510 34497 10326 29278 Albany County 2015 6 31787 11301 39259 12081 31513 13820 Albany County 2016 7 17119 20961 21526 37450 14937 11516 Big Horn County 2010 8 13663 33901 12420 27700 30409 26235 Big Horn County 2011 9 37861 39864 29512 24270 15853 29813 Big Horn County 2012 10 29095 27760 12304 29987 31481 39632 Big Horn County 2013 11 26966 39095 39031 26582 22851 18194 Big Horn County 2014 12 28216 33354 35498 23514 23879 17983 Big Horn County 2015 13 25440 28405 23847 26475 20780 29692 Big Horn County 2016 Now set Label and yr as indices. df.set_index(["Label","yr"], inplace=True) From here, unstack() will pivot the inner-most index to columns. Then, stack() can swing our value columns down into rows. df.unstack().stack(level=0) yr 2010 2011 2012 2013 2014 2015 2016 Label Albany County AA_ 27757 37135 11017 24406 29874 24409 31787 BA_ 23138 30525 16448 21758 33105 27454 11301 IA_ 10476 12296 17955 15538 23106 14510 39259 NA_ 20047 22809 33310 32746 30216 34497 12081 TOM_ 34015 27235 11956 38139 30176 10326 31513 WA_ 12457 29045 19070 39553 13380 29278 13820 Big Horn County AA_ 17119 13663 37861 29095 26966 28216 25440 BA_ 20961 33901 39864 27760 39095 33354 28405 IA_ 21526 12420 29512 12304 39031 35498 23847 NA_ 37450 27700 24270 29987 26582 23514 26475 TOM_ 14937 30409 15853 31481 22851 23879 20780 WA_ 11516 26235 29813 39632 18194 17983 29692