Как рассчитать Stocasti c RSI, используя Talib на многоиндексном фрейме данных? - PullRequest
1 голос
/ 10 января 2020

Я пытался вычислить Stocasti c RSI на многоиндексном фрейме данных, используя символ «groupby», а затем вызывая встроенную функцию. Ниже приведен код:

df['fastk'],df['fastd'] = df.groupby('Symbol')['Close'].apply(lambda y: talib.STOCHRSI(y, timeperiod=14, fastk_period=5, fastd_period=3, fastd_matype=0))

Ошибка:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\jafre\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\frame.py", line 2519, in __setitem__
    self._set_item(key, value)
  File "C:\Users\jafre\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\frame.py", line 2585, in _set_item
    value = self._sanitize_column(key, value)
  File "C:\Users\jafre\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\frame.py", line 2760, in _sanitize_column
    value = _sanitize_index(value, self.index, copy=False)
  File "C:\Users\jafre\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\series.py", line 3121, in _sanitize_index
    raise ValueError('Length of values does not match length of ' 'index')
ValueError: Length of values does not match length of index

Может кто-нибудь помочь с изменениями в коде?

...