*47*

One error you may encounter when using NumPy is:

ValueError: all the input arrays must have same number of dimensions

This error occurs when you attempt to concatenate two NumPy arrays that have different dimensions.

The following example shows how to fix this error in practice.

**How to Reproduce the Error**

Suppose we have the following two NumPy arrays:

import numpy as np #create first array array1 = np.array([[1, 2], [3, 4], [5,6], [7,8]]) print(array1) [[1 2] [3 4] [5 6] [7 8]] #create second array array2 = np.array([9,10, 11, 12]) print(array2) [ 9 10 11 12]

Now suppose we attempt to use the **concatenate()** function to combine the two arrays into one array:

#attempt to concatenate the two arrays np.concatenate([array1, array2]) ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension(s) and the array at index 1 has 1 dimension(s)

We receive a **ValueError** because the two arrays have different dimensions.

**How to Fix the Error**

There are two methods we can use to fix this error.

**Method 1: Use np.column_stack**

One way to concatenate the two arrays while avoiding errors is to use the **column_stack()** function as follows:

np.column_stack((array1, array2)) array([[ 1, 2, 9], [ 3, 4, 10], [ 5, 6, 11], [ 7, 8, 12]])

Notice that weâ€™re able to successfully concatenate the two arrays without any errors.

**Method 2: Use np.c_**

We can also concatenate the two arrays while avoiding errors using the **np.c_**Â function as follows:

np.c_[array1, array2] array([[ 1, 2, 9], [ 3, 4, 10], [ 5, 6, 11], [ 7, 8, 12]])

Notice that this function returns the exact same result as the previous method.

**Additional Resources**

The following tutorials explain how to fix other common errors in Python:

How to Fix KeyError in Pandas

How to Fix: ValueError: cannot convert float NaN to integer

How to Fix: ValueError: operands could not be broadcast together with shapes