In [235]:
import plotly as py
import pandas as pd
from plotly.graph_objs import *
# py.offline.init_notebook_mode()

In [259]:
# py.tools.set_credentials_file(username='celine103', api_key='86dvK98s8grMghXK2z0d')
py.tools.set_credentials_file(username='alexbear', api_key='L6m9DmfDjqrksfHtUH5j')
# py.tools.set_credentials_file(username='celine3729', api_key='yii9AN8IEdtEkbwToSg8')

In [237]:
df2 = pd.read_csv('DiscGrants96to13.csv',encoding='iso-8859-1')
df2.head()


Out[237]:
LogNumber Institution Program ProgramType ProjectTitle ProjectType AwardDate InstAddr1 InstAddr2 InstAddr3 ... Longitude FIPSState FIPSCounty CensusTract CensusBlock FIPSMCDCode FIPSPlaceCode CBSACode MetroDivisionCode Description
0 IA-00-00-0001-00 Museum of the Aleutians Conservation Assessment Prog. IA NaN NaN 3/30/2000 P.O. Box 648 NaN NaN ... -166.536862 2.0 16.0 200.0 2014.0 1615.0 80770.0 NaN NaN NaN
1 IA-00-00-0002-00 Depot Museum, Inc. Conservation Assessment Prog. IA NaN NaN 3/30/2000 P.O. Box 681420 NaN NaN ... -85.694757 1.0 49.0 961000.0 2013.0 91206.0 27616.0 NaN NaN NaN
2 IA-00-00-0003-00 National Voting Rights Museum and Institute Conservation Assessment Prog. IA NaN NaN 3/30/2000 6 Highway 80 East NaN NaN ... -87.017024 1.0 47.0 957200.0 1005.0 92883.0 NaN 42820.0 NaN NaN
3 IA-00-00-0004-00 Bob Jones Museum Conservation Assessment Prog. IA NaN NaN 3/30/2000 P.O. Box 613 NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 IA-00-00-0005-00 Coronado Museum of History and Art Conservation Assessment Prog. IA NaN NaN 3/30/2000 1100 Orange Avenue NaN NaN ... -117.170703 6.0 73.0 10900.0 1021.0 92780.0 16378.0 41740.0 NaN NaN

5 rows × 43 columns


In [234]:
py.__version__


Out[234]:
'2.0.7'

In [238]:
df3=df2[(df2["Longitude"]>-95)&(df2["Latitude"]<24)]
#df2=df2[(((df2["Longitude"]>-95)&(df2["Latitude"]<24))==False)]
df2=df2[((df2["InstState"]=="GU")|(df2["InstState"]=="PW")|(df2["InstState"]=="VI")|(df2["InstState"]=="PR")|(df2["InstState"]=="MP")|(df2["InstState"]=="FM")|(df2["InstState"]=="MH")|(df2["InstState"]=="AS")|(df2["InstState"]==""))==False]

In [247]:
yearly=[] 
state=[]
for year,group in df2.groupby('FiscalYear'):
    print (year)
    df4=group.groupby('InstState')
#     state=df4['InstState'].unique()
    state.append(df4.groups)
    total=df4['AwardTotal'].sum()
    print(total)
    yearly.append(total)
#print(yearly[0])


