Julia: Convert PyObject to Array

In Julia, I call the pandas_datareader python module to download data from the Internet:

using PyCall
@pyimport datetime
@pyimport pandas_datareader.data as web
gdp = web.DataReader("GDPCA","fred",start=datetime.datetime(1929,1,1))

The gdp variable is a PyObject object. Thus, I cannot manipulate it (for example, to take magazines). How to convert it to an array? I tried to convert (Array {Float64,2}, gdp), but this is only Julia's glitch.

Thanks!

+4
source share
1 answer

@pyimport Python pandas DataFrame PyObject. o::PyObject, o[:attribute] o.attribute Python . , , Julia Python,

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
...
+1

Source: https://habr.com/ru/post/1625201/


All Articles