gpt4 book ai didi

dataframe - 在 Julia 中过滤分组的 DataFrame

转载 作者:行者123 更新时间:2023-12-05 03:28:10 26 4
gpt4 key购买 nike

我有一个DataFrame

df = DataFrame(a = [1,1,2,2,2])

5×1 DataFrame
Row │ a
│ Int64
─────┼───────
1 │ 1
2 │ 1
3 │ 2
4 │ 2
5 │ 2

我想用 2 行过滤组 - 理想情况下使用 Chain 并且可能使用 DataFramesMeta - 我无法让它工作。

像这样第一次为此创建一个单独的列时它确实有效

@chain df begin
groupby(:a)
@transform(:rows = length(:a))
@subset(:rows .== 2)
end

2×2 DataFrame
Row │ a rows
│ Int64 Int64
─────┼──────────────
1 │ 1 2
2 │ 1 2

但是在 @subset() 中做同样的计算时它不起作用。谁有聪明的解决方案?

最佳答案

代替 subset,为此使用 filter:

julia> @chain df begin
groupby(:a)
filter(:a => a -> length(a) == 2, _)
end
GroupedDataFrame with 1 group based on key: a
First Group (2 rows): a = 1
Row │ a
│ Int64
─────┼───────
1 │ 1
2 │ 1

julia> # OR:

julia> @chain df begin
groupby(:a)
filter(_) do subdf
length(subdf.a) == 2
end
end
GroupedDataFrame with 1 group based on key: a
First Group (2 rows): a = 1
Row │ a
│ Int64
─────┼───────
1 │ 1
2 │ 1


关于dataframe - 在 Julia 中过滤分组的 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71286257/

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