Pandas (Python data analysis tookit) version 0.8.0 released
pandas.pydata.org
pandas.pydata.org
I own and operate a quantitative finance business. Pandas (+ numpy) has been a godsend. Not only do I not have to pay for matlab licenses, but even the less experience programmers on my team have been insanely productive.
Thank you.
In my opinion, matlab's excellent object inspection and debugging capabilities can be replaced with strict testing standards in your code-base.
On top of that, I get to use a whole slew of libraries that are non mathematically related -- frameworks for web services, accessing ftp servers, sending e-mails -- a lot of automated "utility" stuff.
And it is all "free". Fantastic.
but the main one for me, was that python does non-math things much better than matlab. Since python is a general purpose language you can go from analysis to production application much faster, whereas with matlab it usually involved getting a software developer to rewrite it in java.
We used to take our python analysis code, wrap it up in a web app, and then use that to server risk information to traders, and it was quite easy to do so.
This may not be the place for this, but...
I just built pandas 0.8.0 and it would not build with MinGW 0.5. The problem is -mno-cygwin is no longer recognized by MinGW's gcc. My solution was to edit distutils/cygwincompiler.py and remove references to -mno-cygwin. THIS IS NOT PANDAS'S FAULT! I just thought I'd point it out in case other people run into the same problem.
Anyone reading this who wants to get started with Pandas: The early release of "Python for Data Analysis" (http://shop.oreilly.com/product/0636920023784.do) is already very helpful.
Thanks Wes and everyone else who pitched in!
E.g. ggplot2 still seems to be quite a bit better than matplotlib. Also for the random data examination/sketching I absolutely love rstudio due to it's integrated help/plotting/file browsing.
Maybe I would describe it as combing a spreadsheet with SQL data transformation capabilities - but better.
It requires numpy because it uses ndarray as it's underlying data structure and you can also use many/most? of the numpy data analysis functions.