TypeError: Argument has incorrect type (expected numpy.ndarray, got DataFrame) 解决方案

TypeError: Argument has incorrect type (expected numpy.ndarray, got DataFrame) 解决方案

💡 原文中文,约1300字,阅读约需4分钟。
📝

内容提要

在conda环境中,升级yfinance后,talib无法接受DataFrame作为输入,导致错误。降级yfinance至0.2.44后,talib和pandas恢复正常。

🎯

关键要点

  • 在conda环境中升级yfinance后,talib无法接受DataFrame作为输入,导致错误。

  • 错误信息显示类型不匹配,期望numpy.ndarray,但实际为DataFrame。

  • 网络搜索结果误导,建议将DataFrame转换为numpy数组,但问题源于软件包不兼容。

  • 通过代码复现问题,发现yfinance的版本影响talib的功能。

  • 检查版本差异,发现yfinance 0.2.48与talib和pandas不兼容。

  • 确认talib在yfinance 0.2.44版本正常工作,0.2.46及以上版本无法正常工作。

  • 解决方案是将yfinance降级到0.2.44,之后talib和pandas恢复正常工作。

  • 在GitHub上发布了yfinance的相关问题。

➡️

继续阅读