Book Image

Mastering pandas - Second Edition

By : Ashish Kumar
Book Image

Mastering pandas - Second Edition

By: Ashish Kumar

Overview of this book

pandas is a popular Python library used by data scientists and analysts worldwide to manipulate and analyze their data. This book presents useful data manipulation techniques in pandas to perform complex data analysis in various domains. An update to our highly successful previous edition with new features, examples, updated code, and more, this book is an in-depth guide to get the most out of pandas for data analysis. Designed for both intermediate users as well as seasoned practitioners, you will learn advanced data manipulation techniques, such as multi-indexing, modifying data structures, and sampling your data, which allow for powerful analysis and help you gain accurate insights from it. With the help of this book, you will apply pandas to different domains, such as Bayesian statistics, predictive analytics, and time series analysis using an example-based approach. And not just that; you will also learn how to prepare powerful, interactive business reports in pandas using the Jupyter notebook. By the end of this book, you will learn how to perform efficient data analysis using pandas on complex data, and become an expert data analyst or data scientist in the process.
Table of Contents (21 chapters)
Free Chapter
1
Section 1: Overview of Data Analysis and pandas
4
Section 2: Data Structures and I/O in pandas
7
Section 3: Mastering Different Data Operations in pandas
12
Section 4: Going a Step Beyond with pandas

Boolean indexing

We use Boolean indexing to filter or select parts of the data. The operators are as follows:

Operators

Symbol

OR

|

AND

&

NOT

~

These operators must be grouped using parentheses when used together. Using the earlier DataFrame from the previous section, here we display the trading dates for which NASDAQ closed above 4,300:

  In [311]: sharesIndexDataDF.ix[(sharesIndexDataDF['PriceType']=='close') & \
                         (sharesIndexDataDF['Nasdaq']>4300) ]
Out[311]: PriceType Nasdaq S&P 500 Russell 2000 TradingDate 2014/02/27 close 4318.93 1854.29 1187.94 2014/02/28 close 4308.12 1859.45 1183.03 2 rows × 4 columns

You can also create Boolean conditions in which you use arrays to filter out parts of the data, as shown in the following...