Seaborn具有kdeplot
function,如果您传入cumulative=True
,则会得出数据的累积分布。我需要在x轴上注释或找出累积分布为80%的值,然后从该值绘制一条垂直线。
在numpy,scipy或Python中的其他地方是否存在可以计算该值的方法?
如果您已经拥有CDF,则可以执行以下操作。我不确定数据的格式,但是假设您有两个数组,一个是x值,另一个是y值,则可以搜索刚好在0.8之上的y值索引。相应的x值将是您要寻找的。由于您的y值应该已经排序,因此一种快速的方法是:
import bisect
index = bisect.bisect_right(y_vals, 0.8) - 1
这是最近的邻居方法。如果您想要一个稍微准确的x值,则可以在index
和index-1
之间进行线性插值。