我想轻松地将多个函数应用于 Julia 数据框中的单个列。这是 Julia Academy 上 DataFrames.jl 课程笔记本 5 中的一个简单示例。
Bogumil 向我们展示了jumps
通过执行以下操作轻松计算列的平均值:
combine(df, :jumps => mean)
Run Code Online (Sandbox Code Playgroud)
jumps_mean | |
---|---|
Float64 | |
1 | 2.7186 |
但是如果我想应用多个函数jumps
来获得多个汇总统计呢?到目前为止,我可以使以下内容起作用:
combine(df, :jumps => (x -> [(mean(x), std(x), minimum(x), maximum(x))]) => [:mean, :std, :min, :max])
Run Code Online (Sandbox Code Playgroud)
意思 | 标准 | 最大限度 | 分钟 | |
---|---|---|---|---|
Float64 | Float64 | 64位 | 64位 | |
1 | 2.7186 | 0.875671 | 2 | 11 |
是否有更简洁的语法来执行此操作,而无需将函数返回包装起来[ ]
或专门使用匿名函数?
例如,我想做:
combine(df, :jumps => (mean, std, minimum, maximum))
Run Code Online (Sandbox Code Playgroud)
做:
combine(df, :jumps .=> [mean, std, minimum, maximum])
Run Code Online (Sandbox Code Playgroud)
另请参阅Julia 中分组列的多个汇总统计信息以获取一些更高级的示例。