Having just started my career as a web developer two years ago, my weapon of choice was PHP. Naturally, not being a mature enough developer to fully understand the power of PHP, I quickly found caveats, even though the community was great, and the language and tools that came with it were oh so simple to understand and use. I quickly started to look into Python about a year ago, by starting to use the Django framework. I was quickly hooked by all that was Python, and found myself using it more and more, both casually and professionally.
Wanting to get better at Python, I looked around for a good book for me to read. I had gathered so much information about Python, but it had no structure, no fundamentals inside my head. I found Tarek Ziadé's "Expert Python Programming" (http://www.packtpub.com/expert-python...) from Packt Publishing and my mind was blown. There was so much of the professional way of doing things with Python that I didn't even start to think about, or thought about it but was scared that it's not the time yet, I would not even be able to comprehend it. I was wrong. I still use it as a reference in my everyday job, and kindly, fullheartedly recommend it to anyone.
Having my mind set out to explore big data and the more statistical part of the web, I then searched for another book that could teach me something regarding the new direction I wanted to head to. Being satisfied by the customer support and general website UI/UX, I naturally began my search on Packt's web application. I found Igor Milovanović's Python Data Visualization Cookbook, (http://www.packtpub.com/python-data-v...), and skeptically downloaded it. I say 'skeptically', because cookbooks are not usually my go-to option when it comes to expanding my programming knowledge in general -- I find them too short and technical, with few to null of those much needed explanations that I require in order to understand the subject I'm interested in.
I was, again, surprised. Not only the book has thorough explanations of the recipes, but it also comes with great tips and tricks for Python programming in general. The author made sure you first and foremost grasp the concept of data visualization, the need for it, and application in real life scenarios, before starting the teaching process.
I discovered a whole array of tools that I wasn't aware of, that can be used not only for data visualization, but for my every day Python programming. After setting up my environment, by installing the somewhat dependence heavy libraries needed for going through the cookbook, I started to get frightened by my lack of knowledge in the field of big data manipulation in general. With math not being my forte, and no formal training in statistics, I surprisingly was not caught off-guard by the recipes. There are not advanced math requirements or statistical foundation required in order to understand the cookbook, and the author makes the recipes relatively easy to understand. When we encounter strange or unfamiliar terms, we get explanations or links towards wikipedia or web-standard pages that explain the terminology.
With a broad spectrum of real-life applications, and sharing crucial data manipulation techniques, like noise reduction or handling various data formats, the author makes sure you're prepared for most of the scenarios you might bump into, be you a researcher, software developer (CRM's, ERP's, products that usually require data visualization) or active in academia. But it doesn't stop here. By expanding the already thick information layer, the book takes us, with baby steps, through key concepts in 3D data visualization, OpenGL, working with the Google Maps API for plotting statistical information based on geographical location, but also addresses more discrete subjects as choosing the right colour for your presentation depending on your target demographic, or understanding what data visualization technique can best supply the audience with valuable info, regarding the nature of the information you want to emphasize.
As all cookbooks, it won't make you a field expert by reading it, but it will surely carve an image of what Python can do regarding data visualization, and that's the most important thing, based on my personal experience. Learning what a tool can do means that whenever you may need it, the information is only a click or a page away. I'd recommend it for both professionals that already work in the subject, and beginner-intermediate curiosity-driven enthusiasts as myself.
When I see words like "cookbook" and "recipes" my expectation doesn't extend beyond a collection of practical tips, possibly repackaged and augmented to provide some additional insight into the techniques being used. I also expect the bulk of such books to be sections that you dip into according to your current needs. This book works fine in this respect but sells itself short because it is so much more. The author has clearly put serious thought into the contents and included additional topics with enough breadth and depth that the book also serves as an introductory reference book, i.e., the sort you read from cover-to-cover. I realised this after reading the first couple of chapters and dipping into several others. There are so many useful tips that I decided to start again and read the entire book.
I especially like that the book draws on many other packages and modules (what people do in the real world) rather than restrict itself to simplified examples that then become redundant when your demands get more sophisticated. This starts almost immediately in chapter 1 and throughout the book with IPython and VirtualEnv. In fact, practically the only criticism I have of the entire book is that the installation of VirtualEnv should come first and it's virtues emphasised more strongly. In addition to these two, the choice of additional packages/modules leads to some very interesting and unexpected topics, including image processing, generating CAPTCHA images, geo-spatial mapping, 3D animation (+OpenGL) and many more. I have used matplotlib frequently but almost as an aside and only for simple charting. This book has introduced so many related topics that I will be re-visiting it regularly for some time yet.
Although recently published the book makes no mention of PANDAS. However, Packt has an upcoming book dedicated entirely to it, which is probably a good thing since filtering and reshaping data is an important and broad enough topic to warrant a whole book and PANDAS is quickly becoming the de-facto tool for that job.
Finally, I've seen some criticism of Packt books but seen no evidence of poor quality in the dozen or so books I've bought from them so far. The quality of this particular book surpasses many books I've bought in the past and for a lot more money!
I was quite sceptical before reading the book as I suspected it will not bring anything new to me but I was pleasantly mistaken. The book provides decent introduction and recipes for handling different data sets, contains information on how to prepare, structure and apply different data for different kinds of plots. It also gives hints on using the right plot to understand raw data. I also liked a chapter on plotting data on a map using Google Map API.
I tried to find not only pros and found three missing points (at least for me).
* most of the examples in the book NumPy & Matplotlib, I was quite surprised that I did not see PANDAS library being mentioned which becomes a standard for handling data in Python nowadays. * there's one recipe on how to access a typical sql database from python and extract data using sql. I missed another example for recently popular nosql databases like MongoDB. * I missed a chapter on d3py. D3PY is a Python frontend for D3.js - Data Driven documents for the web.
Still I would like to recommend reeading this book. It is beneficial for intermediate+ Python developers, students or scientists that already know Python basics and is a good collection of recipes. If one needs to dive in quickly to present data on a chart, then this book is for you. For absolute beginners a Python introduction is a must.
Python Data Visualization Cookbook introduces the process of doing data visualization with the Python programming language. The book uses the Scipy stack for data visualization (however was published before the new Bokeh package was released) and introduces how to install the libraries in multiple operating systems which can be a task in itself for those unfamiliar with Python. The book covers the basics of data visualization and touches on exploratory data analysis, mostly in a scientific context. Given the size of the field of data visualization, it is unrealistic to expect that a book can introduce the semantics of a programming language as well as all of its applications. In conclusion this book is recommended to professionals who are interested in scientific data visualization with a novice level understanding of both mathematics and programming.
I am an intermedium python developer. My past python experience is on system admin, DevOps, deployment and web management. Data visualization is a fairly new area to me. So this book is a perfect fit for me.
Author uses lots of examples to demonstrate different visualization terminology, which really helps people to understand the abstract image processing technology. This book also shows you how to setup the virtual env to isolate development environment. Although the main purpose of this book is to teach how to visualize data, many of the example programs also show the best python development practice. Majority of the code is runnable without touch-up. Some typos are pretty easy to be spotted. I would recommend it to people who already have python experience and would like to extend their experience to data visualization area.
This is a nice tour of modules and techniques for importing and scrubbing data from various sources (CSV, databases, Excel, etc), manipulating said data and presenting it in an intuitive manner. The author is generous with examples, which allows you to start right away.
While this is not a rigorous tutorial, the author goes into exactly the right depth to allow you to make a decision on methodology and begin implementing right away.
If, rather than becoming a NumPy scholar, you expect to have to deliver results from varied species of data, having this in your back pocket will help you accomplish that.
The majority of software documentation is similar to a remark made by the developer of a well-known, difficult language; "Maybe you are not smart enough?". In contrast, this book has made sure that nothing is implied without being oversimplified. The book covers; installing and customizing libraries, reading in data, extensive information on 2D and 3D plots, using images and maps, determining the right plots for specified data types, and additional information for matplotlib. References are provided to other sources throughout the book.