In this article, we will see the possible causes of the error “numpy ndarray object has no attribute intersection” and how to resolve it.

The “ndarray object has no attribute intersection” error message usually occurs when we try to perform an intersection operation on a NumPy array using the `intersection` method. However, unlike standard Python sets, NumPy arrays do not have an intersection method. Therefore, if we try to use the intersection method on a NumPy array, we will get a “ndarray object has no attribute intersection” error.

Let us see an example to understand more about this:

let’s create two NumPy arrays and try to find their intersection:

``````import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([3, 4, 5, 6])

result = a.intersection(b)``````

When we run the above code, we will get the following error message:

``When we run this code, we will get the following error message:``

### How to resolve?

To resolve the above error, we use the `intersect1d` function provided by NumPy instead of the `intersection` method. The `intersect1d` function returns the sorted, unique values that are in both of the input arrays. Here is an example of how to use `intersect1d`:

``````import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([3, 4, 5, 6])

result = np.intersect1d(a, b)
print(result)``````

Output

``[3 4]``

As we can see, the `intersect1d` function correctly returns the intersection of the two arrays.

Also, note that if we want to find the intersection of multiple arrays, we can simply chain the `intersect1d` function

``````import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([3, 4, 5, 6])
c = np.array([2, 3, 4])

result = np.intersect1d(a, np.intersect1d(b, c))
print(result)``````

Output

``[3 4]``

Categorized in: