Contents

Python NumPy For Your Grandma - 4.3 all() and any()

In this video we’ll see how you can use the all() and any() functions to identify arrays where, you guessed it, all or any of the elements match some condition. These are often used to identify which rows in a 2d array contain at least one nan value or all nan values, so let’s give that a try.

Here we have a 2d array, foo, with some nan values scattered about.

import numpy as np

foo = np.array([
    [np.nan,    4.4],
    [   1.0,    3.2],
    [np.nan, np.nan],
    [   0.1, np.nan]
])

If we wanted to see which rows have at least one nan value, we can start by calling np.isnan() foo which tells us whether each value in foo is nan.

np.isnan(foo)
## array([[ True, False],
##        [False, False],
##        [ True,  True],
##        [False,  True]])

And then we can wrap that inside np.any() and set axis=1.

np.any(np.isnan(foo), axis = 1)
## array([ True, False,  True,  True])

If you assign this to a variable called mask, you can use it as a boolean index to return rows of foo with at least one nan value.

mask = np.any(np.isnan(foo), axis = 1)
foo[mask]
## array([[nan, 4.4],
##        [nan, nan],
##        [0.1, nan]])

Alternatively, if you wanted to see which rows of foo have all nan values, you can do the same thing with the all() function.

mask = np.all(np.isnan(foo), axis = 1)
foo[mask]
## array([[nan, nan]])

Course Curriculum

  1. Introduction
    1.1 Introduction
  2. Basic Array Stuff
    2.1 NumPy Array Motivation
    2.2 NumPy Array Basics
    2.3 Creating NumPy Arrays
    2.4 Indexing 1-D Arrays
    2.5 Indexing Multidimensional Arrays
    2.6 Basic Math On Arrays
    2.7 Challenge: High School Reunion
    2.8 Challenge: Gold Miner
    2.9 Challenge: Chic-fil-A
  3. Intermediate Array Stuff
    3.1 Broadcasting
    3.2 newaxis
    3.3 reshape()
    3.4 Boolean Indexing
    3.5 nan
    3.6 infinity
    3.7 random
    3.8 Challenge: Love Distance
    3.9 Challenge: Professor Prick
    3.10 Challenge: Psycho Parent
  4. Common Operations
    4.1 where()
    4.2 Math Functions
    4.3 all() and any()
    4.4 concatenate()
    4.5 Stacking
    4.6 Sorting
    4.7 unique()
    4.8 Challenge: Movie Ratings
    4.9 Challenge: Big Fish
    4.10 Challenge: Taco Truck
  5. Advanced Array Stuff
    5.1 Advanced Array Indexing
    5.2 View vs Copy
    5.3 Challenge: Population Verification
    5.4 Challenge: Prime Locations
    5.5 Challenge: The Game of Doors
    5.6 Challenge: Peanut Butter
  6. Final Boss
    6.1 as_strided()
    6.2 einsum()
    6.3 Challenge: One-Hot-Encoding
    6.4 Challenge: Cumulative Rainfall
    6.5 Challenge: Table Tennis
    6.6 Challenge: Where’s Waldo
    6.7 Challenge: Outer Product

Additional Content

  1. Python Pandas For Your Grandpa
  2. Neural Networks For Your Dog
  3. Introduction To Google Colab