繁体   English   中英

.argmax(axis =1) 不适用于 numpy 阵列

[英].argmax(axis =1) not working on a numpy array

您好我正在尝试在 numpy 阵列上使用 argmax function 但它显示错误。

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-25-914c12a3a737> in <module>()
      5 # TODO - Check for data issues
      6 # Hint: You can convert from one-hot to integers with argmax
----> 7 train_df1 = train_df1.argmax(axis = 1)
      8 
      9 # Initialise

AttributeError: 'function' object has no attribute 'argmax'

代码:


train_df1

<bound method DataFrame.to_numpy of      MEL   NV  BCC  AKIEC  BKL   DF  VASC
0    0.0  1.0  0.0    0.0  0.0  0.0   0.0
1    0.0  1.0  0.0    0.0  0.0  0.0   0.0
2    0.0  1.0  0.0    0.0  0.0  0.0   0.0
3    0.0  1.0  0.0    0.0  0.0  0.0   0.0
4    1.0  0.0  0.0    0.0  0.0  0.0   0.0
..   ...  ...  ...    ...  ...  ...   ...
194  0.0  1.0  0.0    0.0  0.0  0.0   0.0
195  0.0  1.0  0.0    0.0  0.0  0.0   0.0
196  0.0  1.0  0.0    0.0  0.0  0.0   0.0
197  0.0  1.0  0.0    0.0  0.0  0.0   0.0
198  0.0  0.0  1.0    0.0  0.0  0.0   0.0

[199 rows x 7 columns]>


train_df1 = train_df1.argmax(axis = 1)

有人明白我为什么会得到这个吗?

谢谢

您需要为我们发布更多代码来复制该行为,但我们可以从错误消息中看到发生了什么。

train_df1 是 function。 您需要调用 function:

my_values = train_df1()
my_max = my_values.argmax(axis = 1)

主要线索是当您在提示符下键入 train_df1 时,它会告诉您这是一个“绑定方法”,它是您需要调用的 function 的另一个名称。

我还假设您的 train_df1 function 返回一个 numpy 数组,这样 argmax function 调用将起作用。

在一行中,它只是:

my_max = train_df1().argmax(axis = 1)

您绝对不想将“train_def1”重新定义为变量,因此请务必选择一个新的命名变量来保存返回的最大值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM