While I like Python for its seeming simplicity it lacks some nice architectural paradigms that Java has employed for years - think Inversion of control, or data access frameworks hibernate or ibatis.
Python is in a somewhat of an infancy stage to support that type of enterprise-level architectural paradigms.
For OP, if you want to get into machine learning domain then Python is definitely the language of choice.