gpt4 book ai didi

dataframe - 按组计算唯一值的数量

转载 作者:行者123 更新时间:2023-12-03 21:45:07 24 4
gpt4 key购买 nike

我知道 combine(groupby(df, :A), nrow=>:count) 可以计算不同 :A 的行数。但是,为不同的 :B 获取 :A 的唯一值的数量应该是什么正确的实现?基本上,我正在寻找 R 的对应物: df %>% group_by(A) %>% summarize(n_unique = n_distinct(B)) 。谢谢!

最佳答案

我认为你应该能够做到

combine(groupby(df, :A), :B => length ∘ unique => :n_distint_B)
像这样:
julia> using DataFrames

julia> df = DataFrame(a = rand(["a", "b"], 20), b = rand(1:5, 20))
20×2 DataFrame
Row │ a b
│ String Int64
─────┼───────────────
1 │ a 3
2 │ b 4
3 │ a 1
4 │ a 1
5 │ b 1
6 │ a 2
7 │ b 4
8 │ a 2
9 │ b 2
10 │ b 1
11 │ b 3
12 │ b 3
13 │ a 4
14 │ a 4
15 │ b 3
16 │ b 2
17 │ a 5
18 │ a 5
19 │ b 5
20 │ a 1

julia> combine(groupby(df, :a), :b => length ∘ unique => :n_distinct_b)
2×2 DataFrame
Row │ a n_distinct_b
│ String Int64
─────┼──────────────────────
1 │ a 5
2 │ b 5

关于dataframe - 按组计算唯一值的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64858824/

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