You could make a game (either text-based, in a browser, or a desktop game). It's not fast enough for cutting edge graphics, but its great for developing the game quickly.
You could use it as the server-side of a website (e.g. Django). Combine with SQL and you could a simple or a complex website.
You could indeed do machine learning and data science like you said. If you don't have ideas, just try one of the practise competitions on Kaggle.
It's a pretty convenient language for solving puzzles, such as Euler or Hackerrank.
It's a general purpose langauge, you could do many things. Python's strengths are fast development, readability, data analysis, science, websites (server-side), management scripts, puzzles, and gluing stuff together.
It's less great at large enterprise software, low-level stuff like databases, or things where the whole code needs to be performant. And there's not much support for mobile apps.
PyCharm is a great IDE for Python.
I always have the opposite problem (too many ideas) so I don't know if it helps, hope it does!