【发布时间】:2020-04-21 14:43:34
【问题描述】:
我正在尝试制作一个程序,当股票价格超过移动平均线时通过电子邮件发送警报,我正在使用库 yahoo_fin(这里是 docs)
我正在尝试从 yahoo_fin.stock_info.get_stats('a') 获取移动平均数据,但出现以下错误:
File "lib\site-packages\yahoo_fin\stock_info.py", line 241, in get_stats
table.columns = ["Attribute" , "Value"]
File "lib\site-packages\pandas\core\generic.py", line 5287, in __setattr__
return object.__setattr__(self, name, value)
File "pandas\_libs\properties.pyx", line 67, in pandas._libs.properties.AxisProperty.__set__
File "lib\site-packages\pandas\core\generic.py", line 661, in _set_axis
self._data.set_axis(axis, labels)
File "lib\site-packages\pandas\core\internals\managers.py", line 178, in set_axis
f"Length mismatch: Expected axis has {old_len} elements, new "
ValueError: Length mismatch: Expected axis has 9 elements, new values have 2 elements
任何解决此问题的帮助都会很棒!
如果您不知道如何让这个特定功能发挥作用,我尝试过的另一种替代方法似乎可行的是使用方法yahoo_fin.stock_info.get_data('a'),但我需要帮助才能知道如何计算移动平均线这个数据。
【问题讨论】:
-
你用的是哪个版本的python和
yahoo_fin?它适用于python 3.6和yahoo_fin 0.8.4。另外,你能提供更多的代码上下文吗?你要导入什么模块? -
我正在使用 python 3.7.7 和 yahoo_fin 0.8.4!我只是想让 get_stats('a') 工作,但它给出了一个错误。一旦我得到 get_stats('a') 来显示一些数据,然后我想从该数据中获取移动平均值。只需输入 yahoo_fin.stock_info.get_stats('a') 就会出现上述错误。我也在使用 import yahoo_fin & from yahoo_fin import stock_info
-
抱歉,我无法复制该问题。它工作得很好
python -c "import yahoo_fin; from yahoo_fin import stock_info; print(yahoo_fin.stock_info.get_data('a'))"。尝试不同版本的熊猫?你用的是哪个版本的熊猫? -
我正在使用熊猫 1.0.3!我正在尝试使用 get_stats('a') 而不是 get_data('a')。我可以尝试 get_data('a') 但如何从该数据中获得 50 天移动平均线?另外,如何让它不拾取表中不必要的数据?
-
get_stats也适用于python -c "import yahoo_fin; from yahoo_fin import stock_info; print(yahoo_fin.stock_info.get_stats('a'))",我使用的是相同版本的pandas。对不起
标签: python yahoo-finance stock moving-average