У меня есть цена акций за последние 19 дней, хранящаяся в pd.dataframe, и я пытаюсь найти цену P, которая меньше (среднее значение - 2,5 * стандартное отклонение), где среднее и стандартное отклонение рассчитываются на основе P и цены за последние 19 дней.
Неравенство будет примерно таким, как показано ниже:
Я предполагаю использовать решение в SciPy, но при вызове np получил ошибку: «цикл ufunc не поддерживает аргумент 0 типа Add, который не имеет вызываемого метода sqrt». .std().
Это демонстрационный код:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
AttributeError: 'Add' object has no attribute 'sqrt'
The above exception was the direct cause of the following exception:
TypeError Traceback (most recent call last)
Input In [71], in ()
2 from sympy import Symbol
3 x = Symbol('x')
----> 4 solve(x-np.mean([1,2,3,x])-np.std([1,2,3,x]), x)
File ~/opt/anaconda3/lib/python3.9/site-packages/numpy/core/fromnumeric.py:3645, in std(a, axis, dtype, out, ddof, keepdims, where)
3642 else:
3643 return std(axis=axis, dtype=dtype, out=out, ddof=ddof, **kwargs)
-> 3645 return _methods._std(a, axis=axis, dtype=dtype, out=out, ddof=ddof,
3646 **kwargs)
File ~/opt/anaconda3/lib/python3.9/site-packages/numpy/core/_methods.py:214, in _std(a, axis, dtype, out, ddof, keepdims, where)
212 ret = ret.dtype.type(um.sqrt(ret))
213 else:
--> 214 ret = um.sqrt(ret)
216 return ret
TypeError: loop of ufunc does not support argument 0 of type Add which has no callable sqrt method
Или, может быть, есть какие-нибудь другие методы получше?
У меня есть цена акций за последние 19 дней, хранящаяся в pd.dataframe, и я пытаюсь найти цену P, которая меньше (среднее значение - 2,5 * стандартное отклонение), где среднее и стандартное отклонение рассчитываются на основе P и цены за последние 19 дней. Неравенство будет примерно таким, как показано ниже: [code]P < mean - 2.5*standard deviation[/code] Я предполагаю использовать решение в SciPy, но при вызове np получил ошибку: «цикл ufunc не поддерживает аргумент 0 типа Add, который не имеет вызываемого метода sqrt». .std(). Это демонстрационный код: [code]from sympy.solvers import solve from sympy import Symbol x = Symbol('x') solve(x-np.mean([1,2,3,x])-np.std([1,2,3,x]), x) [/code] Сообщение об ошибке: [code]--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) AttributeError: 'Add' object has no attribute 'sqrt'
The above exception was the direct cause of the following exception:
TypeError Traceback (most recent call last) Input In [71], in () 2 from sympy import Symbol 3 x = Symbol('x') ----> 4 solve(x-np.mean([1,2,3,x])-np.std([1,2,3,x]), x)
File ~/opt/anaconda3/lib/python3.9/site-packages/numpy/core/_methods.py:214, in _std(a, axis, dtype, out, ddof, keepdims, where) 212 ret = ret.dtype.type(um.sqrt(ret)) 213 else: --> 214 ret = um.sqrt(ret) 216 return ret
TypeError: loop of ufunc does not support argument 0 of type Add which has no callable sqrt method [/code] Или, может быть, есть какие-нибудь другие методы получше?
У меня есть двумерный массив значений float64, sVals, для которого я беру стандартное отклонение от использования np.std. Я могу сделать весь массив сразу:
np.std(sVals, axis=0) Выход : массив( ) Однако, когда я делаю только первый столбец:...
Я столкнулся со следующей проблемой: Я хотел бы иметь возможность получить стандартное отклонение для группы значений. Трудность состоит в том, чтобы получить стандартное значение, применив обычное уравнение и заменив выборочное среднее средним...
Для следующего кадра данных:
а б c д е сд -100 2 3 60 4 1 7 5 -50 9 130 2
Как мне рассчитать столбец стандартного отклонения sd, который исключает минимальное и максимальное значения из каждой строки?
Я вычисляю функцию активации в RBFNN, и мне нужно значение стандартного отклонения.
Я нашел способ найти стандартное отклонение с помощью этой формулы. Но как найти Cmax и как найти стандартное отклонение (ширину) для каждого кластера в Python....