Python array.shape() 给出错误元组不可调用

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/25125168/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-18 19:46:10  来源:igfitidea点击:

array.shape() giving error tuple not callable

pythonarraysnumpytuples

提问by user961627

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:

我有一个名为 的 2D numpy 数组results,它包含自己的数据数组,我想进入它并使用每个列表:

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_predis not a regular array and why it's being considered a tuple, I've assigned it to be an array using r.

我不明白为什么y_pred不是常规数组以及为什么将其视为元组,我已将其分配为使用r.

采纳答案by BrenBarn

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

shape只是一个属性,而不是一个方法。只需使用y_pred.shape(无括号)。

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

(错误消息不是告诉您这y_pred是一个元组,而是告诉您这y_pred.shape是一个元组。)