标签: percentile

如何使用python/numpy计算百分位数?

有没有一种方便的方法来计算序列或单维numpy数组的百分位数?

我正在寻找类似于Excel的百分位函数的东西.

我查看了NumPy的统计参考,但是找不到这个.我能找到的只是中位数(第50百分位数),但不是更具体的东西.

python statistics numpy percentile numpy-ndarray

193
推荐指数
7
解决办法
24万
查看次数

实时数据捕获的百分位数

我正在寻找一种算法来确定实时数据捕获的百分位数.

例如,考虑开发服务器应用程序.

服务器的响应时间可能如下:17 ms 33 ms 52 ms 60 ms 55 ms等.

报告第90百分位响应时间,第80百分位响应时间等是有用的.

朴素算法是将每个响应时间插入列表中.请求统计信息时,对列表进行排序并将值放在适当的位置.

内存使用量与请求数量呈线性关系.

是否有一种算法可以在内存使用量有限的情况下产生"近似"百分位数统计量?例如,假设我想以一种处理数百万个请求的方式来解决这个问题,但只想使用一千字节的内存进行百分位跟踪(丢弃旧请求的跟踪不是一个选项,因为百分位数应该是满足所有要求).

还要求不存在分布的先验知识.例如,我不希望提前指定任何范围的存储桶.

algorithm response-time resampling percentile

40
推荐指数
6
解决办法
1万
查看次数

消除给定百分位数的所有数据

我有一个DataFrame叫做data列的大熊猫ms.我想消除data.ms高于95%百分位数的所有行.现在,我这样做:

limit = data.ms.describe(90)['95%']
valid_data = data[data['ms'] < limit]
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我想把它推广到任何百分位数.最好的方法是什么?

python filtering percentile pandas

32
推荐指数
3
解决办法
3万
查看次数

计算数据集列的百分位数

一个快速的,最亲爱的R大师:

我正在做一项任务,在本练习中,我被要求从infert数据集中获取基本统计数据(它是内置的),特别是其中一列infert$age.

对于不熟悉数据集的人:

> table_ages     # Which is just subset(infert, select=c("age"));
    age
1    26
2    42
3    39
4    34
5    35
6    36
7    23
8    32
9    21
10   28
11   29
...
246  35
247  29
248  23
Run Code Online (Sandbox Code Playgroud)

我必须找到列的中值,方差,偏度,标准偏差都可以,直到我被要求找到列"百分位数".

到目前为止,我还没有找到任何东西,也许我从希腊语中错误地翻译了它,这是作业的语言.这是"ποσοστημόρια",谷歌翻译指出英文术语是"百分位数".

找到那些"百分位数"的任何教程或想法infert$age

statistics r percentile

31
推荐指数
4
解决办法
10万
查看次数

重复计算百分位数的快速算法?

在算法中,每当我添加一个值时,我都必须计算数据集的第75个百分位数.现在我这样做:

  1. 获得价值 x
  2. x在后面插入已排序的数组
  3. 交换x,直到数组排序
  4. 读取位置处的元素 array[array.size * 3/4]

点3是O(n),其余是O(1),但这仍然很慢,特别是如果阵列变大.有没有办法优化这个?

UPDATE

谢谢尼基塔!由于我使用的是C++,因此这是最容易实现的解决方案.这是代码:

template<class T>
class IterativePercentile {
public:
  /// Percentile has to be in range [0, 1(
  IterativePercentile(double percentile)
    : _percentile(percentile)
  { }

  // Adds a number in O(log(n))
  void add(const T& x) {
    if (_lower.empty() || x <= _lower.front()) {
      _lower.push_back(x);
      std::push_heap(_lower.begin(), _lower.end(), std::less<T>());
    } else {
      _upper.push_back(x);
      std::push_heap(_upper.begin(), _upper.end(), std::greater<T>());
    }

    unsigned size_lower = (unsigned)((_lower.size() + _upper.size()) * _percentile) + 1;
    if (_lower.size() …
Run Code Online (Sandbox Code Playgroud)

algorithm optimization percentile data-structures

30
推荐指数
2
解决办法
2万
查看次数

matplotlib:在绘图时忽略异常值

我正在绘制各种测试的一些数据.有时在测试中我碰巧有一个异常值(比如说0.1),而所有其他值都小三个数量级.

使用matplotlib,我会对范围进行绘图 [0, max_data_value]

我怎样才能放大我的数据而不显示异常值,这会弄乱我的情节中的x轴?

我应该简单地采用95%并且[0, 95_percentile] 在x轴上具有范围吗?

python plot matplotlib outliers percentile

29
推荐指数
4
解决办法
3万
查看次数

百分位数计算

我想在C#(或在某些伪代码中)模仿Excel等效PERCENTILE函数.我怎样才能做到这一点?该函数应该采用两个参数,其中第一个是值列表,第二个是函数应该计算的百分位数.

坦克!

编辑:我很抱歉,如果我的问题发生了,就像我没有尝试过我自己.我只是无法理解excel函数是如何工作的(是的,我首先尝试了wikipedia和wolfram)并且我认为如果有人在代码中提出它我会更好理解.@CodeInChaos给出了一个似乎就是我追求的答案.

c# algorithm math percentile

23
推荐指数
2
解决办法
3万
查看次数

将每个列表值映射到其对应的百分位数

我想创建一个函数,它将(有序)列表作为其参数,并输出一个包含每个元素的相应百分位数的列表.

例如,fn([1,2,3,4,17])退货[0.0, 0.25, 0.50, 0.75, 1.00].

任何人都可以请:

  1. 帮我纠正下面的代码?要么
  2. 提供比我的代码更好的替代方案,用于将列表中的值映射到相应的百分位数?

我目前的代码:

def median(mylist):
    length = len(mylist)
    if not length % 2:
        return (mylist[length / 2] + mylist[length / 2 - 1]) / 2.0
    return mylist[length / 2]

###############################################################################
# PERCENTILE FUNCTION
###############################################################################

def percentile(x):
    """
    Find the correspoding percentile of each value relative to a list of values.
    where x is the list of values
    Input list should already be sorted!
    """

    # sort the input list …
Run Code Online (Sandbox Code Playgroud)

python numpy scipy median percentile

23
推荐指数
4
解决办法
2万
查看次数

postgresql中的第n个百分位数计算

我出乎意料地无法找到postgresql的第n个百分位函数.

我通过mondrian olap工具使用这个,所以我只需要一个返回95%的聚合函数.

我找到了这个链接:

http://www.postgresql.org/message-id/162867790907102334r71db0227jfa0e4bd96f48b8e4@mail.gmail.com

但由于某些原因,该百分位函数中的代码在某些情况下使用某些查询返回空值.我已经检查了数据,数据中没有什么奇怪的东西会导致这种情况!

postgresql function percentile

22
推荐指数
2
解决办法
4万
查看次数

使用numpy的加权百分位数

有没有办法使用numpy.percentile函数来计算加权百分位数?或者是否有人知道替代python函数来计算加权百分位数?

谢谢!

python numpy percentile weighted

22
推荐指数
7
解决办法
1万
查看次数