Contents

Python NumPy For Your Grandma - 4.4 concatenate()

In this section, we’ll see how you can use the concatenate() function to combine two or more arrays.

This function takes two primary arguments. The first is a sequence of arrays you wanna combine, usually a tuple or a list. The second argument, axis, specifies the axis along which you want to combine the arrays. For example if the arrays are two dimensional, do you want to combine their rows (axis 0) or their columns (axis 1)? NumPy uses axis 0 by default. Let’s see an example.

Here we’ll make a 3x2 array called roux and a 2x2 array called gumbo

import numpy as np

roux = np.zeros(shape = (3,2))
print(roux)
## [[0. 0.]
##  [0. 0.]
##  [0. 0.]]
gumbo = np.ones(shape = (2,2))
print(gumbo)
## [[1. 1.]
##  [1. 1.]]

We can combine roux with a couple copies of itself row-wise

np.concatenate((roux, roux, roux), axis = 0)
## array([[0., 0.],
##        [0., 0.],
##        [0., 0.],
##        [0., 0.],
##        [0., 0.],
##        [0., 0.],
##        [0., 0.],
##        [0., 0.],
##        [0., 0.]])

or column-wise.

np.concatenate((roux, roux, roux), axis = 1)
## array([[0., 0., 0., 0., 0., 0.],
##        [0., 0., 0., 0., 0., 0.],
##        [0., 0., 0., 0., 0., 0.]])

We could also combine roux and gumbo row-wise.

np.concatenate((roux, gumbo), axis = 0)
## array([[0., 0.],
##        [0., 0.],
##        [0., 0.],
##        [1., 1.],
##        [1., 1.]])

But, as you might expect, we’ll get an error if we try to combine them column-wise because they don’t have the same number of rows. In general, when you concatenate arrays, they must have the same exact shape excluding the axis along which you’re concatenating.

np.concatenate((roux, gumbo), axis = 1)  # error

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