Pandas中CORR功能出错

时间:2015-12-29 03:07:00

标签: python python-3.x pandas correlation

我有一个包含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().

1 个答案:

答案 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'