Skip to content

Instantly share code, notes, and snippets.

@andersonfrailey
Created February 3, 2018 02:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andersonfrailey/285ca68b7e7f54dcc4f4c15c22fc777f to your computer and use it in GitHub Desktop.
Save andersonfrailey/285ca68b7e7f54dcc4f4c15c22fc777f to your computer and use it in GitHub Desktop.
# list to hold plot objects
plot_list = []
# loop through each year, creating a plot
for year in range(2018, 2028):
# advance calculators a year
calc.advance_to_year(year)
calc.calc_all()
calc_base.advance_to_year(year)
calc_base.calc_all()
# pull the data needed for the graph
base_data = calc_base.dataframe(['s006', 'c00100', 'combined'])
ref_data = calc.dataframe(['s006', 'c00100', 'combined'])
raw_data = pd.DataFrame({'s006': base_data['s006'],
'c00100': base_data['c00100'],
'change': (ref_data['combined'] - base_data['combined'])})
# find the percentages falling in each category for each income group
cds_all = find_perc(raw_data, 'All Taxpayers')
cds1 = find_perc(raw_data[raw_data.c00100 < 10000], 'Less than $10K')
cds2 = find_perc(raw_data[(raw_data.c00100 >= 10000) & (raw_data.c00100 < 20000)], '$10K to $20K')
cds3 = find_perc(raw_data[(raw_data.c00100 >= 20000) & (raw_data.c00100 < 30000)], '$20K to $30K')
cds4 = find_perc(raw_data[(raw_data.c00100 >= 30000) & (raw_data.c00100 < 40000)], '$30K to $40K')
cds5 = find_perc(raw_data[(raw_data.c00100 >= 40000) & (raw_data.c00100 < 50000)], '$40K to $50K')
cds6 = find_perc(raw_data[(raw_data.c00100 >= 50000) & (raw_data.c00100 < 75000)], '$50K to $75K')
cds7 = find_perc(raw_data[(raw_data.c00100 >= 75000) & (raw_data.c00100 < 100000)], '$75K to $100K')
cds8 = find_perc(raw_data[(raw_data.c00100 >= 100000) & (raw_data.c00100 < 200000)], '$100K to $200K')
cds9 = find_perc(raw_data[(raw_data.c00100 >= 200000) & (raw_data.c00100 < 500000)], '$200K to $500K')
cds10 = find_perc(raw_data[(raw_data.c00100 >= 500000) & (raw_data.c00100 < 1000000)], '$500K to $1M')
cds11 = find_perc(raw_data[(raw_data.c00100 >= 1000000)], '$1M or More')
# create a plot using all of the data collected
cds_list = [cds_all, cds11, cds10, cds9, cds8, cds7, cds6, cds5, cds4, cds3, cds2, cds1]
new_plot = plot(cds_list, year)
plot_list.append(new_plot)
show(column(plot_list))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment