标签: median

在 Access 2007 中使用 Group By 计算中位数的最佳方法

我有一个表,其中包含一本书,然后包含该书的多个价格(这是一个高度简化的示例):

身份证价格
1 本书1 10
2 书 1 15
3 书 1 12
4 书2 8
5 书2 2

我很容易计算平均值,但是一定有一个很好的方法来计算中位数吗?

当前SQL:

SELECT DISTINCTROW Books.BOOK, Avg(Books.PRICE) AS [Avg Of PRICE]
FROM Books
GROUP BY Books.BOOK;
Run Code Online (Sandbox Code Playgroud)

结果:

预订平均价格
书1 12.3333333333333
书2 5

sql ms-access ms-access-2007 median

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

2D CUDA 中值滤波器优化

我在 CUDA 中实现了一个 2D 中值滤波器,整个程序如下所示。

#include "cuda_runtime.h"
#include "cuda_runtime_api.h"
#include "device_launch_parameters.h"
#include <iostream>  
#include <fstream>   
#include <iomanip>   
#include <windows.h>
#include <io.h>                  
#include <stdio.h>
#include<conio.h>
#include <cstdlib>
#include "cstdlib"
#include <process.h>
#include <stdlib.h>
#include <malloc.h>
#include <ctime>
using namespace std;

#define MEDIAN_DIMENSION  3 // For matrix of 3 x 3. We can Use 5 x 5 , 7 x 7 , 9 x 9......   
#define MEDIAN_LENGTH 9   // Shoul be  MEDIAN_DIMENSION x MEDIAN_DIMENSION = 3 x 3

#define BLOCK_WIDTH 16  // …
Run Code Online (Sandbox Code Playgroud)

c++ optimization performance cuda median

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

如何计算Postgres中的中位数?

我已经创建了一个基本数据库(附图)数据库,我试图找到以下内容:

“每个用户在每个日历月中花费的总金额中位数”

我尝试了以下操作,但出现错误:

SELECT 
user_id,
AVG(total_per_user)
FROM (SELECT user_id,
        ROW_NUMBER() over (ORDER BY total_per_user DESC) AS desc_total,
        ROW_NUMBER() over (ORDER BY total_per_user ASC) AS asc_total
      FROM (SELECT EXTRACT(MONTH FROM created_at) AS calendar_month,
            user_id,    
            SUM(amount) AS total_per_user
            FROM transactions
            GROUP BY calendar_month, user_id) AS total_amount   
      ORDER BY user_id) AS a
WHERE asc_total IN (desc_total, desc_total+1, desc_total-1)
GROUP BY user_id
;
Run Code Online (Sandbox Code Playgroud)

sql postgresql group-by date median

4
推荐指数
1
解决办法
1363
查看次数

O(log n)中的中值算法

我们如何删除具有时间复杂度O(log n)的集合的中值?有些想法?

algorithm median

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

在R中生成数字

在R中,我如何生成平均值为X且中位数为Y(至少接近)的N个数字.

或者更一般地说,是否有算法?

r mean median

3
推荐指数
1
解决办法
1426
查看次数

ggplot2:boxplot只用于计算位于y轴范围内的值吗?

我注意到boxplot的中位数(使用受限制的ylim参数构建)可能与中位数() - 函数或没有调整y轴的boxplot获得的中位数不同.

是否意味着箱图仅用于计算位于y轴定义区间内的值?如果是这样,我怎么能得到正确的箱形图(基于所有值),但是在y.axis的特定间隔上绘制它?

非常感谢你.

r median ggplot2 boxplot

3
推荐指数
1
解决办法
399
查看次数

平衡KD树

因此,在平衡KD树时,您应该找到中位数,然后将所有较少的元素放在左子树上,而将更大的元素放在右侧.但是如果你有多个与中位数具有相同价值的元素,会发生什么?他们是左边的子树,右边还是丢弃它们?

我问,因为我尝试过多次操作,它会影响我最近邻搜索算法的结果,并且在某些情况下,树的给定部分的所有元素都将具有完全相同的值,因此我不这样做知道在这种情况下如何拆分它们.

c++ tree kdtree median tree-balancing

3
推荐指数
1
解决办法
2551
查看次数

使用Python和OpenCV进行中值过滤

我尝试使用python程序进行中值滤波.我收到了这篇文章http://www.programming-techniques.com/2013/02/median-filter-using-c-and-opencv-image.html,所以我尝试将该代码翻译成python代码.

这是python中的代码

from cv2 import * #Import functions from OpenCV
import cv2

if __name__ == '__main__':
    source = cv2.imread("Medianfilterp.png", CV_LOAD_IMAGE_GRAYSCALE)
    final = source[:]
    for y in range(len(source)):
        for x in range(y):
            final[y,x]=source[y,x]

    members=[source[0,0]]*9
    for y in range(1,len(source)-1):
        for x in range(1,y-1):
            members[0] = source[y-1,x-1]
            members[1] = source[y,x-1]
            members[2] = source[y+1,x-1]
            members[3] = source[y-1,x]
            members[4] = source[y,x]
            members[5] = source[y+1,x]
            members[6] = source[y-1,x+1]
            members[7] = source[y,x+1]
            members[8] = source[y+1,x+1]

            members.sort()
            final[y,x]=members[4]

    cv.NamedWindow('Source_Picture', cv.CV_WINDOW_AUTOSIZE)
    cv.NamedWindow('Final_Picture', cv.CV_WINDOW_AUTOSIZE)
    cv2.imshow('Source_Picture', source) #Show the …
Run Code Online (Sandbox Code Playgroud)

python opencv filter median

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

使用2堆找到中值的复杂性

找到给定的一组n个数的中值的方法是将它们分配到2个堆中.1是包含较低n/2(ceil(n/2))数的最大堆和包含其余数的最小堆.如果以这种方式维护,则中位数是第一个堆的最大值(如果n是偶数,则与第二个堆的最小值一起).这是我的c ++代码,它执行此操作:

priority_queue<int, vector<int> > left;
priority_queue<int,vector<int>, greater<int> > right;
cin>>n; //n= number of items
for (int i=0;i<n;i++) {
    cin>>a;
    if (left.empty())
        left.push(a);
    else if (left.size()<=right.size()) {
            if (a<=right.top())
                left.push(a);
            else {
                left.push(right.top());
                right.pop();
                right.push(a);
            }
    }
    else {
        if (a>=left.top())
            right.push(a);
        else {
            right.push(left.top());
            left.pop();
            left.push(a);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我们知道 heapify操作具有线性复杂性.这是否意味着如果我们将数字一个接一个地插入到上面的代码中的两个堆中,我们发现线性时间的中位数?

algorithm heap median

3
推荐指数
1
解决办法
1498
查看次数

使用中位数而不是均值的Seaborn线图

seaborn.lineplot()用来创建这样的折线图(代表均值的线,由代表std的带包围):

sns.lineplot(x="trial", y="rvalues", hue="subject", err_style="band", ci='sd', data=df)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我唯一的问题是,由于我的数据不是高斯数据,因此我更关心中位数而不是均值。在Seaborn中该怎么做?

还是有类似的工具可以?我知道我可以在matplotlib中从头开始做,但是要使它变得如此好,需要大量的工作。

matplotlib median seaborn

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