属性错误:模块"numpy"在 NumPy 1.20 中没有属性"float"



我试图从Excel文件中使用以下命令获得列

i = pd.read_excel('filename.xlsx', sheet_name='sheet1')['column1']

过去的代码工作得很好,但是今天它突然停止工作并出现错误。

我尝试使用不同版本的Pandas和NumPy,但这不起作用,并给出以下错误:

AttributeError:模块'numpy'没有属性'float'。np.float是内置float的已弃用别名。为了避免在现有代码中出现这种错误,可以单独使用float。这样做不会改变任何行为,而且是安全的。如果您特别需要numpy标量类型,请在这里使用np.float64。这些别名最初在NumPy 1.20中已弃用;欲了解更多细节和指导,请参阅原始发布说明:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

有没有人知道如何解决这个问题,而不是痛苦地尝试不同版本的Pandas和/或numpy?在过去的代码运行良好,但现在它不工作了。

与其像其他答案中建议的那样降级pandas或numpy,不如尝试将软件包openpyxl更新到版本>= 3.0.6。这个版本修复了这个错误。

openpyxl是负责将excel表格读取为pandas的包。

我只是卸载了anaconda然后重新安装。它解决了这个问题。花了很多时间试图调试,但卸载和重新安装蟒蛇为我解决了这个问题。这不是解决问题的理想方法,但需要继续前进…

谢谢你的回复,朋友们。

参考此链接

https://numpy.org/doc/1.20/reference/arrays.scalars.html其它的别名

尝试使用np.float_,否则参考文件上有很多其他选项,您可以从中选择一个满足您需要的。

您可以通过直接提到用于字典中列的dtype来使用它:

pd.read_excel(the_file, dtype = {"col1":np.float_})

相关内容

最新更新