[Tutor] table to dictionary and then analysis

questions anon questions.anon at gmail.com
Tue May 15 04:16:19 CEST 2012


I am completely new to dictionaries and I am not even sure if this is what
I need to use.
I have a text file that I would like to run summary stats on particular
months, years and climate indices (in this case the climate indices are
rainfall and fire area, so not actualy climate indices at all).

A text file is attached but a small sample of the file:
                  rainfall    firearea
1972 Jan    12.7083199    0
1972 Feb    14.17007142    0
1972 Mar    14.5659302    0
1972 Apr    1.508517302    0
1972 May    2.780009889    0
1972 Jun    1.609619287    0
1972 Jul    0.138150181    28
1972 Aug    0.214346148    32
1972 Sep    1.322102228    34747.8
1972 Oct    0.092663137    3655.9
1972 Nov    1.852276635    85.1
1972 Dec    2.011206002    42959.6
1973 Jan    5.55704346    153.5
1973 Feb    12.60326356    116.2
1973 Mar    11.08849105    223.6
1973 Apr    5.864925449    2.4
......

I have used an example from a book (a primer on scientific programming with
python) and it seems to be working (see below) but I am not sure if I have
my keys etc. are set up correctly to then begin anlaysis, and even how to
use the dictionaries in my analysis. For example how can I print out the
year with calculated the mean 'firearea' of June-July-August for that year
along with the maximum 'rainfall' for June-July-august of the same year?
Any feedback will be greatly appreaciated!

infile=open('d:/yearmonthrainfire.txt','r')
lines=infile.readlines()
infile.close()
data={} #data[index][year]=indexvalue
first_line=lines[0]
climateindexname=first_line.split()
for index in climateindexname:
    data[index]={}
YEAR={}
MONTH={}

for line in lines[2:]:
    words=line.split()
    year=words[0] #years
    YEAR[year]={}
    month=words[1] #months
    MONTH[month]={}
    values=words[2:] #values of climateindices
    for index, v in zip(climateindexname, values):
        if v !=' ':
            data[index][year]=float(v)

print "years=", YEAR
print "months=", MONTH
print "data=", data
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120515/a04d59f2/attachment-0001.html>
-------------- next part --------------
		meanrain	firearea
