Take the 2-minute tour ×
Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It's 100% free, no registration required.

I've been doing FORTRAN programming for 10 years and I've started using python for a few years now, mostly for data processing. I've been lucky enough to work with people that are knowledgeable python programmers and so I've learned quite a bit of practical skill. However, I feel like I'm rarely if ever thinking, if not in a pythonic way, at least in a truly OOP way, probably because I've had little formal training in OOP. Also I'm rarely doing such computationally intensive stuff that I feel optimization is critical but it has been a problem on a few search algorithms. Finally, to list a few specific packages that I'm actively using or would like to know more about. I'd say I know numpy and matplotlib fairly well. I've done a little bit of R but wouldn't mind a fully pythonic way like pandas or some of the scipy stuff (which I've used very little). Finally, GUI has never been necessary but why not if it makes other people more likely to use the tools...

So overall I feel like I'm missing something. I know the basics, I can understand most programs even with complex classes but when it's time to write my own classes, it feels clunky. Any good book/resource out there with a focus on science/engineering applications to help me think python? Like I tried to say, not looking for a reference book but more a python and science way of life. Anybody with similar background and/or experience?

I will add below books that I'm considering:

share|improve this question
    
This is a great, but slightly forked question. Your title suggests you are interested in a book about Data Processing techniques in Python, your second paragraph actually makes it sound like you are more interested in finding a good book that teaches strong object-oriented (not necessarily in Python) design. If you are leaning towards the second, are you familiar with the Pragmatic Programmer, Design Patterns, and Refactoring books? –  Aron Ahmadia Nov 29 '12 at 10:24
    
I'm not familiar with these books and I will take a look. It is true that I'm a little conflicted, because I'm not sure if what I'm missing when trying to write python is actually python-related or simply OO-related. But overall, I feel like python would be the OO data-processing language of choice for my field, CFD. (I hope I'm done writing large chunks of FORTRAN !). –  FrenchKheldar Nov 29 '12 at 10:42
    
I've requested some help from a knowledgable Python expert who uses it his for data management with his CFD computations, hopefully he will have time for a response soon, but I know he is a big fan of HPL's books :) –  Aron Ahmadia Nov 30 '12 at 14:45
    
I have bought the McKinney book, will let you know what I think about it... –  FrenchKheldar Dec 27 '12 at 18:30
add comment

1 Answer

I haven't read Wes McKinney's book, but he's a smart guy and pandas is an awesome package. So I suspect it's good.

Another possibility for a quick start is to just go through the scikits learn documentation and code. It's nice package with a consistent interface, good examples, and nicely structured code. It's not "the answer" for data analysis using python, but it's a good starting place.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.