微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Julia中使用DataFrames实现Pareto函数?

如何解决在Julia中使用DataFrames实现Pareto函数?

您知道我在哪里可以在Julia中找到DataFrames的max()min()函数吗?数据帧包括X,Y,Z坐标。我想找到x和y坐标最高的点的最大值。 还是应该使用“ for循环”和“ if条件”来实现?

1.EDIT: 例如,我有X,Y,Z坐标的不同点,而实际上我想找到X坐标最高的点。我已经完成了对数据框的排序。 但是如何找到X和Y坐标最高的点呢?从数据中的所有其他点组合起来。

2.EDIT: 在这种情况下,帕累托效果很好,也许这是我的错误解释。如何使用该原理使所有粒子围绕圆?目的是获得所有相关的粒子->闭合的圆,当然,这只是一个圆的近似值。到达圆环的示例条件:

  1. 点:X和Y最大值
  2. 点:X和Y最小
  3. 点:X最大值&Y最大值/ 2
  4. 点:X最大值/ 2&Y最大值
  5. ...

Particle Plot

谢谢!

解决方法

首先生成数据:

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);

得到类似的东西: enter image description here

现在您将建立帕累托阵线:

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);

获得: enter image description here

(您拥有属于帕累托前沿的点以橙色绘制)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。