首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataFrames.jl中唯一值组合汇总表

DataFrames.jl中唯一值组合汇总表
EN

Stack Overflow用户
提问于 2021-02-11 01:51:51
回答 2查看 52关注 0票数 4

我经常想在数据表中找到一些分组变量的唯一组合。使用R+ dplyr时,我的正常工作流程是组合groupby(data, var1, var2, var3) %>% summarise,它返回一个包含列var1var2var3的新表,在data中找到的每个唯一值组合对应一行。

在DataFrames.jl中做这件事的惯用方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2021-02-11 01:53:50

在DataFrames.jl中,DataFrame是行的集合。因此,这里正确的心理模型是首先只选择您关心的列,然后从该表中获取唯一的行,如下所示

代码语言:javascript
复制
select(data, [:var1, :var2, :var3]) |> unique!

(或者如果你讨厌烟斗/喜欢额外的括号:

代码语言:javascript
复制
unique!(select(data, [:var1, :var2, :var3]))

这里推荐使用unique!,因为select会复制底层列。或者,您可以使用视图或索引,但这些都需要unique (它不会改变底层列向量),以便不会破坏原始数据帧:

代码语言:javascript
复制
unique(data[!, [:var1, :var2, :var3]])
unique(view(data, :, [:var1, :var2, :var3]))
票数 7
EN

Stack Overflow用户

发布于 2021-02-11 02:17:48

或者,您可以这样写:

代码语言:javascript
复制
keys(groupby(data, [:var1, :var2, :var3]))

以获取唯一分组关键字的向量。然后,如果需要,可以通过编写以下代码将它们收集到DataFrame中:

代码语言:javascript
复制
groupby(data, [:var1, :var2, :var3]) |> keys |> DataFrame
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66142331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档