How about using Series
and putting the parts of the DataFrame
that you're interested into that, then calling cut
on the series object?
price_series = pd.Series(df.price.tolist(), index=df.recd)
and then
pd.qcut(price_series, q=3)
and so on. (Though I think @Jeff's answer is best)