1972 Jan	12.7083199	0
1972 Feb	14.17007142	0
1972 Mar	14.5659302	0
1972 Apr	1.508517302	0
1972 May	2.780009889	0
1972 Jun	1.609619287	0
1972 Jul	0.138150181	28
1972 Aug	0.214346148	32
1972 Sep	1.322102228	34747.8
1972 Oct	0.092663137	3655.9
1972 Nov	1.852276635	85.1
1972 Dec	2.011206002	42959.6
1973 Jan	5.55704346	153.5
1973 Feb	12.60326356	116.2
1973 Mar	11.08849105	223.6
1973 Apr	5.864925449	2.4
1973 May	2.352622232	0
1973 Jun	1.600553474	0
1973 Jul	0.776217634	0.4
1973 Aug	0.369365192	0
1973 Sep	2.2226749	13523.2
1973 Oct	1.122739926	229.3
1973 Nov	7.904255106	144
1973 Dec	13.31568494	1558.5
1974 Jan	24.85492667	1170.8
1974 Feb	16.21160985	11.1
1974 Mar	15.68630322	64.5
1974 Apr	1.761830238	0
1974 May	3.245113376	0
1974 Jun	0.413113179	0
1974 Jul	0.056925965	0
1974 Aug	1.056679232	0
1974 Sep	0.506806924	0.2
1974 Oct	0.571465459	0
1974 Nov	1.747845479	2939.4
1974 Dec	5.423673558	2212.4
1975 Jan	8.246915224	34838.4
1975 Feb	10.09194262	14467.3
1975 Mar	8.228448671	2673.5
1975 Apr	4.033215013	608.4
1975 May	1.953680674	28.2
1975 Jun	1.343020358	0
1975 Jul	1.038350229	48
1975 Aug	1.217719419	0
1975 Sep	2.873960222	2.4
1975 Oct	3.647092246	2.1
1975 Nov	1.789754789	41135
1975 Dec	12.7257926	1837.2
1976 Jan	8.670511763	12972.1
1976 Feb	12.82303773	556.9
1976 Mar	8.693052739	646.6
1976 Apr	4.824761671	2441.1
1976 May	1.185164667	174.3
1976 Jun	0.807438979	0
1976 Jul	0.772650504	0
1976 Aug	0.339851675	0.8
1976 Sep	0.172502614	18.5
1976 Oct	0.942766622	18
1976 Nov	2.882269122	115558.6
1976 Dec	8.023477936	2566.7
1977 Jan	6.995102092	2771.8
1977 Feb	18.99860777	21637.1
1977 Mar	10.80012409	145.1
1977 Apr	7.522531332	792.3
1977 May	3.779496681	171.6
1977 Jun	0.653845173	0
1977 Jul	0.577692075	0
1977 Aug	0.46951093	903.4
1977 Sep	0.690806944	164
1977 Oct	0.355984233	38512.8
1977 Nov	2.256052975	1946.3
1977 Dec	4.696920357	3620.8
1978 Jan	7.361228919	38343.3
1978 Feb	6.082772277	7332.2
1978 Mar	2.345215476	298.3
1978 Apr	4.67913104	117.7
1978 May	2.831787858	5
1978 Jun	0.371906624	0
1978 Jul	0.815953022	0
1978 Aug	1.214826869	0
1978 Sep	0.822085465	480
1978 Oct	1.949806128	3811.3
1978 Nov	2.26078841	1413
1978 Dec	3.999907139	1160.1
1979 Jan	21.87961335	24431
1979 Feb	14.9501875	3155.7
1979 Mar	9.800489519	1924.9
1979 Apr	3.915820791	109.7
1979 May	1.309700733	5.5
1979 Jun	2.233918323	0
1979 Jul	0.853675529	0
1979 Aug	0.333655061	1
1979 Sep	0.29215987	85.2
1979 Oct	0.682168916	1195
1979 Nov	1.088198531	5734.9
1979 Dec	3.521986644	4679.4
1980 Jan	6.680534017	5282.1
1980 Feb	7.924590667	5664.1
1980 Mar	6.918765319	11465.5
1980 Apr	2.865413043	12712.2
1980 May	2.462878208	12
1980 Jun	1.285836016	0.1
1980 Jul	0.682107184	0.5
1980 Aug	1.571886257	4984
1980 Sep	0.021409787	92974.1
1980 Oct	0.517530831	32094.2
1980 Nov	1.108586343	23453.5
1980 Dec	3.213191566	167788.4
1981 Jan	26.24314963	134907.5
1981 Feb	13.38748218	2131.7
1981 Mar	2.369835156	2521.7
1981 Apr	2.105931953	5912.4
1981 May	4.723263861	1261.9
1981 Jun	0.474331956	0.1
1981 Jul	1.633319526	0
1981 Aug	0.24848172	1
1981 Sep	1.523939382	373
1981 Oct	1.374030119	4116.1
1981 Nov	4.134000547	168.2
1981 Dec	3.274688096	3672.4
1982 Jan	6.02705233	9128.2
1982 Feb	4.567044471	5303
1982 Mar	6.607413666	3317
1982 Apr	7.823935127	1063
1982 May	1.169920518	49
1982 Jun	0.992082419	0
1982 Jul	0.274846028	0.3
1982 Aug	1.906676094	5594
1982 Sep	0.522254326	100.5
1982 Oct	0.079977437	3596.7
1982 Nov	1.307046374	85323
1982 Dec	2.870249219	22181.5
1983 Jan	2.855475445	143760.9
1983 Feb	2.515061768	336861.6
1983 Mar	11.05386469	128333.7
1983 Apr	5.276516046	6550
1983 May	6.079337518	0
1983 Jun	0.946812531	0
1983 Jul	0.532662055	0
1983 Aug	1.006456011	0
1983 Sep	0.977370533	60
1983 Oct	0.539496993	3802
1983 Nov	3.143395435	191.2
1983 Dec	2.737488439	7632.9
1984 Jan	10.11088201	182.7
1984 Feb	15.5033194	180.9
1984 Mar	3.766858012	130.6
1984 Apr	1.633064341	4194.6
1984 May	1.143856983	258
1984 Jun	1.204634779	150
1984 Jul	1.326248452	0.1
1984 Aug	0.156389808	0
1984 Sep	0.184485674	100
1984 Oct	0.810719447	4514.7
1984 Nov	2.106038111	8285.1
1984 Dec	3.777131865	9288.6
1985 Jan	5.011390998	231255.5
1985 Feb	8.60879258	344.5
1985 Mar	9.235176983	70415.7
1985 Apr	3.699116243	5823.4
1985 May	2.373524399	203.7
1985 Jun	1.161396326	0
1985 Jul	0.845702914	3.4
1985 Aug	0.170493565	0
1985 Sep	0.276077967	5.7
1985 Oct	1.921874573	402.2
1985 Nov	4.201466182	166.1
1985 Dec	2.706100856	6628.3
1986 Jan	10.47965071	2115.3
1986 Feb	5.37365136	4778.1
1986 Mar	3.873115362	623.3
1986 Apr	4.584836939	11099.5
1986 May	1.743296951	45.5
1986 Jun	1.86496364	0
1986 Jul	0.556588324	0
1986 Aug	0.842487134	5.1
1986 Sep	0.726846716	170.1
1986 Oct	2.057291002	376.5
1986 Nov	1.035925427	4741.4
1986 Dec	1.708060575	10326.3
1987 Jan	4.457561014	5051.3
1987 Feb	9.897967871	1506.9
1987 Mar	4.311450182	1573.7
1987 Apr	3.975473663	4094.7
1987 May	2.179936139	0.5
1987 Jun	3.046559272	0
1987 Jul	1.396657135	20.5
1987 Aug	0.558126971	200.2
1987 Sep	1.076646124	891.7
1987 Oct	0.39166958	6014.3
1987 Nov	1.866614413	1584.7
1987 Dec	4.655993403	953.1
1988 Jan	2.22449808	14437
1988 Feb	8.847698502	848.5
1988 Mar	4.773818734	5747.1
1988 Apr	3.147990239	1453.5
1988 May	1.461767068	201.7
1988 Jun	1.002995145	0
1988 Jul	1.563390642	0
1988 Aug	1.830531756	18.5
1988 Sep	0.559768549	180.6
1988 Oct	1.029085162	7703.2
1988 Nov	3.493493432	1140.9
1988 Dec	8.879964753	577.1
1989 Jan	4.534711225	376
1989 Feb	6.721512903	20613.1
1989 Mar	10.29195875	122.2
1989 Apr	7.959824457	12.9
1989 May	4.341240432	0
1989 Jun	1.61926397	0
1989 Jul	1.104096165	0
1989 Aug	0.302561542	0.1
1989 Sep	0.14264302	131.5
1989 Oct	0.829273331	305.7
1989 Nov	8.560543606	2181.5
1989 Dec	3.796533528	711.8
1990 Jan	3.049078738	16302.4
1990 Feb	1.869648119	779.9
1990 Mar	10.60081201	2857.2
1990 Apr	7.285089356	458
1990 May	5.108933642	3345
1990 Jun	4.527347601	4.2
1990 Jul	0.646990838	3
1990 Aug	0.046415164	0
1990 Sep	1.092258758	153.1
1990 Oct	0.311219762	1108.9
1990 Nov	0.587291693	2382
1990 Dec	5.308972338	151051
1991 Jan	22.32453687	14657
1991 Feb	18.44824486	13698.3
1991 Mar	1.126359723	1776.9
1991 Apr	2.351234666	1822.4
1991 May	2.003649605	3648.8
1991 Jun	0.4555832	30.7
1991 Jul	0.565112346	0
1991 Aug	0.224883596	234
1991 Sep	0.015450395	22.2
1991 Oct	0.145235384	3180.4
1991 Nov	1.553013636	9825.3
1991 Dec	2.251326392	925.3
1992 Jan	2.599549108	337
1992 Feb	8.682109264	95.2
1992 Mar	2.174757808	1444
1992 Apr	3.052451015	672.8
1992 May	3.273742197	1
1992 Jun	0.39244459	0
1992 Jul	0.840604631	2.1
1992 Aug	0.412808914	3.8
1992 Sep	0.913561096	0.3
1992 Oct	0.361931296	776.6
1992 Nov	0.808052022	103.2
1992 Dec	5.561746222	111.3
1993 Jan	7.356005875	70.9
1993 Feb	9.421036774	401.4
1993 Mar	1.602188031	1118.9
1993 Apr	2.345366872	1974.5
1993 May	1.940469251	250.7
1993 Jun	1.09880524	3.5
1993 Jul	2.080590269	0
1993 Aug	0.770423966	111
1993 Sep	1.226436054	103.5
1993 Oct	0.439254646	362.2
1993 Nov	1.833521606	383.3
1993 Dec	3.097896158	925.2
1994 Jan	7.374966044	680.1
1994 Feb	11.0116763	1487.7
1994 Mar	5.117271775	141.4
1994 Apr	3.052883537	11569
1994 May	1.742208491	177.5
1994 Jun	1.164939189	60.2
1994 Jul	1.799578179	20.6
1994 Aug	0.832932325	838.7
1994 Sep	0.369372762	785.2
1994 Oct	0.583245128	1197.8
1994 Nov	0.998170393	3841
1994 Dec	2.292031843	869.9
1995 Jan	3.952888203	223
1995 Feb	14.98503552	10321.2
1995 Mar	8.786371933	518.5
1995 Apr	1.15537876	100.6
1995 May	2.548755845	2.3
1995 Jun	1.351001388	0.1
1995 Jul	0.228689756	16.1
1995 Aug	3.607614625	169.1
1995 Sep	0.140126023	2.1
1995 Oct	1.736401062	1559.3
1995 Nov	1.878256805	1342.7
1995 Dec	2.412888581	1050.3
1996 Jan	10.93723802	1482.8
1996 Feb	5.082749085	1637.2
1996 Mar	9.487968655	6351
1996 Apr	3.229533229	340.2
1996 May	2.401398017	218.6
1996 Jun	1.846022576	0.3
1996 Jul	1.199434211	0.1
1996 Aug	0.387229601	6.5
1996 Sep	0.190375922	114.8
1996 Oct	3.075383908	69.9
1996 Nov	0.68077727	280.8
1996 Dec	4.970757516	703.2
1997 Jan	8.790548173	12243.8
1997 Feb	8.534348074	1835.4
1997 Mar	10.25784484	2367.2
1997 Apr	2.025686853	8374.6
1997 May	1.505061617	67.4
1997 Jun	1.61775719	79.7
1997 Jul	0.841512119	45.5
1997 Aug	1.13390946	32.7
1997 Sep	0.793177789	175.2
1997 Oct	0.51100862	1539.6
1997 Nov	2.020241788	1864.9
1997 Dec	11.13430326	39973.7
1998 Jan	14.50427496	6981.6
1998 Feb	7.826202642	2158
1998 Mar	6.001887795	3407.9
1998 Apr	3.226931965	19.1
1998 May	3.369861482	28.1
1998 Jun	1.100020262	1.2
1998 Jul	0.966158915	1.6
1998 Aug	1.898565651	2.7
1998 Sep	2.286590285	707
1998 Oct	1.954612957	15530.4
1998 Nov	4.616066305	515.6
1998 Dec	5.468446007	21967.6
1999 Jan	9.553564564	21914.7
1999 Feb	14.57666726	1022.7
1999 Mar	12.09503898	1213.3
1999 Apr	6.200550272	1569
1999 May	1.120759693	226
1999 Jun	0.858177187	0.2
1999 Jul	1.238553864	11
1999 Aug	1.156362194	33.2
1999 Sep	0.696475044	8408.3
1999 Oct	0.575699231	65.6
1999 Nov	6.446502564	394.8
1999 Dec	6.648617816	2088.9
2000 Jan	5.987250899	2925.7
2000 Feb	20.16319547	3081.9
2000 Mar	6.798066345	257.6
2000 Apr	9.1328323	442.4
2000 May	1.5397691	5.9
2000 Jun	2.451942776	0
2000 Jul	0.219638479	15.5
2000 Aug	0.935226785	10.32
2000 Sep	0.134735405	29.001
2000 Oct	2.348875937	3.37
2000 Nov	7.375675069	1183.21
2000 Dec	10.71783577	13580.481
2001 Jan	5.325595722	7778.421
2001 Feb	14.91304157	3782.59
2001 Mar	5.876859974	3969.6931
2001 Apr	3.281430754	1583.8722
2001 May	0.155103437	67.601
2001 Jun	2.006395633	11.1
2001 Jul	0.325604959	8.1
2001 Aug	0.227212846	163.67
2001 Sep	0.527586533	28.631
2001 Oct	1.463056483	39.43
2001 Nov	2.257756323	179.925
2001 Dec	3.54509221	6312.5072
2002 Jan	6.478581916	2146.8811
2002 Feb	10.29281488	1349.532
2002 Mar	3.083575243	7790.012
2002 Apr	2.474725154	34848.2711
2002 May	1.86478044	632.79
2002 Jun	0.358581954	6.14
2002 Jul	0.343009071	25.831
2002 Aug	1.192817925	62.121
2002 Sep	0.291970376	2105.66
2002 Oct	0.015735386	274.523
2002 Nov	0.623493006	2766.307
2002 Dec	2.079099462	217542.637
2003 Jan	4.265188137	1119536.36
2003 Feb	8.040918003	1404.785
2003 Mar	5.305213174	780.2
2003 Apr	3.465696674	1037.9911
2003 May	2.496173679	3.89
2003 Jun	1.661322809	113.47
2003 Jul	0.977483907	7.32
2003 Aug	0.461953304	829.101
2003 Sep	0.106864347	6524.995
2003 Oct	0.426773025	3417.1801
2003 Nov	0.45507914	1331.27
2003 Dec	6.209697227	645.679
2004 Jan	8.23677275	603.0637
2004 Feb	11.56753974	1292.6503
2004 Mar	11.73459508	2106.064
2004 Apr	5.119202846	5280.116
2004 May	1.502925662	14.92
2004 Jun	0.829546367	25.361
2004 Jul	0.943796857	1.23
2004 Aug	0.186290381	64.245
2004 Sep	0.441521915	101.271
2004 Oct	0.486378075	1088.842
2004 Nov	2.500203824	960.12
2004 Dec	6.776089301	1040.034
2005 Jan	9.048194224	19342.1061
2005 Feb	3.388376157	666.111
2005 Mar	4.865344467	7547.881
2005 Apr	3.435378673	2119.1682
2005 May	0.645825203	120.4913
2005 Jun	1.422382075	26.16
2005 Jul	1.823086651	0.13
2005 Aug	2.249076383	14.9903
2005 Sep	0.17746017	1.813
2005 Oct	1.113971566	41.623
2005 Nov	1.515732371	91.6305
2005 Dec	2.232137387	10255.0104
2006 Jan	11.18158131	170791.625
2006 Feb	4.311152406	1606.5712
2006 Mar	15.26285318	4348.833
2006 Apr	11.90241981	1364.0228
2006 May	2.81938899	7.016
2006 Jun	2.37945952	29.147
2006 Jul	2.80622574	11.47
2006 Aug	0.258222313	323.642
2006 Sep	2.014129952	23355.003
2006 Oct	1.16087706	2415.734
2006 Nov	0.45965792	26622.0592
2006 Dec	4.138020688	1101463.715
2007 Jan	9.376425163	40727.366
2007 Feb	18.36368504	4726.1901
2007 Mar	5.547222998	377.026
2007 Apr	1.884331476	5268.022
2007 May	2.611790703	52.761
2007 Jun	4.106621019	1.503
2007 Jul	0.504714418	0.021
2007 Aug	0.529458095	406.024
2007 Sep	0.376155977	6.367
2007 Oct	1.255303806	65.9259
2007 Nov	2.369059569	19649.5152
2007 Dec	7.471254048	7225.033
2008 Jan	10.55731175	2176.8901
2008 Feb	15.78327792	1078.429
2008 Mar	10.30946732	1183.3301
2008 Apr	0.861034471	635.6581
2008 May	1.480145327	36.881
2008 Jun	0.636880083	2.32
2008 Jul	2.845478716	15.551
2008 Aug	0.147091135	50.421
2008 Sep	1.14039027	551.05
2008 Oct	1.133310063	11727.761
2008 Nov	3.59819497	1118.342
2008 Dec	6.151984026	127.6061
2009 Jan	22.76297266	8015.691
2009 Feb	17.79593844	402533.826
2009 Mar	3.009901396	12625.9623
2009 Apr	3.348459983	479.6262
2009 May	2.279772489	143.29
2009 Jun	0.313328878	0.1111
2009 Jul	0.244595851	3.781
2009 Aug	0.191970942	197.7892
2009 Sep	0.093562116	38.0925
2009 Oct	0.58448777	18.607
2009 Nov	2.45870127	6002.2512
2009 Dec	3.701254902	17831.4243
2010 Jan	14.66961631	9763.2427
2010 Feb	9.64794254	468.6606
2010 Mar	6.187229353	2890.7111
2010 Apr	6.155531294	15.258
2010 May	0.885427626	1.725
2010 Jun	0.703550438	0.012
2010 Jul	1.281893083	0.021
2010 Aug	1.63783392	75.1
2010 Sep	2.724098656	13.521
2010 Oct	4.354737226	807.813
2010 Nov	7.565594903	32.061
2010 Dec	11.87070645	382.612
2011 Jan	11.52153183	72.396
2011 Feb	15.5398423	11790.612
2011 Mar	15.56511994	788.411
2011 Apr	2.681864339	97.0701
2011 May	0.669399172	70
2011 Jun	1.313145635	2.141
2011 Jul	0.410214784	1.01
2011 Aug	0.427651311	0.361
2011 Sep	0.330379107	47.41
2011 Oct	3.318839464	5.262
2011 Nov	2.390030624	60.696
2011 Dec	5.469173888	540.2526


More information about the Tutor mailing list