So you are getting this numpy python error **‘numpy.ndarray’ object is not callable**. Right? This is because somewhere in your code you are using a non-function element like int, array, object, list etc. as function. For example –

Suppose, you have an array – `myArray = [2, 3, 4]`

. Now to access the first element, you should use `myArray[0]`

. But sometimes we mistakenly use `myArray(0)`

.

```
import numpy as np
data = np.array([[1, 2], [3, 4]])
xy = data
for XY in xy:
i=0
Z=XY(i,0)+XY(i,1)
i=i+1
print (Z)
```

This will throw error, ‘numpy.ndarray‘ object is not callable, because `XY`

is the vector not function. And we are fetching the value, not by index but by passing parameter to it. So, `XY(i, 0)`

is the wrong way. The correct way is `XY[0]`

and `XY[1]`

.

Now, let’s correct our above code snippet –

```
import numpy as np
data = np.array([[1, 2], [3, 4]])
xy = data
for XY in xy:
i=0
Z=XY[0]+XY[1]
i=i+1
print (Z)
```

The major reason for this error is the conflict of user defined variable names with system functions. For example, you define an integer variable

`round`

and try to use math function`round`

. Python will throw error, “Object is not callable”