【问题标题】:Correlation of Quandl Time Series with PandasQuandl 时间序列与 Pandas 的相关性
【发布时间】:2020-11-07 11:46:56
【问题描述】:

我想从 Quandl 导入两个时间序列,并想找到它们之间的相关性。我发现了 pandas 并尝试了 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))

【问题讨论】:

  • 你有没有想过这个问题?我遇到了同样的错误。谢谢!

标签: python pandas quandl


【解决方案1】:

我遇到了同样的错误。事实证明,问题在于我如何传递 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 Key:

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

然后type(api_key) 返回一个字符串,然后您上面的完全相同的代码可以正常工作而不会出现错误。希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 2020-05-24
    • 2019-11-03
    • 2011-09-22
    • 2016-07-03
    • 2014-10-08
    • 2019-03-09
    • 2018-06-30
    • 1970-01-01
    相关资源
    最近更新 更多