The fake data that I've bothered to model are weighted age ranges. Fortunately, as of Python3.6, you can access it from random.choices [2] in the stdlib
[1] https://github.com/joke2k/faker
[2] https://docs.python.org/3/library/random.html#random.choices
example: https://gist.github.com/Dowwie/8409d871ddae913e44c61bc4d47ce...