If you are flexible with your choice in software, I would strongly recommend using Bob Herrmann's Computer Programs in Seismology for this work. http://www.eas.slu.edu/eqc/eqccps.html. This software package has nice workflows for doing ambient noise tomography and will save you a lot of time over python. For example, you can relatively quickly do group/phase velocity dispersion curve picks. It is also fairly easy to QC your data. Look at the documentation for 'Surface Wave Dispersion - Receiver Function Inversion' on http://www.eas.slu.edu/eqc/eqc_cps/CPS/CPS330.html for more details.
If you must use python, I would suggest writing your own Time-Frequency code as obspy's implementation is not very thoroughly documented, and you still need to get from Obspy's representation to dispersion curves. This will take some time, especially if you want a nice GUI for picking. This is why I recommenced the aforementioned software.