假设我创建以下数据框
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, :]
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句