标签: median

何时使用几何与算术平均值?

所以我想这在技术上不是一个代码问题,但我确信在编写代码时会为其他人和我自己提出这个问题,所以希望它仍然是一个很好的发布在 SO 上的问题。

谷歌已经指导我对何时使用一个或另一个财务数字以及诸如此类的事情进行了很多很好的冗长解释。

但是我的特定上下文不适合,我想知道这里是否有人有一些见解。我需要对特定项目的“好”程度进行大量个人用户的投票。即,一定数量的用户各自给特定项目打分 0 到 10 之间,我想报告“典型”分数是多少。将几何和/或算术平均值报告为典型响应的直观原因是什么?

或者,就此而言,我最好报告中位数吗?

我想“最好”的方法可能涉及一些心理学......

无论如何,你有它。

谢谢!

mean median

5
推荐指数
1
解决办法
3836
查看次数

使用scipy.weave.inline进行快速2D中值滤波

我在2D中值滤波器(3x3窗口)中存在瓶颈,我在一组非常大的图像上使用,我想尝试优化它.我测试过scipy.ndimagemedian_filter,以及PIL,scipy.signalscikits-image.然而,浏览SO我已经知道C中有一个快速的O(n)中值滤波器(恒定时间中的中值滤波,参见C中的滚动中值算法),我想知道我是否可以使用scipy在Python中实现它. weave.inline?有关替代路线的任何建议吗?

python filtering image-processing scipy median

5
推荐指数
1
解决办法
2373
查看次数

如何在Matlab中对大图像堆栈进行中值投影

我有一大堆800 16位灰度图像,2048x2048px.它们是从一个BigTIFF文件中读取的,整个堆栈几乎不适合我的RAM(8GB).现在我需要进行中位投影.这意味着我想计算所有800帧中每个像素的中位数.Matlab中值函数失败,因为没有足够的内存可以为函数调用复制整个数组.什么是计算中位数的有效方法?

我曾尝试使用for循环来计算一次一个像素的中位数,但这仍然非常慢.

matlab image-processing median

5
推荐指数
1
解决办法
398
查看次数

python,在中位数附近找到置信区间

如何在python中为我的数据找到中位数附近的置信区间?

说我有数组

a = np.array([24, 38, 61, 22, 16, 57, 31, 29, 35])
Run Code Online (Sandbox Code Playgroud)

我想在中位数附近找到 80% 的置信区间。我如何在 python 中做到这一点?

python intervals median

5
推荐指数
1
解决办法
1814
查看次数

获得阵列的中位数

我有一个看起来像这样的数组:

