【问题标题】:'numpy.ndarray' object has no attribute 'append' [duplicate]'numpy.ndarray' 对象没有属性'append' [重复]
【发布时间】:2019-11-09 09:27:03
【问题描述】:

我正在使用 word2vec 制作模型。在训练模型后,我使用了余弦相似度。但我收到以下错误。 我正在使用 python 3 我使用的代码如下:

import numpy as np
from sklearn.metrics.pairwise import cosine_distances
cos_dist =[]
cos_dist =[cos_dist]
cos_dist = np.array(cos_dist).reshape(1, -1)
for vec in data[:-1]:
    cos_dist.append(float(cosine_distances(vec,data[-1])))

我收到以下错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call 
last)
<ipython-input-14-ef6e7efe7eaa> in <module>
      5 cos_dist = np.array(cos_dist).reshape(1, -1)
      6 for vec in data[:-1]:
----> 7     cos_dist.append(float(cosine_distances(vec,data[-1])))
      8 
      9 

AttributeError: 'numpy.ndarray' object has no attribute 'append'

【问题讨论】:

  • 是的,它没有这种方法。这里有什么问题?
  • 正如错误所说 numpy 数组没有任何名为 append 的属性。您可以使用list 附加值
  • 不要使用np.append。很难正确使用,反复使用时速度较慢。

标签: python python-3.x numpy


【解决方案1】:

你可以使用np.append,这在原地不起作用:

cos_dist = np.append(cos_dist, [float(cosine_distances(vec,data[-1]))])

【讨论】:

    【解决方案2】:

    您可以使用numpy.concatenate(list1, list2)numpy.append()

    这个thread也有类似的讨论

    【讨论】:

      猜你喜欢
      • 2020-12-08
      • 2017-08-14
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 2020-09-22
      • 2020-02-21
      • 2019-12-10
      相关资源
      最近更新 更多