I would like to split a dataframe into 4 dataframes named q1, q2, q3 and q4 where q1 should contain all rows where a specific column (e.g. age) is among the lowest 25% of the (age) distribution, q2 from 25% to 50%, q3 from 50% to 75% and q4 from 75% to 100%. Or in other words: I would like to create 4 equally sized groups of persons based on their age.
How can I do this in a pythonic way (currently I am using loops but that's possibly not a great solution)?