Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

array.shape() giving error tuple not callable

I have a 2D numpy array called results, which contains its own array of data, and I want to go into it and use each list:

for r in results:     print "r:"     print r     y_pred = np.array(r)     print y_pred.shape() 

This is the output I get:

r: [ 25.  25.  25.  25.  25.  25.  26.  26.  26.  26.  26.  22.  27.  27.  42.   23.  23.  23.  28.  28.  28.  44.  29.  29.  30.  30.  30.  18.  18.  18.   19.  30.  17.  17.  17.  17.   2.  19.   2.  17.  17.  17.  17.  17.  17.    4.  17.  17.  41.   7.  17.  19.  19.  19.  10.  32.   4.  19.  34.  19.   34.  34.  34.  34.  34.  34.  20.  20.  20.  36.  36.  36.   4.  36.  36.   22.  22.  22.  22.  22.  22.  23.  23.  23.  27.  27.  27.  24.  39.  39.   10.  10.  10.   6.  10.  10.  11.  11.  11.  11.  11.  11.  12.  12.  12.   12.  12.  12.  13.  13.  13.  14.  14.  14.  15.  15.  15.   1.  17.   1.    2.   2.   2.   2.   2.   2.   2.   2.   2.   2.   2.   2.   2.   2.   2.   19.  19.  19.   2.   2.   4.   3.   3.   3.   4.   4.   4.   4.   4.   4.    4.  19.   4.   4.   4.  17.   5.   5.   5.   6.   6.   6.   6.   6.   6.    7.   7.   7.   7.   7.   7.   8.   8.   8.   8.   8.   8.   9.   9.   9.   23.  38.  38.  34.  34.  10.  17.  17.  26.   0.  42.   0.  18.  32.  32.    0.   0.  21.  38.  38.  38.  27.  27.  27.   0.   0.   0.  34.   2.   2.    0.  26.  26.  36.   0.  36.  36.  36.  23.   0.  27.  38.  25.  25.  25.   26.  26.  26.   0.  15.  15.  32.  38.  38.   0.  32.  32.  32.  41.  32.    7.  34.  32.  42.  34.  34.  36.  36.  25.  32.  32.  32.  36.  17.   8.   32.  17.  38.   3.   3.   3.  18.  18.  18.   0.   1.   1.  34.   1.   1.   34.  17.  17.  34.  34.  34.  34.  34.  34.  17.  17.  17.  24.   2.  32.    2.   2.   2.   0.   2.   2.   0.  34.  34.   0.   1.   1.  38.  23.  38.] Traceback (most recent call last):   File "C:\Users\app\Documents\Python Scripts\gbc_classifier_test.py", line 93, in <module>     print y_pred.shape() TypeError: 'tuple' object is not callable 

I don't understand why y_pred is not a regular array and why it's being considered a tuple, I've assigned it to be an array using r.

like image 745
user961627 Avatar asked Aug 04 '14 18:08

user961627


People also ask

How do you fix a tuple object is not callable?

The Python "TypeError: 'tuple' object is not callable" occurs when we try to call a tuple as if it were a function. To solve the error, make sure to use square brackets when accessing a tuple at a specific index, e.g. my_tuple[0] .

Why is a tuple not callable?

To summarize, TypeError' tuple' object is not callable occurs when you try to call a tuple as if it were a function. To solve this error, ensure when you are defining multiple tuples in a container like a list that you use commas to separate them.

What does tuple object is not callable mean in Python?

The “TypeError: 'tuple' object is not callable” error is raised when you try to call a tuple as a function. This can happen if you use the wrong syntax to access an item from a tuple or if you forget to separate two tuples with a comma. Make sure when you access items from a tuple you use square brackets.

How do you shape a tuple in Python?

The shape of a simple Python tuple or list can be obtained with the built-in len() function. len() will return an integer that describes the number of objects in the tuple or list.


1 Answers

shape is just an attribute, not a method. Just use y_pred.shape (no parentheses).

(The error message isn't telling you that y_pred is a tuple, it's telling you that y_pred.shape is a tuple.)

like image 57
BrenBarn Avatar answered Sep 20 '22 19:09

BrenBarn