let arr = [1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

我知道你可以得到minmax通过:

let min = arr.min()
let max = arr.max()
Run Code Online (Sandbox Code Playgroud)

但你怎么得到中位数?

arrays median swift swift3

5
推荐指数
3
解决办法
4075
查看次数

获取对应的中位数索引

我有一个包含一列的熊猫数据框,我想知道中位数的索引。也就是说,我这样确定中位数:

df.median()

这给了我中值,但我想知道该行的索引。是否可以确定这一点?对于长度不均匀的列表,我可以搜索具有该值的索引,但对于偶数列表长度,这将不起作用。有人可以帮忙吗?

这个问题在另一篇文章中被问到,答案基本上是搜索与中位数具有相同值的行。但就像我说的,这不适用于偶数长度的列表。

下面是一个最小示例(我在下面包含了 Wen 的建议):

df = pd.DataFrame(np.random.randn(6, 1), columns=list('A'))
df.median()
df.loc[df[0]==df[0].median()]

Out[120]: 
Empty DataFrame
Columns: [0]
Index: []
Run Code Online (Sandbox Code Playgroud)

python indexing median dataframe pandas

5
推荐指数
2
解决办法
4444
查看次数

应用于 3D 数组以产生 2D 结果的 Python 中值滤波器

我在这个论坛上看到了一些关于应用带有移动窗口的中值滤波器的讨论,但我的应用程序有一个特殊的特性。

我有一个尺寸为750x12000x10000的 3D 数组,我需要应用一个中值滤波器来生成一个 2D 数组(12000x10000)。为此,每个中值计算都应考虑固定的邻域窗口(通常为100x100)和所有 z 轴值。矩阵中有一些零值,在计算中位数时不应考虑它们。为了处理真实数据,我使用numpy.memmap

fp = np.memmap(filename, dtype='float32', mode='w+', shape=(750, 12000, 10000))
Run Code Online (Sandbox Code Playgroud)

为了处理使用 memmap 存储的真实数据,我的输入数组被细分为几个块,但为了提高我的测试速度,我将在这篇文章中使用一个减少的数组(11, 200, 300)和一个较小的窗口(11, 5, 5)或 (11, 50, 50) 并且我期望结果矩阵 (200, 300):

import numpy as np
from timeit import default_timer as timer

zsize, ysize, xsize = (11, 200, 300)
w_size = 5 #to generate a 3D window (all_z, w_size, w_size)
#w_size = 50 #to generate a 3D window (all_z, w_size, w_size) …
Run Code Online (Sandbox Code Playgroud)

python arrays filtering numpy median

5
推荐指数
1
解决办法
1361
查看次数

返回最大化其(平均值 - 中位数)的整数子集

一组整数作为输入给出。您必须返回该集合的子集,以便该子集的均值 - 中位数是最大值。

示例 1

输入

{1,2,3,4} 
Run Code Online (Sandbox Code Playgroud)

输出

{1,2,4}
Run Code Online (Sandbox Code Playgroud)

示例 2

输入

{1,2,2,3,3}
Run Code Online (Sandbox Code Playgroud)

输出

{2,2,3}
Run Code Online (Sandbox Code Playgroud)

sorting algorithm subset mean median

5
推荐指数
1
解决办法
7491
查看次数

在1.5秒内找到超过2000万个3到4个不同整数的中位数

我试图排序并找到一个只包含3到4个不同整数的整数字符串的中位数.

我正在处理的数字量大约为2千万到2千5百万,我应该对向量进行排序,每次将新整数添加到向量中时找到中位数,并将中位数添加到单独的"总计"变量中每次生成中位数时,它会汇总所有中位数.

1                   Median: 1              Total: 1
1 , 2               Median: (1+2)/2 = 1    Total: 1 + 1 = 2
1 , 2 , 3           Median: 2              Total: 2 + 2 = 4
1 , 1 , 2 , 3       Median: (1+2)/2 = 1    Total: 4 + 1 = 5
1 , 1 , 1 , 2 , 3   Median: 1              Total: 5 + 1 = 6
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法来进一步优化我的代码,因为它不够高效.(必须在2s左右处理)有没有人知道如何进一步加快我的代码逻辑?

我目前在C++中使用2个堆或优先级队列.一个用作最大堆,另一个用作最小堆.

数据结构中找到了寻找中位数的想法

You can use 2 heaps, that we will …
Run Code Online (Sandbox Code Playgroud)

c++ performance big-o median data-structures

5
推荐指数
1
解决办法
136
查看次数

用awk计算滑动窗口的中值

我需要生成一个数百万行的滑动窗口并计算第 3 列的中位数。我的数据看起来像这样,第 1 列始终相同,第 2 列等于行号,第 3 列是我需要中位数的信息为了:

HiC_scaffold_1  1   34
HiC_scaffold_1  2   34
HiC_scaffold_1  3   36
HiC_scaffold_1  4   37
HiC_scaffold_1  5   38
HiC_scaffold_1  6   39
HiC_scaffold_1  7   40
HiC_scaffold_1  8   40
HiC_scaffold_1  9   40
HiC_scaffold_1  10  41
HiC_scaffold_1  11  41
HiC_scaffold_1  12  41
HiC_scaffold_1  13  44
HiC_scaffold_1  14  44
HiC_scaffold_1  15  55
Run Code Online (Sandbox Code Playgroud)

我需要这样的结果,假设滑动窗口为 4 并四舍五入到最接近的整数。在真实数据集中,我可能会使用 1000 的滑动窗口:

HiC_scaffold_1  4   35
HiC_scaffold_1  5   37
HiC_scaffold_1  6   38
HiC_scaffold_1  7   39
HiC_scaffold_1  8   40
HiC_scaffold_1  9   40
HiC_scaffold_1  10  40 …
Run Code Online (Sandbox Code Playgroud)

bash awk median sliding-window

5
推荐指数
2
解决办法
220
查看次数