如何解决类型错误:需要一个整数得到类型 strLDAvis
总的来说,我是 Python 和数据科学的新手。我正在尝试处理一些 LDA 可视化,但由于某种原因,我不断收到以下错误。任何帮助将不胜感激!
Type Error: an integer is required (got type str)
import os
LDAvis_data_filepath = os.path.join('./ldavis_prepared_'+str(number_topics))
# # this is a bit time consuming - make the if statement True
# # if you want to execute visualization prep yourself
if 1 == 1:
LDAvis_prepared = sklearn_lda.prepare(lda,count_data,count_vectorizer)
with open(LDAvis_data_filepath,'wb','utf-8') as f:
pickle.dump(LDAvis_prepared,f)
#load the pre-prepared pyLDAvis data from disk
with open(LDAvis_data_filepath,'rb','utf-8') as f:
pickle.dump(LDAvis_prepared,f)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-110-4459335c1578> in <module>
----> 1 with open(LDAvis_data_filepath,'utf-8') as f:
2 pickle.dump(LDAvis_prepared,f)
3 # load the pre-prepared pyLDAvis data from disk
4 with open(LDAvis_data_filepath,'utf-8') as f:
5 pickle.dump(LDAvis_prepared,f)
TypeError: an integer is required (got type str)
解决方法
编码是 open
的第四个参数,而不是第三个。看文档两分钟就会告诉你这一点。您的第二个 pickle
调用几乎肯定应该是 load
,而不是 dump
。
with open(LDAvis_data_filepath,'wb',encoding='utf-8') as f:
pickle.dump(LDAvis_prepared,f)
#load the pre-prepared pyLDAvis data from disk
with open(LDAvis_data_filepath,'rb',encoding='utf-8') as f:
pickle.load(LDAvis_prepared,f)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。