Book Image

NumPy Cookbook - Second Edition

By : Ivan Idris
Book Image

NumPy Cookbook - Second Edition

By: Ivan Idris

Overview of this book

<p>NumPy has the ability to give you speed and high productivity. High performance calculations can be done easily with clean and efficient code, and it allows you to execute complex algebraic and mathematical computations in no time.</p> <p>This book will give you a solid foundation in NumPy arrays and universal functions. Starting with the installation and configuration of IPython, you'll learn about advanced indexing and array concepts along with commonly used yet effective functions. You will then cover practical concepts such as image processing, special arrays, and universal functions. You will also learn about plotting with Matplotlib and the related SciPy project with the help of examples. At the end of the book, you will study how to explore atmospheric pressure and its related techniques. By the time you finish this book, you'll be able to write clean and fast code with NumPy.</p>
Table of Contents (19 chapters)
NumPy Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Fancy indexing in place for ufuncs with the at() method


The at() method was added to the NumPy universal function class in NumPy 1.8. This method allows fancy indexing in-place. Fancy indexing is indexing that does not involve integers or slices, which is normal indexing. "In-place" means that the data of the input array will be altered.

The signature for the at() method is ufunc.at(a, indices[, b]). The indices array corresponds to the elements to operate on. We must specify the b array only for universal functions with two operands.

How to do it...

The following steps demonstrate how the at() method works:

  1. Create an array with 7 random integers from -4 to 4 with a seed of 44:

    np.random.seed(44)
    a = np.random.random_integers(-4, 4, 7)
    print(a)

    The array appears as follows:

    [ 0 -1 -3 -1 -4  0 -1]
    
  2. Apply the at() method of the sign universal function to the third and fifth array elements:

    np.sign.at(a, [2, 4])
    print(a)

    We get the following altered array:

    [ 0 -1 -1 -1 -1  0 -1]
    

See also

  • The NumPy universal...