def jez(df):
    df1 = df.Price.groupby([df['State'], df['# of Boxes'], pd.cut(df[
        'Price'], bins=[0, 15, 30])]).size().unstack(fill_value=0)
return df1.div(df1.sum(1), axis=0)

def maxu(df):
    pass
Getting percentages after binning pandas dataframe