我有一个包含2个股票价格数据的CSV文件,我做了一些原生的python编码,创建了2个单独的价格列表(以十进制表示)的2个股票柜台。
然后我将它们转换为2个pandas数据帧,使用.pct_change()函数然后应用a.corr(b)函数以尝试获得相关性。
这是我得到的错误信息。任何人都可以在这里就此问题提出建议吗?
Traceback (most recent call last):
File "D:/python/NQ_MSFT regression.py", line 71, in <module>
print(nqpct.corr(mspct))
File "C:\Anaconda3\lib\site-packages\pandas\core\frame.py", line 4431, in corr
if method == 'pearson':
File "C:\Anaconda3\lib\site-packages\pandas\core\generic.py", line 731, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
答案 0 :(得分:0)
好的,我意识到如果我将列表解析为pandas系列而不是数据帧&amp;将我的初始价格从字符串更改为浮点数而不是小数字。 为什么相关函数不适用于十进制数据类型?
Traceback (most recent call last):
File "D:/python/NQ_MSFT regression.py", line 64, in <module>
nqpct = nq_df.pct_change()
File "C:\Anaconda3\lib\site-packages\pandas\core\generic.py", line 4573, in pct_change
axis=axis, **kwargs)) - 1)
File "C:\Anaconda3\lib\site-packages\pandas\core\ops.py", line 866, in flex_wrapper
return self._binop(other, op, level=level, fill_value=fill_value)
File "C:\Anaconda3\lib\site-packages\pandas\core\series.py", line 1536, in _binop
result = func(this_vals, other_vals)
TypeError: unsupported operand type(s) for /: 'decimal.Decimal' and 'float'