Quandl时间序列与熊猫的相关性

问题描述

我想从Quandl中导入两个时间序列,并希望找到它们之间的相关性。我发现了有关熊猫的信息,并尝试使用corr函数,但是我总是收到错误ValueError: The truth value of a DataFrame is ambiguous. Use a.empty,a.bool(),a.item(),a.any() or a.all().,我真的不知道这段代码出了什么问题,我打印了数组,它们看起来还不错。

这是我的代码:

import pandas as pd
import quandl

quandl.ApiConfig.api_key = "XXX"

series1 = quandl.get("BUNDESBANK/BBK01_WT5511",start_date="2017-01-01")
series2 = quandl.get("FRED/DCOILBRENTEU",start_date="2017-01-01")

print(series1.corr(series2))

解决方法

我遇到了同样的错误。事实证明,问题在于我如何传递 API 密钥。具体来说,为了避免在我使用的代码中暴露明文 API 密钥

api_key = pd.read_csv('API Key File',header=None)

读取我的 API 密钥,然后将其传递给 Quandl:

Quandl.ApiConfig.api_key = api_key

然后我得到了和你一样的错误:DataFrame 的真值不明确。

当我深入研究时,我意识到 pd.read_csv 是问题所在:type(api_key) 给出了一个对象,而不是一个字符串。因此,我切换到以下设置 API 密钥:

with open('API Key File') as f:
    api_key = f.readline()

然后 type(api_key) 返回一个字符串,并且您上面的代码完全相同,然后没有错误。希望这会有所帮助!

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...