Julia 朱莉娅:将PyObject转换为数组
在Julia中,我调用Python模块pandas\u datareader从web下载数据:Julia 朱莉娅:将PyObject转换为数组,julia,pyobject,Julia,Pyobject,在Julia中,我调用Python模块pandas\u datareader从web下载数据: using PyCall @pyimport datetime @pyimport pandas_datareader.data as web gdp = web.DataReader("GDPCA","fred",start=datetime.datetime(1929,1,1)) 变量gdp是PyObject。因此,我无法操纵它(以日志为例)。如何将其转换为数组?我尝试转换(数组{Float64
using PyCall
@pyimport datetime
@pyimport pandas_datareader.data as web
gdp = web.DataReader("GDPCA","fred",start=datetime.datetime(1929,1,1))
变量gdp是PyObject。因此,我无法操纵它(以日志为例)。如何将其转换为数组?我尝试转换(数组{Float64,2},gdp),但它只会崩溃
谢谢 宏
@pyimport
用于通过PyObject
类型操作Python对象,在本例中为pandadataframe。给定o::PyObject
,o[:attribute]
相当于Python中的o.attribute
,具有自动类型转换。下面的代码片段展示了如何通过调用Python函数获得Julia数组
julia> using PyCall
julia> @pyimport datetime
julia> gdp = web.DataReader("GDPCA","fred",start=datetime.datetime(1929,1,1))
julia> typeof(gdp)
PyCall.PyObject
julia> gdp[:values]
87x1 Array{Float64,2}:
1056.6
966.7
904.8
788.2
778.3
...
您好,欢迎来到stack overflow,请尝试格式化您的代码,使您的问题更具可读性:()看起来您的
gdp
是一个DataFrame
。通常,您可以对代码进行格式化。我应该寻找什么属性来获取下载的值(并将其转换为数组)?可能吗?我不确定用pandas数组位的数据帧,因此注释和答案都不正确。gdp[:as_matrix]不起作用,但gdp[:values]解决了它!谢谢