Juria DataFrame 추가

7436 단어 Julia
Juria의 DataFrames는 파이톤으로 말하면 팬더스에 대응하는 것이다.Python에서는 matplotlib입니다.pyplot는pandas의 데이터 프레임을 지원하여 쉽게 완성할 수 있습니다.Juria 및 Plates 라이브러리는 DataFrames를 지원하지 않습니다.
julia> d = DataFrame(Dict("key"=>[1, 2, 3, 4], 
  "v0"=>[10, 20, 10, 5], "v1"=>[0, 10, 20, 30]))
4×3 DataFrame
 Row  key    v0     v1    
      Int64  Int64  Int64 
─────┼─────────────────────
   1      1     10      0
   2      2     20     10
   3      3     10     20
   4      4      5     30

julia> Plots.plot(d)
ERROR: Cannot convert DataFrame to series data for plotting

StatsPlots


StatsPlots
이런 포장이 있는데, 이것을 사용하면 데이터 프레임을 직접 그릴 수 있다.
julia> import StatsPlots
julia> StatsPlots.@df d plot(:key, [:v0, :v1])

그러나 이것은 잘 모르는 프로그램 라이브러리입니다. 아마도 매크로로 써서 그런지 행동이 잘 모르겠습니다[:v0, :v1] 변수로 이것뿐이다.
julia> vs = [:v0, :v1]
2-element Vector{Symbol}:
 :v0
 :v1

julia> StatsPlots.@df d plot(:key, vs)
ERROR: Cannot convert Symbol to series data for plotting
Stacktrace:
...

plot_df


어쩔 수 없어, 스스로 마음대로 써봐.x축 열.나머지 열을 데이터로 그립니다.꼬리표도 붙이고.여러 개의 선을 한꺼번에 그어 여러 개의 라벨을 지정할 수 있을 것 같지만 아무래도 좋지 않아 빙빙 돌면서 선을 하나씩 그릴 수밖에 없었다.
function plot_df(df, key)
    vals = filter((n)->! isequal(n, key), names(df))
    Plots.plot()
    Plots.xlabel!(key)
    for val in vals
        Plots.plot!(df[!,key], df[!, val], label=val)
    end
    Plots.plot!()
end
이렇게 하면
julia> plot_df(d, "key")
이렇게 돼서

좋은 웹페이지 즐겨찾기