julia - 从另一个 DataFrame 中提取单独的分组 DataFrame
问题描述
将组提取到单独的最佳/最惯用的方法是DataFrames
什么?这在很多方面都很有用(例如,为每个组训练单独的模型、每个组的数据可视化、保存数据的特定子集等)
此类问题的一个最小示例可能是:
using DataFrames
df = DataFrame(Dict(:groups => ["A", "B", "A"],
:val1 => [1, 2, -4],
:val2 => [3, 9, 1]))
理想的输出是这样的:
group_dict = Dict("A" => DataFrame(Dict(:val1 => [1, -4], :val2 => [3, 1])),
"B" => DataFrame(Dict(:val1 => [2], :val2 => [9])))
一个干净的解决方案是利用Query.jl
's @groupby
:
using Query
df |> @groupby(_.groups) |> ?? |> Dict
但是,我被困在最后一步(即将它变成字典或其他命名集合)。
解决方案
您可以使用DataFrames.groupby(df,:groups)
返回一个 GroupedDataFrame,它是 SubDataFrames 的集合。
推荐阅读
- sequelize.js - Sequelize js如何使用带有模型的数据库函数
- timezone - date-fns 的时区支持
- ruby-on-rails - Active Storage S3 交付域
- javascript - Puppeteer 启动隐身
- xpath - 无法通过引用同一行的文本找到选中复选框
- database - Android Room - 扩展类的实体上的列冲突
- visitor-pattern - 使用访问者模式和单独的类有什么区别?
- c# - 如何用名称中的特殊字符命名 .aspx 页面?
- python - 对 Python 非常陌生,需要指导
- qliksense - 在调用 getHyperCubeData 时过滤数据