Julia:为DataFrame的y列中的每个唯一值创建x列的摘要值
对于Julia:为DataFrame的y列中的每个唯一值创建x列的摘要值,dataframe,julia,Dataframe,Julia,对于y列中的每个唯一值,我想对我的DataFrame的x列应用一些函数,如均值和方差。我可以想象建立一个循环,手动将数据帧子集,以完成我的目标,但我试图不为可能是一个共同特性的东西重新发明轮子 using DataFrames mydf = DataFrame(y = [randstring(1) for i in 1:1000], x = rand(1000)) # I could imagine a function that looks like: apply(function = mea
y
列中的每个唯一值,我想对我的DataFrame
的x列应用一些函数,如均值和方差。我可以想象建立一个循环,手动将数据帧子集
,以完成我的目标,但我试图不为可能是一个共同特性的东西重新发明轮子
using DataFrames
mydf = DataFrame(y = [randstring(1) for i in 1:1000], x = rand(1000))
# I could imagine a function that looks like:
apply(function = mean, across = mydf[:x], by = mydf[:y])
你说得对,这很普遍。请查看文档中的章节。这里有几种方法:您可以使用更通用的by
函数来精确指定要对哪些列进行操作,也可以使用方便的aggregate
函数来使用所有其他列并自动合理地命名它们:
julia> aggregate(mydf, :y, mean)
62×2 DataFrames.DataFrame
│ Row │ y │ x_mean │
├─────┼─────┼──────────┤
│ 1 │ "0" │ 0.454196 │
│ 2 │ "1" │ 0.541434 │
│ 3 │ "2" │ 0.36734 │
⋮
groupby
是你的朋友。查看在线文档中的示例,在REPL中键入?groupby
(特别是使用合并
)可能重复的