*22*

One error you may encounter when using NumPy is:

TypeError: 'numpy.float64' object cannot be interpreted as an integer

This error occurs when you supply a float to some function that expects an integer.

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

**How to Reproduce the Error**

Suppose we attempt to use the following for loop to print out various numbers in a NumPy array:

import numpy as np #define array of values data = np.array([3.3, 4.2, 5.1, 7.7, 10.8, 11.4]) #use for loop to print out range of values at each index for i in range(len(data)): print(range(data[i])) TypeError: 'numpy.float64' object cannot be interpreted as an integer

We receive an error because the **range()** function expects an integer, but the values in the NumPy array are floats.

**How to Fix the Error**

There are two ways to quickly fix this error:

**Method 1: Use the int() Function**

One way to fix this error is to simply wrap the call with **int()** as follows:

import numpy as np #define array of values data = np.array([3.3, 4.2, 5.1, 7.7, 10.8, 11.4]) #use for loop to print out range of values at each index for i in range(len(data)): print(range(int(data[i]))) range(0, 3) range(0, 4) range(0, 5) range(0, 7) range(0, 10) range(0, 11)

By using the **int()** function, we convert each float value in the NumPy array to an integer so we avoid the **TypeError** we encountered earlier.

**Method 2: Use the .astype(int) Function**

Another way to fix this error is to first convert the values in the NumPy array to integers:

import numpy as np #define array of values data = np.array([3.3, 4.2, 5.1, 7.7, 10.8, 11.4]) #convert array of floats to array of integers data_int = data.astype(int) #use for loop to print out range of values at each index for i in range(len(data)): print(range(data[i])) range(0, 3) range(0, 4) range(0, 5) range(0, 7) range(0, 10) range(0, 11)

Using this method, we avoid the **TypeError** once again.

**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