Sanitize column names
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Is there an open issue you can link this to?

EDIT: just noticed you opened #31417. Could you put that in the "closes #xxxx" part? https://github.com/pandas-dev/pandas/issues/31417 so, should I make it df.columns.str.sanitize_column_names() ??? not averse to a very welll defined convenience function that is composed of other accessors; .sanitize() might be ok where are the source files for ``df.columns.str.*`` ??
so that maybe I can change the method from df.sanitize_column_names() to df.columns.str.sanitize() as "jreback" suggested.

If anyone has any suggestions or changes to the above said plan, feel free to comment

EDIT:
but if it is a .str method, then you can use it on not just columns but on everything (like Series) which is not the idea.