5

Julia では、Python モジュール pandas_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 オブジェクトです。そのため、それを操作することはできません (たとえば、ログを取ります)。配列に変換するにはどうすればよいですか? convert(Array{Float64,2},gdp) を試しましたが、ジュリアがクラッシュするだけです。

ありがとう!

4

1 に答える 1

2

この@pyimportマクロは、タイプを介して Python オブジェクト (この場合は pandas DataFrame) を操作するために使用されますPyObject。与えられo::PyObjectた は、自動型変換を使用する Python のo[:attribute]と同等です。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
...
于 2016-08-29T06:32:21.133 に答える