gpt4 book ai didi

dataframe - 如何在 Julia 中将 GroupedDataFrame 转换为 DataFrame?

转载 作者:行者123 更新时间:2023-12-04 19:45:38 24 4
gpt4 key购买 nike

我使用 groupby 函数对 DataFrame 的子集进行了计算:

using RDatasets
iris = dataset("datasets", "iris")
describe(iris)
iris_grouped = groupby(iris,:Species)
iris_avg = map(:SepalLength => mean,iris_grouped::GroupedDataFrame)

现在我想绘制结果,但我收到以下绘图的错误消息:

@df iris_avg bar(:Species,:SepalLength)

Only tables are supported

绘制数据的最佳方式是什么?我的想法是创建一个单一的 DataFrame 并从那里开始。我该怎么做,即如何将 GroupedDataFrame 转换为单个 DataFrame?谢谢!

最佳答案

要将 GroupedDataFrame 转换为 DataFrame 只需对其调用 DataFrame,例如:

julia> DataFrame(iris_avg)
3×2 DataFrame
│ Row │ Species │ SepalLength_mean │
│ │ Categorical… │ Float64 │
├─────┼──────────────┼──────────────────┤
│ 1 │ setosa │ 5.006 │
│ 2 │ versicolor │ 5.936 │
│ 3 │ virginica │ 6.588 │

在你的情况下。

你也可以这样写:

julia> combine(:SepalLength => mean, iris_grouped)
3×2 DataFrame
│ Row │ Species │ SepalLength_mean │
│ │ Categorical… │ Float64 │
├─────┼──────────────┼──────────────────┤
│ 1 │ setosa │ 5.006 │
│ 2 │ versicolor │ 5.936 │
│ 3 │ virginica │ 6.588 │

在原始的GroupedDataFrame

julia> by(:SepalLength => mean, iris, :Species)
3×2 DataFrame
│ Row │ Species │ SepalLength_mean │
│ │ Categorical… │ Float64 │
├─────┼──────────────┼──────────────────┤
│ 1 │ setosa │ 5.006 │
│ 2 │ versicolor │ 5.936 │
│ 3 │ virginica │ 6.588 │

在原始 DataFrame 上。

我在这里将转换写为第一个参数,但通常,您会将其写为最后一个(这样您就可以传递多个转换),例如:

julia> by(iris, :Species, :SepalLength => mean, :SepalWidth => minimum)
3×3 DataFrame
│ Row │ Species │ SepalLength_mean │ SepalWidth_minimum │
│ │ Categorical… │ Float64 │ Float64 │
├─────┼──────────────┼──────────────────┼────────────────────┤
│ 1 │ setosa │ 5.006 │ 2.3 │
│ 2 │ versicolor │ 5.936 │ 2.0 │
│ 3 │ virginica │ 6.588 │ 2.2 │

关于dataframe - 如何在 Julia 中将 GroupedDataFrame 转换为 DataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58066088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com