使用PyLDAvis可视化主题时遇drop()参数错误求助
PyLDAvis可视化报错解决:TypeError: drop()参数数量异常
问题根源
你遇到的错误是因为新版本pandas(2.0及以上)不再支持将axis参数以位置形式传递给drop()方法,而PyLDAvis旧版本的源码里仍在使用drop('saliency', 1)这种写法(这里的1是axis的位置参数),导致参数数量不匹配触发报错。
两种解决办法
办法1:修改PyLDAvis源码
找到报错文件的路径:~/PycharmProjects/KeyWordExtractor/venv/lib/python3.9/site-packages/pyLDAvis/_prepare.py,定位到第232行,把:
head(R).drop('saliency', 1)
改成以下任意一种兼容写法即可:
- 显式指定axis参数:
head(R).drop('saliency', axis=1) - 或者用columns参数更直观:
head(R).drop(columns='saliency')
办法2:降低pandas版本
如果不想手动修改源码,直接在虚拟环境中安装2.0以下的pandas版本:
pip install pandas<2.0
额外提示
如果后续PyLDAvis发布了兼容高版本pandas的更新,建议直接升级PyLDAvis到最新版,避免手动修改源码带来的维护麻烦。
内容的提问来源于stack exchange,提问作者Prince Modi
相关产品推荐
相关产品推荐

