def index(): if request.method == 'GET': return render_template('jobs_vs_prices.html') else: #request was a POST jobs_app.vars['profession_key'] = request.form['profession_key'] jobs = load_jobs(jobs_app.vars['profession_key']) prices = get_average_prices_data() scores = get_state_scores(jobs, prices) title = jobs_app.vars['profession_key'].replace('-',' ') title = 'Available ' + title.title() + ' jobs (scaled by average house price)' script, div = choropleth_usa(scores, title) print script return render_template('jobs_vs_prices_graph.html', script=script, div=div)
profession_keys = ['data-science', 'financial-services', 'information-technology', 'mobile-app'] jobs = None for pk in profession_keys: if jobs is None: jobs = load_jobs(pk) else: new_jobs = load_jobs(pk) jobs = pd.concat((jobs, new_jobs), ignore_index=True) jobs_per_state = jobs.groupby(['state'])['id'].count().to_dict() prices = get_average_prices_data() # Add state abbreviations to prices dataframe fips = get_fips_data() prices = pd.merge(prices, fips.groupby(['state_long','state']).count().reset_index()[['state_long','state']], how='left', on=['state_long']) for p in range(12): max_price = 150000. + float(p)*50000 prices_per_state = prices.loc[prices['average_price'] < max_price, ['state','average_price']].set_index('state').to_dict()['average_price'] if len(prices_per_state) > 0: counts = [] for state in prices_per_state: try: counts.append(float(jobs_per_state[state])) except KeyError:
'data-science', 'financial-services', 'information-technology', 'mobile-app' ] jobs = None for pk in profession_keys: if jobs is None: jobs = load_jobs(pk) else: new_jobs = load_jobs(pk) jobs = pd.concat((jobs, new_jobs), ignore_index=True) jobs_per_state = jobs.groupby(['state'])['id'].count().to_dict() prices = get_average_prices_data() # Add state abbreviations to prices dataframe fips = get_fips_data() prices = pd.merge( prices, fips.groupby(['state_long', 'state']).count().reset_index()[['state_long', 'state']], how='left', on=['state_long']) for p in range(12): max_price = 150000. + float(p) * 50000 prices_per_state = prices.loc[prices['average_price'] < max_price, ['state', 'average_price']].set_index( 'state').to_dict()['average_price']