我想从quandl中检索一些数据并在Julia中分析它们。遗憾的是,还没有正式的API(尚未)。我知道这个解决方案,但它的功能仍然非常有限,并且不遵循与原始Python API相同的语法。
我认为使用PyCall从Julia内部使用官方Python API检索数据是明智之举。这确实产生了输出,但我不确定如何将其转换为我能够在Julia中使用的格式(理想情况下是DataFrame)。
我尝试了以下内容。
using PyCall, DataFrames
@pyimport quandl
data = quandl.get("WIKI/AAPL", returns ="pandas");
Julia将此输出转换为Dict{Any,Any}。当使用returns ="numpy"而不是returns ="pandas"时,我最终得到PyObject rec.array。
如何让data成为Julia DataFrame,因为quandl.jl会返回它?请注意,quandl.jl对我来说不是一个选项,因为它不支持自动检索多个资源并且缺少其他一些功能,因此我必须使用Python API。
谢谢你的任何建议!
这是一个选项:
首先,从data对象中提取列名:
julia> colnames = map(Symbol, data[:columns]);
12-element Array{Symbol,1}:
:Open
:High
:Low
:Close
:Volume
Symbol("Ex-Dividend")
Symbol("Split Ratio")
Symbol("Adj. Open")
Symbol("Adj. High")
Symbol("Adj. Low")
Symbol("Adj. Close")
Symbol("Adj. Volume")
然后将所有列倒入DataFrame:
julia> y = DataFrame(Any[Array(data[c]) for c in colnames], colnames)
6×12 DataFrames.DataFrame