需要从散点图(x-y)提取最高值:最高X和最高Y

时间:2018-08-07 05:09:15

标签: python dataframe plot scatter-plot

我有一个具有不同值的数据集,如下所示:

     name   X   Y
       a    1   8
       b    11  12
       c    8   8
       d    4   13
       e    12  4
       f    11  11
       g    0   8
       h    0   9
       i    11  7

和基于它的图:

enter image description here

我需要获取的是一个数据帧,该数据帧的前4个(红色圆圈)或前“任意数字”。类似的东西:

  name  X   Y
    b   11  12
    f   11  11
    i   11  7
    c   8   8

我一直在使用以下内容,但效果不佳:

df1 = df.sort_values(['A', 'B'],ascending=False)
print(df1)

2 个答案:

答案 0 :(得分:2)

您可以尝试以下操作:

 df['Z']= (df.X*df.Y)
 df2=(df.sort_values('Z',ascending=False).head(4))
 df2[['X','Y']]

输出:

 X  Y
11  12
11  11
11  7
8   8

答案 1 :(得分:0)

不明白“最高”的真正含义是什么。红色圆圈中的点并非在X轴或Y轴上都排在前4位。

所以我认为您的意思可能是指定点与参考点之间的距离(例如[0,0]或其他)。 如果是这样,可以尝试定义一个新的参数。

df ['c'] = np.sqrt((df ['x']-X0)** 2+(df ['y']-Y0)** 2)

df = df.sorted_value(['c'],ascending = False)