如何解决在Julia中使用DataFrames实现Pareto函数?
您知道我在哪里可以在Julia中找到DataFrames的max()min()函数吗?数据帧包括X,Y,Z坐标。我想找到x和y坐标最高的点的最大值。 还是应该使用“ for循环”和“ if条件”来实现?
1.EDIT: 例如,我有X,Y,Z坐标的不同点,而实际上我想找到X坐标最高的点。我已经完成了对数据框的排序。 但是如何找到X和Y坐标最高的点呢?从数据中的所有其他点组合起来。
2.EDIT: 在这种情况下,帕累托效果很好,也许这是我的错误解释。如何使用该原理使所有粒子围绕圆?目的是获得所有相关的粒子->闭合的圆,当然,这只是一个圆的近似值。到达圆环的示例条件:
- 点:X和Y最大值
- 点:X和Y最小
- 点:X最大值&Y最大值/ 2
- 点:X最大值/ 2&Y最大值
- ...
谢谢!
解决方法
首先生成数据:
julia> using DataFrames,PyPlot
julia> df = DataFrame(x=rand(1000),y=rand(1000));
julia> filter!(sdf -> sdf.x^2+sdf.y^2 < 1,df);
julia> scatter(df.x,df.y);
现在您将建立帕累托阵线:
julia> sort!(df,rev=true);
julia> pareto = df[1:1,:];
julia> foreach(row -> row.y > pareto.y[end] && push!(pareto,row),eachrow(df));
julia> scatter(pareto.x,pareto.y);
(您拥有属于帕累托前沿的点以橙色绘制)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。