1996
InstState
AK      95833.0
AL      21315.0
AR     164414.0
AZ     264753.0
CA    1749844.0
CO     552071.0
CT     291004.0
DC     107129.0
DE     387649.0
FL     428138.0
GA     381320.0
HI      34877.0
IA      88955.0
IL     857809.0
IN     234722.0
KS     184225.0
KY     197818.0
LA     174295.0
MA    1858747.0
MD     450698.0
ME     334468.0
MI     705099.0
MN     580732.0
MO     169010.0
MS      10460.0
MT     117775.0
NC     779323.0
ND     101761.0
NE     233085.0
NH     308452.0
NJ     128336.0
NM     119032.0
NV       3950.0
NY    1928777.0
OH     899762.0
OK       6510.0
OR     281356.0
PA    1586867.0
RI      15840.0
SC     506310.0
SD      93618.0
TN     211758.0
TX     306468.0
UT     126072.0
VA     281803.0
VT     177204.0
WA     449297.0
WI     427732.0
WV      10060.0
WY      31315.0
Name: AwardTotal, dtype: float64
1997
InstState
AK     121215.0
AL     243470.0
AR     102324.0
AZ     578131.0
CA    1553503.0
CO     326619.0
CT     733580.0
DC      41175.0
DE      66516.0
FL     755934.0
GA     257027.0
HI     190263.0
IA     200716.0
ID      24480.0
IL    1083416.0
IN     488825.0
KS     136506.0
KY     190844.0
LA     146630.0
MA     818393.0
MD     387797.0
ME     436049.0
MI     602875.0
MN     485995.0
MO     465550.0
MS     151203.0
MT     704270.0
NC     382791.0
ND      31872.0
NE      86232.0
NH     423803.0
NJ      34801.0
NM      93888.0
NV       9330.0
NY    2441179.0
OH     896049.0
OK     121215.0
OR     264637.0
PA    1112695.0
RI     328107.0
SC     117245.0
SD     290257.0
TN      68948.0
TX     629365.0
UT      42453.0
VA     381977.0
VT     274140.0
WA     463772.0
WI     496147.0
WV      41514.0
WY      40853.0
Name: AwardTotal, dtype: float64
1998
InstState
AK     675794.0
AL     120275.0
AR     229021.0
AZ     411147.0
CA    1994152.0
CO     498997.0
CT     191908.0
DC     600221.0
DE     220707.0
FL    1466380.7
GA     399063.0
HI     639942.0
IA     543617.0
ID      13260.0
IL    1268942.0
IN     654464.0
KS     313986.0
KY     182254.0
LA     114137.0
MA    1966356.0
MD     373499.0
ME     289250.0
MI     885172.0
MN     456940.0
MO     704592.0
MS       6775.0
MT     481095.0
NC     977506.0
ND     150784.0
NE     339015.0
NH     280295.0
NJ     136116.0
NM     656686.0
NV     150560.0
NY    3124244.0
OH     539795.0
OK     319501.0
OR     174302.0
PA    2045542.0
RI     422370.0
SC     138202.0
SD     225439.0
TN     133486.0
TX     894864.0
UT     257662.0
VA     854711.0
VT     412469.0
WA     815348.0
WI     741080.0
WV     126178.0
WY       1775.0
Name: AwardTotal, dtype: float64
1999
InstState
AK      694357.0
AL      286712.0
AR      196443.0
AZ     1203359.0
CA     3433451.0
CO     1058635.0
CT     1028871.0
DC      126504.0
DE      450388.0
FL      635251.0
GA      708995.0
HI      468709.0
IA      753727.0
ID      795805.0
IL     2870932.0
IN      535997.0
KS      331583.0
KY      242150.0
LA      423403.0
MA     1624269.0
MD      941793.0
ME      646181.0
MI      638918.0
MN      748965.0
MO      692524.0
MS        6275.0
MT      254103.0
NC     1068704.0
ND      155367.0
NE      220535.0
NH      269986.0
NJ      194597.0
NM      291700.0
NV       35500.0
NY     5487423.0
OH      692545.0
OK      466694.0
OR      387052.0
PA    13102321.0
SC      382603.0
SD      330106.0
TN      261497.0
TX      723222.0
UT       90025.0
VA      445659.0
VT      410865.0
WA      470115.0
WI     1434608.0
WV       38942.0
WY       12970.0
Name: AwardTotal, dtype: float64
2000
InstState
AK    1245889.0
AL     239160.0
AR     116639.0
AZ     822782.0
CA    2491062.0
CO     326748.0
CT     416639.0
DC     381947.0
DE       4745.0
FL    1855240.0
GA     737545.0
HI     612335.0
IA     299228.0
ID      24410.0
IL    2955688.0
IN     495035.0
KS     150697.0
KY     354311.0
LA     382108.0
MA    1621607.0
MD     942673.0
ME     136073.0
MI    1247937.0
MN    1339591.0
MO     408152.0
MS     117665.0
MT     810834.0
NC     745682.0
ND      19775.0
NE     503611.0
NH     127819.0
NJ      32103.0
NM     559463.0
NV     286850.0
NY    3301860.0
OH    1275318.0
OK     380096.0
OR     164660.0
PA    2199473.0
RI     372721.0
SC     451397.0
SD     215674.0
TN     709104.0
TX    1751331.0
UT     326074.0
VA     778870.0
VT     240202.0
WA     359583.0
WI     487166.0
WV      30510.0
WY     112500.0
Name: AwardTotal, dtype: float64
2001
InstState
AK     486990.0
AL     622343.0
AR      86139.0
AZ    1053971.0
CA    1788585.0
CO    1334514.0
CT     159185.0
DC     589887.0
DE     158356.0
FL     794185.0
GA     207168.0
HI     784004.0
IA     333124.0
ID      42053.0
IL    2301983.0
IN     331298.0
KS     239047.0
KY    1093576.0
LA     196647.0
MA    2594900.0
MD     955041.0
ME     593854.0
MI    1189322.0
MN     640612.0
MO     940040.0
MS     220907.0
MT     506610.0
NC     891083.0
ND      31830.0
NE     420308.0
NH     237894.0
NJ     270794.0
NM     506800.0
NV     217485.0
NY    4229819.0
OH     751882.0
OK     794600.0
OR     194432.0
PA    1778846.0
RI       6370.0
SC     127015.0
SD     147555.0
TN     592567.0
TX    1541045.0
UT      68970.0
VA     691782.0
VT     385223.0
WA    1355816.0
WI     840714.0
WV       4745.0
WY      22679.0
Name: AwardTotal, dtype: float64
2002
InstState
AK     940573.0
AL     181015.0
AR     137742.0
AZ     431628.0
CA    4316963.0
CO     778252.0
CT     764679.0
DC     828577.0
DE     208594.0
FL    1920181.0
GA     123615.0
HI     477985.0
IA     508376.0
ID      35579.0
IL    3368439.0
IN     197478.0
KS     518931.0
KY     324512.0
LA     831013.0
MA    1419298.0
MD    1094771.0
ME    1557715.0
MI    1639435.0
MN     683821.0
MO     302206.0
MS     118870.0
MT     550587.0
NC     963998.0
ND     104397.0
NE     543419.0
NH     317183.0
NJ     246921.0
NM     881882.0
NV      54900.0
NY    4244706.0
OH     893431.0
OK     272299.0
OR     544313.0
PA    1114208.0
RI     241760.0
SC     304520.0
SD     437234.0
TN     434147.0
TX     904933.0
UT     317891.0
VA    1316152.0
VT     163320.0
WA     584244.0
WI     745393.0
WV      35034.0
WY      22610.0
Name: AwardTotal, dtype: float64
2003
InstState
AK     715177.0
AL     481052.0
AR      60219.0
AZ    1038521.0
CA    2679706.0
CO     978216.0
CT     701240.0
DC    1193537.0
DE      77935.0
FL    2114745.0
GA     157359.0
HI     538076.0
IA     656233.0
ID      92209.0
IL    5093762.0
IN     179496.0
KS      51212.0
KY     253836.0
LA     377679.0
MA    3452401.0
MD    1098073.0
ME     895029.0
MI    1120055.0
MN     938471.0
MO     501114.0
MS     472587.0
MT     381033.0
NC    1732331.0
ND     108337.0
NE     256586.0
NH     413496.0
NJ    1516792.0
NM     668767.0
NV     549745.0
NY    4997931.0
OH    1360551.0
OK     263412.0
OR     751967.0
PA    3298410.0
RI      23459.0
SC     826880.0
SD      18295.0
TN     663892.0
TX    2798686.0
UT     625093.0
VA     748363.0
VT     123309.0
WA    1388010.0
WI    1059813.0
WV      74267.0
WY     236965.0
Name: AwardTotal, dtype: float64
2004
InstState
AK     530032.0
AL     629036.0
AR     144950.0
AZ     203588.0
CA    3525039.0
CO     958067.0
CT    1474991.0
DC    1395599.0
DE     156025.0
FL    1521274.0
GA     489795.0
HI     487837.0
IA     293800.0
ID      32855.0
IL    3380693.0
IN    2399292.0
KS     457141.0
KY     532784.0
LA     862580.0
MA    3848631.0
MD     352789.0
ME     575696.0
MI    1668467.0
MN    1018322.0
MO    1036214.0
MS      64548.0
MT     706867.0
NC    1711282.0
ND      77329.0
NE     497425.0
NH     288955.0
NJ    1499544.0
NM    1292570.0
NV      49040.0
NY    7556999.0
OH    2054731.0
OK     670719.0
OR     228650.0
PA    2547930.0
RI     184629.0
SC     116430.0
SD     205600.0
TN    1410097.0
TX    4737875.0
UT     404493.0
VA     655214.0
VT     156380.0
WA    1462241.0
WI    1066143.0
WV      32705.0
WY     299047.0
Name: AwardTotal, dtype: float64
2005
InstState
AK    1661978.0
AL      42585.0
AR      14035.0
AZ    2214015.0
CA    5277452.0
CO    1303005.0
CT     958939.0
DC     128260.0
DE      74145.0
FL    2195775.0
GA    1154912.0
HI    1223031.0
IA     123626.0
ID       2325.0
IL    6156005.0
IN    1892428.0
KS      26930.0
KY     174250.0
LA      28360.0
MA    3725472.0
MD    1484264.0
ME     531145.0
MI    2264762.0
MN     974440.0
MO     946118.0
MS      30176.0
MT     699459.0
NC    2563431.0
ND     165181.0
NE     585348.0
NH     185977.0
NJ     747226.0
NM     274483.0
NV     271197.0
NY    7821515.0
OH     992772.0
OK    1270426.0
OR     354156.0
PA    3879330.0
RI     531785.0
SC     228415.0
SD     242620.0
TN    2920500.0
TX    3208932.0
UT     367972.0
VA    1794048.0
VT     227053.0
WA    1180449.0
WI    1894573.0
WV     257196.0
WY      14035.0
Name: AwardTotal, dtype: float64
2006
InstState
AK     743125.0
AL     411295.0
AR      75237.0
AZ    2587775.0
CA    3761462.0
CO    2512645.0
CT     959690.0
DC    3285287.0
DE      74201.0
FL    1640913.0
GA     564577.0
HI     565185.0
IA    1302672.0
ID     120751.0
IL    4440174.0
IN     884197.0
KS    1107654.0
KY     137316.0
LA     705080.0
MA    3083367.0
MD     839446.0
ME     436323.0
MI    1972258.0
MN    1181188.0
MO    1753589.0
MS     104567.0
MT     866372.0
NC    2554228.0
ND      18000.0
NE     528551.0
NH      64364.0
NJ    1183689.0
NM     946888.0
NV     813378.0
NY    5788367.0
OH    1596396.0
OK     414768.0
OR      79900.0
PA    4971038.0
RI      30327.0
SC     978506.0
SD     242105.0
TN     729608.0
TX    1624557.0
UT     723270.0
VA    1521643.0
VT     571790.0
WA     710163.0
WI    1390048.0
WV     233529.0
WY     315679.0
Name: AwardTotal, dtype: float64
2007
InstState
AK    1475286.0
AL     154224.0
AR      18178.0
AZ    1346100.0
CA    5606165.0
CO    1806442.0
CT    1294736.0
DC    4334060.0
DE       8553.0
FL    1903580.0
GA    1737168.0
HI    1218914.0
IA    1354346.0
ID      82379.0
IL    8714815.0
IN    1690560.0
KS       6000.0
KY     168485.0
LA     360997.0
MA    2346070.0
MD     585667.0
ME    1258320.0
MI    2614113.0
MN     775543.0
MO    1757210.0
MS      58691.0
MT     602634.0
NC    1140060.0
ND     896655.0
NE     261224.0
NH     452838.0
NJ    2466336.0
NM     810311.0
NV     243546.0
NY    7286033.0
OH    1258325.0
OK    1165568.0
OR    1598203.0
PA    5133391.0
RI      56634.0
SC     256159.0
SD     334831.0
TN    1066956.0
TX    7635895.0
UT     579901.0
VA    1792080.0
VT     715519.0
WA    2008777.0
WI     374361.0
WY     176212.0
Name: AwardTotal, dtype: float64
2008
InstState
AK     907499.0
AL     194553.0
AZ    1888830.0
CA    6463196.0
CO    2104221.0
CT    1168571.0
DC    1040815.0
DE     303373.0
FL    3006463.0
GA     280210.0
HI     875832.0
IA     489967.0
IL    4025966.0
IN    1596911.0
KS     501739.0
KY     339420.0
LA     987207.0
MA    3856283.0
MD    2832791.0
ME     364238.0
MI    3444602.0
MN    1046508.0
MO     308719.0
MS     243765.0
MT     185603.0
NC    3561825.0
ND     150604.0
NE      61535.0
NH     568076.0
NJ     151700.0
NM     350081.0
NV     268731.5
NY    8149864.0
OH    1595558.0
OK     586350.0
OR     531970.0
PA    3185081.0
RI     369543.0
SC     263285.0
SD      96424.0
TN     957278.0
TX    7153598.0
UT     661325.0
VA    1845456.0
VT     565549.0
WA     643292.0
WI     275033.0
WY     356000.0
Name: AwardTotal, dtype: float64
2009
InstState
AK    1386152.0
AL     110227.0
AR      14013.0
AZ    1524376.0
CA    6549857.0
CO    3382778.0
CT    1214803.0
DC    5083706.0
FL    1163959.0
GA    1948415.0
HI    1932060.0
IA     294309.0
ID     143922.0
IL    2255902.0
IN     720013.0
KS     338677.0
KY    1240631.0
LA    1570076.0
MA    3825605.0
MD    1837368.0
ME     184809.0
MI    1202016.0
MN     541086.0
MO     930689.0
MS     630483.0
MT    1659968.0
NC    2971534.0
ND      51997.0
NE     348424.0
NH      58059.0
NJ     930308.0
NM     737105.0
NV     120933.0
NY    8677799.0
OH    1120422.0
OK    1536614.0
OR     361401.0
PA    2321637.0
RI     102450.0
SC     344078.0
SD     397519.0
TN    2712014.0
TX    2524379.0
UT    1538900.0
VA    1025054.0
VT     962266.0
WA    3188964.0
WI    1731807.0
WV       3000.0
WY     198943.0
Name: AwardTotal, dtype: float64
2010
InstState
AK    1060662.0
AL    1030046.0
AR     329016.0
AZ     920766.0
CA    7883435.0
CO    1098884.0
CT    1828060.0
DC    2328803.0
DE     536407.0
FL    1545250.0
GA     747318.0
HI    1849417.0
IA       2750.0
ID      39500.0
IL    7064397.0
IN     694491.0
KS       9000.0
KY     728818.0
LA     202129.0
MA    2154541.0
MD    1723227.0
ME    1819309.0
MI    4057716.0
MN     783588.0
MO     977240.0
MS     140143.0
MT     301629.0
NC    3280636.0
ND     137749.0
NE     936887.0
NH       5627.0
NJ     419191.0
NM    1062018.0
NV     173424.0
NY    9476440.0
OH    1528036.0
OK    1730534.0
OR     594831.0
PA    3507879.0
RI     652111.0
SC    2019425.0
SD      24000.0
TN    1685032.0
TX    2751334.0
UT     388242.0
VA     761112.0
VT     213847.0
WA    2258733.0
WI    1369880.0
WV      40000.0
WY      79973.0
Name: AwardTotal, dtype: float64
2011
InstState
AK    1076002.0
AL     321027.0
AZ    1399972.0
CA    4382686.0
CO     445961.0
CT    1090963.0
DC    5728761.0
DE     572725.0
FL     987181.0
GA     507549.0
HI     615699.0
IA     521531.0
ID     120053.0
IL    4681093.0
IN    2491909.0
KS     405446.0
KY    1466343.0
LA      78476.0
MA    2358998.0
MD    1877645.0
ME     153742.0
MI    2239460.0
MN    1312058.0
MO    1359115.0
MS      48525.0
MT     729103.0
NC    1787089.0
ND     537956.0
NE     163000.0
NH      86014.0
NJ     371153.0
NM     568227.0
NV     198411.0
NY    7410162.0
OH    1073571.0
OK     412587.0
OR    1794894.0
PA    2671396.0
RI     257874.0
SC     149734.0
SD      49750.0
TN    1272038.0
TX    2997634.0
UT     213708.0
VA    1335803.0
VT     261313.0
WA    2714101.0
WI     508279.0
WY     124847.0
Name: AwardTotal, dtype: float64
2012
InstState
AK    1509007.0
AL     464450.0
AR     245496.0
AZ     301594.0
CA    6925582.0
CO    2072922.0
CT     982889.0
DC    1664487.0
FL    2108613.0
GA     664995.0
HI     860629.0
IA     631699.0
ID     330975.0
IL    4952736.0
IN     340408.0
KS     198480.0
KY     250502.0
LA     490000.0
MA    2815506.0
MD    1411369.0
ME     198499.0
MI     530304.0
MN     862370.0
MO     992469.0
MS     362139.0
MT     742287.0
NC    1221514.0
ND     332014.0
NE     615171.0
NH      84784.0
NJ    1003535.0
NM     383008.0
NV     133994.0
NY    6377470.0
OH    1665429.0
OK    1532531.0
OR     801490.0
PA    3511191.0
RI     324914.0
SC     788350.0
SD      42000.0
TN    1275735.0
TX    2847145.0
UT     102300.0
VA     636882.0
VT     309097.0
WA    1266575.0
WI     897363.0
WY      14000.0
Name: AwardTotal, dtype: float64
2013
InstState
AK     864178.0
AL     190430.0
AR      31464.0
AZ     846379.0
CA    4281612.0
CO     696751.0
CT    1241251.0
DC    2627680.0
DE     557204.0
FL     557531.0
GA     149296.0
HI    1053104.0
IA      95040.0
ID      60793.0
IL    2639753.0
IN     549629.0
KS     787162.0
KY     145092.0
LA      47722.0
MA    2606501.0
MD    2482349.0
ME     766379.0
MI     776715.0
MN     954932.0
MO     667036.0
MT     123965.0
NC    1659021.0
NH     623601.0
NJ     142220.0
NM     437665.0
NV      96650.0
NY    7559582.0
OH    1820436.0
OK     461399.0
OR     448315.0
PA    1607818.0
RI     831025.0
SC    1064924.0
SD     203524.0
TN     978933.0
TX    3221081.0
UT      50000.0
VA    1201472.0
VT     211587.0
WA    2157270.0
WI    1335687.0
WY     149958.0
Name: AwardTotal, dtype: float64

