In [ ]:
% matplotlib inline
import pandas
from django_pandas.io import read_frame
from lowfat import models
In [ ]:
all_expenses = read_frame(
models.Expense.objects.filter(
grant_heading="F"
),
fieldnames=["fund__claimant", "amount_claimed"]
)
all_expenses.head()
In [ ]:
expenses_per_fellow = all_expenses.groupby(["fund__claimant"]).sum().astype(float).sort_values(by=['amount_claimed'])
expenses_per_fellow.head()
In [ ]:
expenses_mean = float(expenses_per_fellow.mean())
plt = expenses_per_fellow.plot( # Draw plot of expenses per fellow
kind="bar"
)
plt.axhline( # Draw read line with mean
expenses_mean,
color='r'
)
In [ ]:
all_expenses = read_frame(
models.Expense.objects.filter(
grant_heading="F"
),
fieldnames=["fund__claimant__application_year", "fund__claimant", "amount_claimed"]
)
expenses_per_year = all_expenses.groupby(["fund__claimant__application_year", "fund__claimant"]).sum().astype(float)
expenses_per_year.head()
In [ ]:
expenses_per_year = all_expenses.groupby(["fund__claimant__application_year"])
for year, year_group in expenses_per_year:
df = year_group[["fund__claimant", "amount_claimed"]].groupby(["fund__claimant"]).sum().astype(float).sort_values(by=['amount_claimed'])
expenses_mean = float(df.mean())
plt = df.plot( # Draw plot of expenses per fellow
kind="bar"
)
plt.axhline( # Draw read line with mean
expenses_mean,
color='r'
)