gpt4 book ai didi

dataframe - 选择分组数据框中每个组的第 n 个元素

转载 作者:行者123 更新时间:2023-12-04 01:05:57 25 4
gpt4 key购买 nike

假设我创建以下数据框

using DataFrames
df = DataFrame(A = rand(500), B = repeat(1:10, inner=50), C = 1:500)

我可以做一个groupby:

grouped_df = groupby(df,"B")

我最终会得到 10 个组。例如,我如何选择每个组的第三个元素,并将它们组合成一个新的数据框?也就是说,我想要一个包含 10 行的新数据框,每行都是每个组的第三个元素?

我查看了combine,但找不到解决方案。我能得到提示吗?

最佳答案

要从每个组中获取第三行,首先使用groupby,然后使用索引combine:

julia> combine(groupby(df, :B), x->x[3, :])
10×3 DataFrame
Row │ B A C
│ Int64 Float64 Int64
─────┼─────────────────────────
1 │ 1 0.196572 3
2 │ 2 0.539942 53
3 │ 3 0.243455 103
4 │ 4 0.837491 153
5 │ 5 0.672861 203
6 │ 6 0.0220219 253
7 │ 7 0.303417 303
8 │ 8 0.409596 353
9 │ 9 0.165928 403
10 │ 10 0.752038 453

(我最初误读了这个问题并建议使用逻辑索引,例如 df[df.B .== 3, :])

关于dataframe - 选择分组数据框中每个组的第 n 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66483304/

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