- Taschenbuch: 234 Seiten
- Verlag: Packt Publishing (8. November 2011)
- Sprache: Englisch
- ISBN-10: 1849515301
- ISBN-13: 978-1849515306
- Größe und/oder Gewicht: 19 x 1,3 x 23,5 cm
- Durchschnittliche Kundenbewertung: Schreiben Sie die erste Bewertung
- Amazon Bestseller-Rang: Nr. 687.735 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
Andere Verkäufer auf Amazon
+ EUR 3,00 Versandkosten
NumPy 1.5 Beginner's Guide (Englisch) Taschenbuch – 8. November 2011
|Neu ab||Gebraucht ab|
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Wenn Sie dieses Produkt verkaufen, möchten Sie über Seller Support Updates vorschlagen?
Über den Autor und weitere Mitwirkende
Ivan Idris has a degree in Experimental Physics and several certifications (SCJP, SCWCD and other). His graduation thesis had a strong emphasis on Applied Computer Science. After graduating Ivan worked for several companies as a Java developer, Datawarehouse developer and Test Analyst.
|5 Sterne (0%)|
|4 Sterne (0%)|
|3 Sterne (0%)|
|2 Sterne (0%)|
|1 Stern (0%)|
Die hilfreichsten Kundenrezensionen auf Amazon.com
The Kindle edition left justifies all the code listings with none of the indentation of loops, functions, etc., shown in the print edition and required in NumPy and Python. Multi-dimensional arrays, which are well laid out in the print edition, are also left justified and difficult to follow. Stick with the print edition.
There are fairly few books about scientific Python (I am in the process of writing one myself). Hans Petter Langtangen's books with Springer provide a good introduction to Python, NumPy, and SciPy for computational science and physical applications, but they leave a lot to be desired for the budding data analyst or R or MATLAB refugee. That being said, I was excited to see that this particular book was being written.
This is decidedly a beginner's guide. It gives a gentle introduction to NumPy arrays and features by means of hands-on examples. It does a good job of illustrating array-oriented computing (including such ideas as vectorization and broadcasting) using examples that are primarily derived from financial applications. Visualization uses matplotlib, although matplotlib is not given a more direct treatment until later in the book. In addition to examples combining array operations and matplotlib plots, the author gives an overview of the other important areas of the library: random number generation, fourier transforms, polynomials, ufuncs, and the linear algebra module. Additionally, there is a chapter on unit testing with NumPy and a short chapter on SciPy and statsmodels.
The quality and value of the book is hurt by a number of things.
First: editing and technical content. There is quite a bit of poorly formatted code and inconsistencies throughout the book that will very likely confuse new users. The author ought to have done a bit more research into common practice and conventions generally accepted by the scientific Python community: for example, sometimes functions are written using "numpy.", other times they are written without the explicit module reference. This sort of thing causes a lot of cognitive dissonance for readers.
Secondly, even though this is a beginner text, many of the topics would benefit from more in-depth explanations such as tables explaining the complete usage of common array methods such as reductions like mean, sum, and variance. The user is left to infer this from examples; this is more of a "learn by doing and experimenting" book, so keep that in mind.
Lastly, many important features of NumPy that distinguish it from MATLAB and R are omitted. In particular, array views, which are mentioned several times in the text, are never (as far as I can tell) very rigorously explained, which is likely to trip up new users. Other important features like broadcasting should also find a place in the book. Discussion of structured arrays, memory maps, and other more advanced IO features is also largely absent.
In summary. What this book is:
- A gentle introduction to many of NumPy's features, with a smattering of matplotlib and SciPy
- A series of useful and pretty interesting examples largely stemming from financial applications
What it is not:
- A guide for R users looking to pick up Python
- A comprehensive introduction to NumPy
- A primary text for new or aspiring scientific Python programmers
Before buying, I recommend taking a look at the table of contents. There is a lot of useful information and examples here, but I would suggest supplementing it with other content available online such as the Scientific Python Lectures [...]
From the basic additional functionality of arithmetic operating over all data at once, to advanced math of polynomials, fast Fourier transform, singular value decomposition, to visualization with graphics, NumPy 1.5 motivates the python programmer to install and use numpy. The book assumes facility with python. For instance, author Ivan Idris expects you to know how to examine directories and files with your operating system. He expects you to know to import datetime and sys as you read the book. Since these are included in the companion code it may help to browse these sources alongside the text. Frankly, I appreciated being treated as competent. The book does not cover all the available random distributions, special functions, optimizations for special matrices. Nor should it as an introduction to numpy. Ivan provides direction for your further investigation.
I jotted a few notes as I read:
> The numpy installation instructions were included for several operating systems. My installation on ubuntu was perfect;
> The author employed a helpful a method of frequent summaries and quizzes;
> In many instances multiple solutions were presented for a task;
> NumPy 1.5 treats broadcasting almost implicitly. In chapter 1 we see an_array**3. It seems worth repeating that each value of the array is cubed, taking us back to the near origins of interactive computing, APL and Dartmouth BASIC;
> In addition to the tab completion help of ipython which was recommended, I'd have liked to also see advocacy for numpy.lookfor and numpy.info in chapter 1. These handy documentation search functions assist finding the right method among the large numpy extension to python;
> I had to search the internet for matplotlib. Should NumPy 1.5 Beginner's Guide have explained the straightforward installation?
After a brief tour of numpy basics in chapter 1, NumPy: Beginner's Guide introduces additional numpy functionality and concepts with real-life examples as promised on the book's cover. For me the material from chapter 5 onward became easier, perhaps because both the author and I are physicists. Chapters 3 and 4 demonstrated numpy features to analyze stock market data. Chapter 5 continued by synthesizing wave forms with Fourier series. I enjoyed seeing the ringing created using a small number of terms of the Fourier series. On the the other hand, NumPy zipped through Eigenvalues and singular value decomposition without real world examples. Wherein the earlier chapters emphasized curve fits, it would have been appropriate for the SVD example to fit a lower order polynomial to same data. Also marginally interesting: FFT of stock market data. You might consider my complaints illegitimate. The book isn't a linear algebra text. If you know you need this functionality you probably understand it and now you've discovered that it, and more, is easily accessible from numpy.
The functionality of numpy is akin to a verbose form of APL, my first programming language. Thus I might be overly harsh. NumPy 1.5 introduces the rich numerical numpy toolset enabling rapid insight through a variety of approaches to manipulating data. I've used numpy for scientific computing. I recommend numpy for python even if all you need is to add two lists together, and I endorse Ivan Idris's NumPy 1.5 Beginner's Guide. It will familiarize you with numpy and help you to use it effectively.