Skip to content

Instantly share code, notes, and snippets.

@enzondio
Created November 10, 2012 22:48
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enzondio/4052828 to your computer and use it in GitHub Desktop.
Save enzondio/4052828 to your computer and use it in GitHub Desktop.
IPython Notebook: Playing with Wolfram Alpha
{
"metadata": {
"name": "Wolfram Alpha Playground"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import urllib2\n",
"import xmltodict\n",
"from string import split\n",
"from secrets import wolfram_key\n",
"\n",
"states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington State', 'West Virginia', 'Wisconsin', 'Wyoming', 'Washington DC']\n",
"def query(q, key=wolfram_key):\n",
" return urllib2.urlopen('http://api.wolframalpha.com/v2/query?appid=%s&input=%s&format=plaintext' % (key,urllib2.quote(q))).read()\n",
"\n",
"def state_query(group_name, states=states):\n",
" results = {s: xmltodict.parse(query('number of %s in %s?' % (group_name, s))) for s in states}\n",
" results = {s: [p for p in v['queryresult']['pod'] if p['@title'] == 'Result'][0]['subpod']['plaintext'] for s,v in results.items()}\n",
" results = {s: float(split(v)[0])*(1000000 if 'million' in v else 1) for s,v in results.items()}\n",
" return results\n",
" \n",
"\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"adults = state_query('adults')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for group in ['phds', 'college graduates']:\n",
" group_data = state_query(group)\n",
" print '-'*100\n",
" print group\n",
" print '\\n'.join('#%d: %s: %2.2f%%' % (i+1,r[0],r[1]) for i,r in enumerate(sorted({s: (group_data[s]/adults[s])*100 for s in states}.items(), key = lambda x: x[1], reverse=True)))\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"----------------------------------------------------------------------------------------------------\n",
"phds\n",
"#1: Washington DC: 3.68%\n",
"#2: Maryland: 2.32%\n",
"#3: Massachusetts: 2.30%\n",
"#4: New Mexico: 1.75%\n",
"#5: Vermont: 1.66%\n",
"#6: Connecticut: 1.60%\n",
"#7: Delaware: 1.56%\n",
"#8: Virginia: 1.54%\n",
"#9: California: 1.42%\n",
"#10: New Jersey: 1.41%\n",
"#11: Rhode Island: 1.39%\n",
"#12: Colorado: 1.37%\n",
"#13: Oregon: 1.35%\n",
"#14: Washington State: 1.34%\n",
"#15: Pennsylvania: 1.31%\n",
"#16: New York: 1.30%\n",
"#17: Hawaii: 1.25%\n",
"#18: New Hampshire: 1.24%\n",
"#19: Arizona: 1.18%\n",
"#20: Utah: 1.17%\n",
"#21: Minnesota: 1.16%\n",
"#22: Montana: 1.14%\n",
"#23: North Carolina: 1.13%\n",
"#24: Illinois: 1.13%\n",
"#25: Nebraska: 1.12%\n",
"#26: Maine: 1.12%\n",
"#27: Florida: 1.10%\n",
"#28: Alaska: 1.10%\n",
"#29: Kansas: 1.08%\n",
"#30: Tennessee: 1.05%\n",
"#31: Missouri: 1.05%\n",
"#32: Georgia: 1.04%\n",
"#33: Idaho: 1.02%\n",
"#34: Wyoming: 1.02%\n",
"#35: Iowa: 1.02%\n",
"#36: Wisconsin: 0.99%\n",
"#37: Michigan: 0.98%\n",
"#38: South Dakota: 0.97%\n",
"#39: Ohio: 0.97%\n",
"#40: Texas: 0.94%\n",
"#41: South Carolina: 0.93%\n",
"#42: Alabama: 0.92%\n",
"#43: Indiana: 0.91%\n",
"#44: North Dakota: 0.87%\n",
"#45: Mississippi: 0.82%\n",
"#46: Oklahoma: 0.81%\n",
"#47: Louisiana: 0.81%\n",
"#48: Kentucky: 0.80%\n",
"#49: Nevada: 0.78%\n",
"#50: Arkansas: 0.77%\n",
"#51: West Virginia: 0.77%\n",
"----------------------------------------------------------------------------------------------------"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"college graduates\n",
"#1: Washington DC: 50.47%\n",
"#2: Massachusetts: 48.28%\n",
"#3: Connecticut: 45.71%\n",
"#4: New Hampshire: 44.77%\n",
"#5: Colorado: 44.07%\n",
"#6: Vermont: 43.98%\n",
"#7: New Jersey: 43.76%\n",
"#8: Maryland: 43.53%\n",
"#9: Minnesota: 42.94%\n",
"#10: Hawaii: 41.90%\n",
"#11: Washington State: 41.71%\n",
"#12: Virginia: 41.58%\n",
"#13: New York: 40.38%\n",
"#14: Rhode Island: 39.72%\n",
"#15: North Dakota: 39.42%\n",
"#16: Maine: 39.06%\n",
"#17: Illinois: 39.05%\n",
"#18: Oregon: 39.04%\n",
"#19: Florida: 38.78%\n",
"#20: Nebraska: 38.50%\n",
"#21: Montana: 38.27%\n",
"#22: Kansas: 38.26%\n",
"#23: California: 38.13%\n",
"#24: Delaware: 37.30%\n",
"#25: South Dakota: 37.15%\n",
"#26: Iowa: 36.75%\n",
"#27: Wisconsin: 36.73%\n",
"#28: Pennsylvania: 36.66%\n",
"#29: Utah: 36.56%\n",
"#30: Arizona: 36.26%\n",
"#31: North Carolina: 35.96%\n",
"#32: Michigan: 34.98%\n",
"#33: Wyoming: 34.34%\n",
"#34: New Mexico: 34.09%\n",
"#35: Georgia: 33.89%\n",
"#36: South Carolina: 33.78%\n",
"#37: Idaho: 33.74%\n",
"#38: Ohio: 33.65%\n",
"#39: Missouri: 33.54%\n",
"#40: Alaska: 33.04%\n",
"#41: Texas: 31.96%\n",
"#42: Indiana: 31.04%\n",
"#43: Oklahoma: 30.72%\n",
"#44: Tennessee: 30.29%\n",
"#45: Alabama: 30.18%\n",
"#46: Nevada: 30.18%\n",
"#47: Kentucky: 28.44%\n",
"#48: Mississippi: 27.99%\n",
"#49: Arkansas: 26.74%\n",
"#50: Louisiana: 26.32%\n",
"#51: West Virginia: 25.49%\n"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": true,
"input": [],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"----------------------------------------------------------------------------------------------------\n",
"college graduates\n",
"#1: Georgia: 48.46%\n",
"#2: Washington: 34.74%\n",
"#3: Massachusetts: 30.56%\n",
"#4: New Hampshire: 28.79%\n",
"#5: Connecticut: 28.43%\n",
"#6: Vermont: 28.40%\n",
"#7: Maryland: 27.32%\n",
"#8: Colorado: 27.30%\n",
"#9: New Jersey: 27.21%\n",
"#10: Minnesota: 26.53%\n",
"#11: New York: 26.30%\n",
"#12: Virginia: 26.05%\n",
"#13: Hawaii: 25.79%\n",
"#14: Rhode Island: 25.56%\n",
"#15: Maine: 24.80%\n",
"#16: Illinois: 24.34%\n",
"#17: Oregon: 24.11%\n",
"#18: North Dakota: 23.99%\n",
"#19: California: 23.52%\n",
"#20: Montana: 23.42%\n",
"#21: Florida: 23.11%\n",
"#22: Nebraska: 23.08%\n",
"#23: Kansas: 23.00%\n",
"#24: Wisconsin: 22.76%\n",
"#25: Delaware: 22.74%\n",
"#26: Pennsylvania: 22.63%\n",
"#27: Iowa: 22.15%\n",
"#28: Michigan: 22.01%\n",
"#29: South Dakota: 21.91%\n",
"#30: North Carolina: 21.84%\n",
"#31: Arizona: 21.26%\n",
"#32: Wyoming: 21.04%\n",
"#33: Ohio: 20.88%\n",
"#34: Alaska: 20.84%\n",
"#35: Utah: 20.61%\n",
"#36: South Carolina: 20.55%\n",
"#37: Missouri: 20.55%\n",
"#38: New Mexico: 20.34%\n",
"#39: Idaho: 19.68%\n",
"#40: Indiana: 19.03%\n",
"#41: Texas: 18.89%\n",
"#42: Tennessee: 18.60%\n",
"#43: Nevada: 18.54%\n",
"#44: Alabama: 18.50%\n",
"#45: Oklahoma: 18.40%\n",
"#46: Kentucky: 17.61%\n",
"#47: Mississippi: 17.05%\n",
"#48: Louisiana: 16.04%\n",
"#49: Arkansas: 16.02%\n",
"#50: West Virginia: 15.94%\n",
"----------------------------------------------------------------------------------------------------\n",
"latinos\n",
"#1: New Mexico: 43.90%\n",
"#2: California: 35.71%\n",
"#3: Texas: 34.74%\n",
"#4: Arizona: 28.00%\n",
"#5: New York: 27.90%\n",
"#6: Nevada: 24.75%\n",
"#7: Florida: 20.96%\n",
"#8: Colorado: 19.22%\n",
"#9: Georgia: 18.60%\n",
"#10: New Jersey: 16.64%\n",
"#11: Illinois: 15.07%\n",
"#12: Connecticut: 12.49%\n",
"#13: Rhode Island: 11.84%\n",
"#14: Utah: 11.60%\n",
"#15: Oregon: 10.85%\n",
"#16: Idaho: 10.18%\n",
"#17: Kansas: 9.62%\n",
"#18: Massachusetts: 8.88%\n",
"#19: Washington: 8.53%\n",
"#20: Hawaii: 8.40%\n",
"#21: Nebraska: 8.25%\n",
"#22: Wyoming: 8.06%\n",
"#23: Oklahoma: 7.97%\n",
"#24: North Carolina: 7.49%\n",
"#25: Maryland: 7.38%\n",
"#26: Delaware: 7.38%\n",
"#27: Virginia: 7.10%\n",
"#28: Arkansas: 5.73%\n",
"#29: Indiana: 5.55%\n",
"#30: Wisconsin: 5.44%\n",
"#31: Alaska: 5.31%\n",
"#32: Pennsylvania: 5.15%\n",
"#33: Iowa: 4.47%\n",
"#34: South Carolina: 4.46%\n",
"#35: Minnesota: 4.37%\n",
"#36: Michigan: 4.29%\n",
"#37: Tennessee: 4.08%\n",
"#38: Louisiana: 3.78%\n",
"#39: Alabama: 3.38%\n",
"#40: Missouri: 3.31%\n",
"#41: Ohio: 2.89%\n",
"#42: Montana: 2.73%\n",
"#43: Kentucky: 2.69%\n",
"#44: New Hampshire: 2.68%\n",
"#45: South Dakota: 2.48%\n",
"#46: Mississippi: 2.34%\n",
"#47: North Dakota: 1.88%\n",
"#48: Vermont: 1.46%\n",
"#49: Maine: 1.28%\n",
"#50: West Virginia: 1.13%\n",
"----------------------------------------------------------------------------------------------------\n",
"adults\n",
"#1: Georgia: 143.01%\n",
"#2: Washington: 68.84%\n",
"#3: New York: 65.13%\n",
"#4: Vermont: 64.58%\n",
"#5: Rhode Island: 64.34%\n",
"#6: New Hampshire: 64.31%\n",
"#7: Maine: 63.48%\n",
"#8: Massachusetts: 63.28%\n",
"#9: Alaska: 63.08%\n",
"#10: Michigan: 62.93%\n",
"#11: Maryland: 62.75%\n",
"#12: Virginia: 62.64%\n",
"#13: West Virginia: 62.53%\n",
"#14: Illinois: 62.35%\n",
"#15: Connecticut: 62.19%\n",
"#16: New Jersey: 62.17%\n",
"#17: Ohio: 62.05%\n",
"#18: Wisconsin: 61.96%\n",
"#19: Colorado: 61.95%\n",
"#20: Kentucky: 61.94%\n",
"#21: Minnesota: 61.78%\n",
"#22: Oregon: 61.75%\n",
"#23: Pennsylvania: 61.73%\n",
"#24: California: 61.69%\n",
"#25: Hawaii: 61.56%\n",
"#26: Nevada: 61.44%\n",
"#27: Tennessee: 61.41%\n",
"#28: Alabama: 61.32%\n",
"#29: Indiana: 61.30%\n",
"#30: Wyoming: 61.26%\n",
"#31: Missouri: 61.25%\n",
"#32: Montana: 61.19%\n",
"#33: Delaware: 60.97%\n",
"#34: Louisiana: 60.94%\n",
"#35: Mississippi: 60.93%\n",
"#36: South Carolina: 60.85%\n",
"#37: North Dakota: 60.84%\n",
"#38: North Carolina: 60.74%\n",
"#39: Iowa: 60.29%\n",
"#40: Kansas: 60.12%\n",
"#41: Nebraska: 59.96%\n",
"#42: Arkansas: 59.94%\n",
"#43: Oklahoma: 59.89%\n",
"#44: New Mexico: 59.65%\n",
"#45: Florida: 59.60%\n",
"#46: Texas: 59.10%\n",
"#47: South Dakota: 58.98%\n",
"#48: Arizona: 58.61%\n",
"#49: Idaho: 58.33%\n",
"#50: Utah: 56.37%\n",
"----------------------------------------------------------------------------------------------------\n",
"whites\n",
"#1: Georgia: 137.16%\n",
"#2: Maine: 95.56%\n",
"#3: Vermont: 95.29%\n",
"#4: New Hampshire: 94.23%\n",
"#5: West Virginia: 93.53%\n",
"#6: Iowa: 90.56%\n",
"#7: Idaho: 88.77%\n",
"#8: Wyoming: 87.71%\n",
"#9: Montana: 87.61%\n",
"#10: North Dakota: 87.35%\n",
"#11: Kentucky: 86.82%\n",
"#12: Nebraska: 86.16%\n",
"#13: Wisconsin: 86.05%\n",
"#14: Minnesota: 84.94%\n",
"#15: Utah: 84.35%\n",
"#16: South Dakota: 84.01%\n",
"#17: Indiana: 83.80%\n",
"#18: Kansas: 83.32%\n",
"#19: Ohio: 83.18%\n",
"#20: Oregon: 83.16%\n",
"#21: Rhode Island: 82.46%\n",
"#22: Missouri: 82.15%\n",
"#23: Pennsylvania: 82.10%\n",
"#24: Massachusetts: 80.28%\n",
"#25: Michigan: 79.94%\n",
"#26: Colorado: 79.79%\n",
"#27: Connecticut: 78.08%\n",
"#28: Arkansas: 76.72%\n",
"#29: Tennessee: 76.70%\n",
"#30: Arizona: 75.34%\n",
"#31: Florida: 74.08%\n",
"#32: Oklahoma: 71.73%\n",
"#33: Nevada: 71.17%\n",
"#34: Illinois: 70.99%\n",
"#35: Delaware: 69.06%\n",
"#36: New Mexico: 68.88%\n",
"#37: New Jersey: 68.86%\n",
"#38: Alabama: 68.58%\n",
"#39: Texas: 68.17%\n",
"#40: Virginia: 67.68%\n",
"#41: North Carolina: 66.84%\n",
"#42: South Carolina: 64.84%\n",
"#43: Alaska: 64.22%\n",
"#44: Louisiana: 61.62%\n",
"#45: California: 59.41%\n",
"#46: Mississippi: 59.15%\n",
"#47: Maryland: 58.27%\n",
"#48: New York: 43.66%\n",
"#49: Washington: 36.96%\n",
"#50: Hawaii: 24.28%\n",
"----------------------------------------------------------------------------------------------------\n",
"phds\n",
"#1: Washington: 2.53%\n",
"#2: Georgia: 1.48%\n",
"#3: Maryland: 1.46%\n",
"#4: Massachusetts: 1.46%\n",
"#5: Vermont: 1.08%\n",
"#6: New Mexico: 1.05%\n",
"#7: Connecticut: 0.99%\n",
"#8: Virginia: 0.97%\n",
"#9: Delaware: 0.95%\n",
"#10: Rhode Island: 0.90%\n",
"#11: California: 0.88%\n",
"#12: New Jersey: 0.88%\n",
"#13: New York: 0.85%\n",
"#14: Colorado: 0.85%\n",
"#15: Oregon: 0.83%\n",
"#16: Pennsylvania: 0.81%\n",
"#17: New Hampshire: 0.80%\n",
"#18: Hawaii: 0.77%\n",
"#19: Minnesota: 0.72%\n",
"#20: Maine: 0.71%\n",
"#21: Illinois: 0.71%\n",
"#22: Montana: 0.70%\n",
"#23: Alaska: 0.69%\n",
"#24: Arizona: 0.69%\n",
"#25: North Carolina: 0.69%\n",
"#26: Nebraska: 0.67%\n",
"#27: Utah: 0.66%\n",
"#28: Florida: 0.66%\n",
"#29: Kansas: 0.65%\n",
"#30: Tennessee: 0.64%\n",
"#31: Missouri: 0.64%\n",
"#32: Wyoming: 0.62%\n",
"#33: Michigan: 0.62%\n",
"#34: Wisconsin: 0.62%\n",
"#35: Iowa: 0.61%\n",
"#36: Ohio: 0.60%\n",
"#37: Idaho: 0.59%\n",
"#38: South Dakota: 0.57%\n",
"#39: South Carolina: 0.57%\n",
"#40: Alabama: 0.56%\n",
"#41: Indiana: 0.56%\n",
"#42: Texas: 0.56%\n",
"#43: North Dakota: 0.53%\n",
"#44: Mississippi: 0.50%\n",
"#45: Kentucky: 0.50%\n",
"#46: Louisiana: 0.50%\n",
"#47: Oklahoma: 0.49%\n",
"#48: West Virginia: 0.48%\n",
"#49: Nevada: 0.48%\n",
"#50: Arkansas: 0.46%\n",
"----------------------------------------------------------------------------------------------------\n",
"african americans\n",
"#1: Georgia: 68.08%\n",
"#2: Washington: 51.36%\n",
"#3: Mississippi: 36.52%\n",
"#4: Louisiana: 30.73%\n",
"#5: Maryland: 28.57%\n",
"#6: South Carolina: 27.12%\n",
"#7: Alabama: 25.65%\n",
"#8: New York: 24.87%\n",
"#9: North Carolina: 20.52%\n",
"#10: Delaware: 20.42%\n",
"#11: Virginia: 18.92%\n",
"#12: Tennessee: 16.20%\n",
"#13: Florida: 15.22%\n",
"#14: Arkansas: 15.15%\n",
"#15: Illinois: 14.45%\n",
"#16: Michigan: 14.20%\n",
"#17: New Jersey: 13.33%\n",
"#18: Ohio: 12.05%\n",
"#19: Missouri: 11.30%\n",
"#20: Texas: 11.16%\n",
"#21: Pennsylvania: 10.57%\n",
"#22: Connecticut: 9.57%\n",
"#23: Indiana: 8.78%\n",
"#24: Nevada: 7.62%\n",
"#25: Kentucky: 7.57%\n",
"#26: Oklahoma: 7.05%\n",
"#27: Massachusetts: 6.41%\n",
"#28: Wisconsin: 6.10%\n",
"#29: California: 5.96%\n",
"#30: Rhode Island: 5.91%\n",
"#31: Kansas: 5.63%\n",
"#32: Minnesota: 4.81%\n",
"#33: Nebraska: 4.23%\n",
"#34: Colorado: 3.72%\n",
"#35: Arizona: 3.71%\n",
"#36: West Virginia: 3.18%\n",
"#37: Alaska: 3.13%\n",
"#38: Iowa: 2.70%\n",
"#39: New Mexico: 1.92%\n",
"#40: Oregon: 1.72%\n",
"#41: Hawaii: 1.54%\n",
"#42: South Dakota: 1.08%\n",
"#43: New Hampshire: 1.08%\n",
"#44: Maine: 1.05%\n",
"#45: North Dakota: 1.03%\n",
"#46: Utah: 0.96%\n",
"#47: Vermont: 0.88%\n",
"#48: Wyoming: 0.73%\n",
"#49: Idaho: 0.55%\n",
"#50: Montana: 0.43%\n",
"----------------------------------------------------------------------------------------------------\n",
"asians\n",
"#1: Hawaii: 38.24%\n",
"#2: California: 12.59%\n",
"#3: New York: 12.48%\n",
"#4: New Jersey: 7.91%\n",
"#5: Georgia: 7.04%\n",
"#6: Nevada: 6.76%\n",
"#7: Maryland: 5.23%\n",
"#8: Virginia: 5.14%\n",
"#9: Massachusetts: 5.10%\n",
"#10: Alaska: 4.98%\n",
"#11: Illinois: 4.44%\n",
"#12: Minnesota: 3.82%\n",
"#13: Connecticut: 3.63%\n",
"#14: Texas: 3.52%\n",
"#15: Oregon: 3.50%\n",
"#16: Washington: 3.38%\n",
"#17: Delaware: 3.08%\n",
"#18: Rhode Island: 2.95%\n",
"#19: Pennsylvania: 2.61%\n",
"#20: Colorado: 2.60%\n",
"#21: Arizona: 2.57%\n",
"#22: Michigan: 2.46%\n",
"#23: Florida: 2.33%\n",
"#24: Kansas: 2.30%\n",
"#25: Wisconsin: 2.14%\n",
"#26: New Hampshire: 2.11%\n",
"#27: North Carolina: 2.02%\n",
"#28: Utah: 1.88%\n",
"#29: Iowa: 1.64%\n",
"#30: Oklahoma: 1.62%\n",
"#31: Ohio: 1.62%\n",
"#32: Nebraska: 1.61%\n",
"#33: Missouri: 1.53%\n",
"#34: Indiana: 1.48%\n",
"#35: Louisiana: 1.47%\n",
"#36: Tennessee: 1.36%\n",
"#37: New Mexico: 1.32%\n",
"#38: Vermont: 1.18%\n",
"#39: South Carolina: 1.16%\n",
"#40: Arkansas: 1.13%\n",
"#41: Idaho: 1.13%\n",
"#42: Alabama: 1.07%\n",
"#43: Kentucky: 1.04%\n",
"#44: Maine: 1.01%\n",
"#45: North Dakota: 0.90%\n",
"#46: South Dakota: 0.86%\n",
"#47: Mississippi: 0.83%\n",
"#48: Wyoming: 0.73%\n",
"#49: West Virginia: 0.62%\n",
"#50: Montana: 0.61%\n"
]
}
],
"prompt_number": 26
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment