标签: rank

使用 Javascript 的电子商务网站的简单流行/趋势产品算法

我目前正在构建一个小型电子商务网站,对于主页,我想根据受欢迎程度对产品进行排名。产品架构具有以下数据:

{
  ...
  noViews: Number,  // Number of times a user has clicked on the product
  avgRating: Number, // Average star rating (1 - 5)
  datePosted: Date // Date the product was posted
}
Run Code Online (Sandbox Code Playgroud)

我可以使用什么(相对)简单的算法/代码来实现这一点(使用 Node.js),其中产品将根据受欢迎程度进行排名(考虑到时间,因此内容不会过时)。

谢谢。

javascript algorithm rank mongodb node.js

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

什么是简洁排名数据结构?它是如何工作的?

我听说过一类数据结构,称为简洁等级数据结构。这些数据结构有什么作用呢?这里的“简洁”是什么意思?它们是如何工作的?

bit rank space-complexity data-structures

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

获得矩阵条目的排名?

假设一个矩阵:

> a <- matrix(c(100, 90, 80, 20), 2, 2)
> a
     [,1] [,2]
[1,]  100   80
[2,]   90   20
Run Code Online (Sandbox Code Playgroud)

假设我想将矩阵的元素转换为rank:

>rank.a <- rank(a)
> rank.a
[1] 4 3 2 1
Run Code Online (Sandbox Code Playgroud)

这返回一个向量,即矩阵结构丢失.是否可以对矩阵进行排序,使输出具有以下形式:

     [,1] [,2]
[1,]   4    2 
[2,]   3    1
Run Code Online (Sandbox Code Playgroud)

r matrix rank

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

轮盘赌选择和基于排名的选择之间的差异

轮盘赌选择与遗传算法中基于排名的选择有何不同.

我很困惑哪一个对我来说最好.这就是为什么只想知道差异.

algorithm genetic selection rank

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

计算向量中每个索引的等级

我想计算一个向量中每个索引的等级,例如:

x <- c(0.82324952352792, 0.11953364405781, 0.588659686036408, 0.41683742380701, 
       0.11452184105292, 0.438547774450853, 0.586471405345947, 0.943002870306373, 
       0.28184655145742, 0.722095313714817)

calcRank <- function(x){
  sorted <- x[order(x)]
  ranks <- sapply(x, function(x) which(sorted==x))
  return(ranks)
}

calcRank(x)

> calcRank(x)
 [1]  9  2  7  4  1  5  6 10  3  8
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

r rank

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

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

python中graphviz中的图节点位置

我一直在寻找在python中的graphviz中指定图中节点位置的方法。我在点中找到了一个子图的等级命令,这就是我想要的,但是我找不到在python中的graphviz中组合子图和等级的方法。我也尝试强行设置节点位置,但也没有用。我创建了一个想要实现的简单示例。

这是我的代码:

from graphviz import Digraph

top_nodes = ['a', 'b', 'c']

other_nodes = ['d', 'e', 'f', 'g', 'm', 'n']

g = Digraph('test', format='png')

for n in top_nodes:
    g.node(str(n), color='red')

for n in other_nodes:
    g.node(str(n))

g.edge('a', 'd')
g.edge('d', 'g')
g.edge('g', 'm')
g.edge('m', 'n')
g.edge('b', 'e')
g.edge('b', 'f')
g.edge('e', 'n')
g.edge('c', 'f')

g.view()
Run Code Online (Sandbox Code Playgroud)

这是输出:

图形

我希望红色节点(“源”)位于同一级别的图形顶部,其他节点的位置并不重要,只要保留层次结构即可。

python graph graphviz rank

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

组内子组的唯一排名值

我试图获得一个独特的排名值(例如{1, 2, 3, 4}来自我的数据中的一个子组ties{1, 1, 3, 4}.SUMPRODUCT 将产生,我试图将COUNTIFS添加到最后以调整重复排名.

                subgroup
col B   col M    rank
LMN       01      1
XYZ       02        
XYZ       02    
ABC       03    
ABC       01    
XYZ       01    
LMN       02      3
ABC       01    
LMN       03      4
LMN       03      4  'should be 5
ABC       02    
XYZ       02    
LMN       01      1  'should be 2   
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经想出了这个.

=SUMPRODUCT(($B$2:$B$38705=B2)*(M2>$M$2:$M$38705))+countifs(B2:B38705=B2,M2:M38705=M2)
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

excel excel-formula rank

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

熊猫排名方法密集但跳过一个数字

我有一个示例数据集,我正在尝试根据"HP"列中的值进行排名:

import pandas as pd

d = {
 'unit': ['UD', 'UD', 'UD' ,'UC','UC', 'UC','UA','UA','UA','UB','UB','UB'],
 'N-D': [ 'C1', 'C2', 'C3','Q1', 'Q2', 'Q3','D1','D2','D3','E1','E2','E3'],
 'HP': [24, 24, 24,7,7,7,7,7,7,5,5,5]
}
df = pd.DataFrame(d)

df['rank']=df['HP'].rank(ascending=False, method='dense')

df
Run Code Online (Sandbox Code Playgroud)

看起来像:

    HP N-D unit  rank
0   24  C1   UD   1.0
1   24  C2   UD   1.0
2   24  C3   UD   1.0
3    7  Q1   UC   2.0
4    7  Q2   UC   2.0
5    7  Q3   UC   2.0
6    7  D1   UA   2.0
7    7  D2   UA   2.0
8    7  D3 …
Run Code Online (Sandbox Code Playgroud)

python rank pandas

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

熊猫groupby和等级-重复的等级相同

这是我的数据框:

my_df = pd.DataFrame({'group':['a','a', 'a','b','b'], 'date':['2017-01-02', '2017-01-02','2017-03-01',  '2018-02-05', '2018-04-06']})
my_df['date']= pd.to_datetime(my_df['date'], format = '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)

我想为每个组添加等级,其中将为相同的值分配相同的等级。

这是我想要的输出:

    date        group rank
0   2017-01-02      a 1
1   2017-01-02      a 1
2   2017-03-01      a 2
3   2018-02-05      b 1
4   2018-04-06      b 2
Run Code Online (Sandbox Code Playgroud)

我想我可以通过分组两次并进行排名和重新加入原始数据框来做到这一点,但是我想知道是否有更快的方法来做到这一点。

unique rank pandas pandas-groupby

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