Calculate this percentage grouping by state and religious affiliation:
>>> college.groupby(['STABBR', 'RELAFFIL'])['UGDS'] .agg(pct_between_1_3k).head(9) STABBR RELAFFIL
AK 0 0.142857
1 0.000000
AL 0 0.236111
1 0.333333
AR 0 0.279412
1 0.111111
AS 0 1.000000
AZ 0 0.096774
1 0.000000
Name: UGDS, dtype: float64
This function works fine but it doesn't give the user any flexibility to choose the lower and upper bound. Let's create a new function that allows the user to define these bounds: