Python data tools just keep getting better
strata.oreilly.com
strata.oreilly.com
I feel like eventually I should become as fluent with SciPy/Scikit-learn/pandas as I am with R, but learning Theano well is much higher on my list.
Pylearn2 is a set of deep learning algorithms implemented with theano. The LISA (deep learning) group at the University of Montreal (same group that created theano) maintains this library and puts a lot of the code they use for their papers in pylearn2. pylearn2 thus makes it quite easy to use a lot of state of the art algorithms, such as maxout.
But that's the point though. A lot of data analysis is just munging numbers / getting things in shape so you can actually do the analysis, and so being able to do that in a general purpose language is a breath of fresh air.
But I would never attempt to build a production system in R.So if you want to go from research to production in the same language or as the same programmer python has all the advantages.You also have the R2Py route for missing libs though that is not the same as doing it natively.
That said if anybody got the Pandas/Numpy/Ipython workflow going in Go however I drop python in a heartbeat.I would love faster loops(natively not just through numba) and better concurrency in python.
BTW IPython now runs R code(and Octave!) interactively so there is an advantage to knowing both from the python perspective.
While not directly covering the python libraries mentioned such as scikits learn this is a good into to some concepts in machine learning. https://www.udacity.com/course/cs373
I would have loved if the book had included sections on the statsmodels and scikit libraries, especially since they are integrated with pandas.
Another piece of advice for people: about 80% of Python for Data Analysis is the same as the online documentation for Pandas, the other 20% some examples and other notes. So if you're buying it you should buy it to support Wes McKinney, not to learn a ton of new stuff. Which wouldn't be the worst thing you could do, pandas is pretty awesome and I don't know what else you would use in Python to do statistical data analysis. (Of course there are separate tools for more specialized analyses and techniques like ML and NLP, but I mean "plain ol' stats".)
The sales numbers already show that the book was timely and relevant to a huge (> 10,000 so far) number of people.
I can definitely see why some think that the title is misleading. The book clearly does not aim to survey the field of data analysis in Python. However, it does teach you everything you need to know to start doing data analysis in Python using one particular (good) tool chain.
As to the merits, per se, of having some third party write the book: I'm doubtful. I followed wesm's development through blog posts, twitter updates, etc. Writing pandas forced him to consider a lot aspects of dealing with data in python, both deep and practical. In the process, I'm confident he became one of the foremost experts in not only his own software but in the current state of Data Analysis in Python. Who better to write this book?
Have you looked at Numba? There are guarantees about memory that can be made with Fortran that can't be expressed with C. Numba is trying to bring the same type of optimizations to NumPy python code, because it does know some of the memory constraints.
Note: I work for Continuum Analytics.
There is also an autojit decorator that watches what you're calling the function with, and compiles it for the given type signature.
f2py foo.f -c -m foo
Which creates a foo python module with easy access to whatever functions you put in foo.f, with proper type checking and conversion from python objects to fortran arrays. It is also clever enough to remove some unecessary inputs which are common in old fortran. For example, in fortran you usually define an extra input argument to be the length of an input array. f2py determines that this variable is uncessary as it can be determined from the length of the python object and makes it optional.
If you write fortran90-95 it's even better, as you can mark a variable as output and f2py puts it on the left side automatically.
I wish they would update it to support pointers and custom types, though. That's about the only thing it lacks right now.
It's the best and quickest way I know of linking python and native code. Scipy's weave is also nice.
Does anyone know where I can find a demo of bokeh.js plots?