In [ ]:


In [306]:
scl = [[0.0, 'rgb(242,240,247)'],[0.2, 'rgb(218,218,235)'],[0.4, 'rgb(188,189,220)'],[0.6, 'rgb(158,154,200)'],[0.8, 'rgb(117,107,177)'],[1.0, 'rgb(84,39,143)']]

for year,group in df2.groupby('FiscalYear'):
    print (year)
    df4=group.groupby('InstState')
    state=[]
    amount=[]
    for name,group in df4:
        state.append(str(name))
        amount.append(str(group['AwardTotal'].sum()))
#     state=df4['InstState'].unique()
#     state.append(df4.groups)
    location = pd.DataFrame(state,columns = ['state'])
    total= pd.DataFrame(amount,columns = ['amount'])
#     yearly.append(total)
# for i in range(3):
    data = [ dict(
            type='choropleth',
            colorscale = scl,
#             autocolorscale = False,
#         locations=df['InstState'].unique(),

#             locations=state[i],
#             z = yearly[i],
            locations = location['state'],
            z = total['amount'],
#             df4['text'] = 'State: ' + df4.groups+ '<br>Total Amount: '+ z + ' dollar',
            text = 'State: ' + location['state'] + '<br>Total Amount: '+ total['amount'] + ' dollar',
            locationmode = 'USA-states',
            marker = dict(
                line = dict (
                    color = 'rgb(255,255,255)',
                    width = 2
                ) ),
            colorbar = dict(
                title = "Millions USD")
            ) ]
    layout = dict(
            title = str(1996+i)+'US Administrative Discretionary Grants<br>(Hover for breakdown)',
            geo = dict(
                scope='usa',
                projection=dict( type='albers usa' ),
                showlakes = True,
                lakecolor = 'rgb(255, 255, 255)'),
                 )
    fig = dict( data=data, layout=layout )
    py.plotly.iplot( fig)
    break
    #py.iplot(fig)


1996

In [245]:
df.columns

In [ ]: