280得票28回答
在Python中查找列表的中位数

如何在Python中找到列表的中位数?该列表可以是任意大小,并且数字不保证按任何特定顺序排列。 如果列表包含偶数个元素,则函数应返回中间两个元素的平均值。 以下是一些示例(为了显示目的而排序):median([1]) == 1 median([1, 1]) == 1 median([1, ...

277得票38回答
在SQL Server中计算中位数的函数

根据MSDN,Transact-SQL中不支持中位数作为聚合函数。但是,我想了解是否可以创建此功能(使用Create Aggregate函数、用户定义函数或其他方法)。 如果可能的话,最好的方法是什么 - 允许在聚合查询中计算中位数值(假设为数字数据类型)?

266得票50回答
MySQL中计算中位数的简单方法

如何在 MySQL 中计算中位数,最好是简单快速的方法?我已经使用 AVG(x) 找到了平均值,但我很难找到一种简单的方式来计算中位数。目前,我正在将所有行返回到 PHP 中,排序,然后选择中间行,但肯定有一些简单的方法可以在单个 MySQL 查询中完成。 示例数据:id | val ---...

254得票10回答
从整数流中查找运行中位数

可能重复: C语言中的滚动中位数算法 假设从数据流中读取整数。以有效的方式查找到目前为止读取的元素的中位数。 我所了解的解决方法是:我们可以在左侧使用一个最大堆来表示小于有效中位数的元素,在右侧使用一个最小堆来表示大于有效中位数的元素。 在处理传入的元素后,两个堆中的元素数量最...

128得票13回答
C语言中的滚动中位数算法

我目前正在编写一个用于在 C 中实现滚动中位数滤波器(类似于滚动平均滤波器)的算法。通过查阅文献,似乎有两种比较有效的方法来实现它。第一种方法是对初始值窗口进行排序,然后执行二分搜索以在每次迭代时插入新值并删除现有值。 第二种方法(来自 Hardle 和 Steiger,在 1995 年的 ...

88得票14回答
估算统计中位数、众数、偏度和峰度的“在线”(迭代器)算法?

有没有一种算法可以估计一组值的中位数、众数、偏度和/或峰度,但不需要一次性将所有值存储在内存中? 我想计算基本统计量: 平均值: 算术平均值 方差: 平均偏差的平方 标准差: 方差的平方根 中位数: 将数字中较大的一半与较小的一半分开的值 众数: 集合中出现最频繁的值 偏度: tl; d...

85得票9回答
如何使用Spark找到中位数和分位数

如何使用分布式方法、IPython和Spark找到整数RDD的中位数?这个RDD大约有700,000个元素,因此太大了无法收集和找到中位数。 这个问题类似于这个问题:如何使用Apache Spark计算精确的中位数?。然而,问题的答案是用Scala写的,而我不懂Scala。 根据Scala...

84得票12回答
在C#中计算中位数

我需要编写一个函数来接受十进制数数组,并找到其中位数。 .net Math库中是否有此功能?

80得票8回答
在PySpark的groupBy中,中位数/分位数。

我希望在一个Spark dataframe上(使用PySpark)计算组分位数。无论是精确的还是近似的结果都可以。我希望找到一个解决方案,可以在groupBy / agg的上下文中使用,以便可以将其与其他PySpark聚合函数混合使用。如果由于某些原因不可能,请提供另一种方法。与此相关的问题没...

71得票9回答
寻找未排序数组的中位数

要找到未排序数组的中位数,我们可以在O(nlogn)时间内为n个元素创建一个最小堆,然后我们可以一次提取n/2个元素,以获取中位数。但这种方法需要O(nlogn)的时间。 我们能否通过某种O(n)时间的方法做到同样的事情呢? 如果可以,请告诉或建议一些方法。