top_topics Gensim NameError:全局名称' np'没有定义

时间:2015-06-11 03:13:24

标签: python gensim

我正在跑步(来自Gensim)

top_topics(corpus, num_topics=5, num_words=20)

我收到错误:

for topic in lda.top_topics(corpus=corpus, num_topics=5, num_words=20):
File "/Library/Python/2.7/site-packages/gensim/models/ldamodel.py", line 760, in top_topics
bestn = np.argsort(topic)[::-1][:num_words]
NameError: global name 'np' is not defined

我认为这很奇怪,我可以看到该文件(确实它有import numpy但不是import numpy as np)。

添加import numpy as np并尝试再次运行后

  File "/Library/Python/2.7/site-packages/gensim/models/ldamodel.py", line 772, in top_topics
    if len(list(ifilter(lambda x: x[0] == id,corpus[document]))) > 0:

NameError:全局名称' ifilter'未定义

通过将from itertools import chain更改为from itertools import chain, ifilter来解决此问题。然后该模块完美运行。

所以,我想我的问题是这是否是一个特定于我的系统的错误(是否有某种'导入所有' python技巧对我不起作用?)。

1 个答案:

答案 0 :(得分:0)

如果您使用pip使用pip install --upgrade numpy

,请尝试升级您的numpy

为了安全起见,也尝试升级你的gensim