我试图根据过去 18 个月内的访问次数将客户与“首选”商家联系起来,决胜局是最近的访问日期。我在决胜局方面遇到了一些麻烦。如果有两条记录根据某个 MemberID 的访问次数均排名第 1,我想将该 MemberID 的记录上的 IsFirst 位列设置为 1。我该怎么做呢?
Catch是,整行是一样的.
表:
Hello
Hello
Hello
Bye
Bye
Good Morning
Good Morning
Run Code Online (Sandbox Code Playgroud)
我想离开:
Hello
Bye
Good Morning
Run Code Online (Sandbox Code Playgroud)
我知道你可以在这里使用RANK(),但我从未真正使用它,所以我不太确定.
任何人都可以帮我一把吗?
以下是名为df的格式化数据框.
Company Category Margin Ranking
SBI BK 34.5 1
PNB BK 39.5 2
UCO BANK BK 39.9 3
BANK BK 41.3 4
INDIAN BANK BK 42.3 5
DENA BANK BK 44.5 6
VIJAYA BANK BK 44.5 7
UNION BANK BK 47.6 8
CENTRAL BANK BK 49.8 9
INFOSYS IT 5.6 1
HCL TECH IT 5.9 2
TCS IT 6.9 3
CMC IT 12.6 4
TECHMAHINDRA IT 12.6 5
COGNIZANT IT 15.8 6
IGATE IT 22.4 7
WIPRO IT 22.9 8 …
Run Code Online (Sandbox Code Playgroud) 我有一个值的数据集,它有多个列(针对不同的站点)和多行(针对不同的日期),我尝试使用 R 对每天进行排名。我希望从总数中对每列(站点)的数据进行排名一天内的网站数量(因此排名基于每一行)。可以在 Excel 中进行,但显然需要很长时间。下面是我试图实现的[小得多]示例:
date - site1 - site2 - site3 - site4
1/1/00 - 24 - 33 - 10 - 13
2/1/00 - 13 - 25 - 6 - 2
~~ leading to:
date - site1 - site2 - site3 - site4
1/1/00 - 2 - 1 - 4 - 3
2/1/00 - 2 - 1 - 3 - 4
Run Code Online (Sandbox Code Playgroud)
希望有一些简单的命令,非常感谢!
我正在尝试在Hive中运行此查询,以仅返回在adimpression表中更常出现的前10个网址.
select
ranked_mytable.url,
ranked_mytable.cnt
from
( select iq.url, iq.cnt, rank() over (partition by iq.url order by iq.cnt desc) rnk
from
( select url, count(*) cnt
from store.adimpression ai
inner join zuppa.adgroupcreativesubscription agcs
on agcs.id = ai.adgroupcreativesubscriptionid
inner join zuppa.adgroup ag
on ag.id = agcs.adgroupid
where ai.datehour >= '2014-05-15 00:00:00'
and ag.siteid = 1240
group by url
) iq
) ranked_mytable
where
ranked_mytable.rnk <= 10
order by
ranked_mytable.url,
ranked_mytable.rnk desc
;
Run Code Online (Sandbox Code Playgroud)
不幸的是我收到一条错误消息:
FAILED: SemanticException [Error 10002]: Line 26:23 Invalid column reference …
Run Code Online (Sandbox Code Playgroud) 我对R很陌生,所以对于很多有经验的程序员来说这似乎是微不足道的,对不起提前!
我有一个长度为8的数字向量,如下所示:
data <- c(45, 67, 23, 24, 5, 23, 45, 23)
当我输入:时rank(data)
,R返回:[1] 6.5 8.0 3.0 5.0 1.0 3.0 6.5 3.0
然而,根据我(非常基本的)对等级的理解,我希望R只返回给我整数......例如:
[1] 6 8 2 5 1 3 7 4
怎么能rank()
告诉我第一个元素data
有浮点排名而不是整数排名?是因为有data
重复的价值观,所以rank()
试图以一种我没想到的方式处理关系?如果是这样,请告诉我如何解决这个问题,以便我可以获得看起来像我之前预期的输出.此外,rank()
非常感谢有关如何处理NA值的任何信息.可以使用的基本描述rank()
以及可以使用的铃声和口哨将是太棒了!我在youtube上寻找视频,搜索stackoverflow无济于事!非常感谢.
我完全为在mysql中从rank()over(按x分区,按y desc排序)创建新列“ LoginRank”而感到困惑。
From sql server i would write the following query, to create a column "Loginrank" that is grouped by "login" and ordered by "id".
select ds.id,
ds.login,
rank() over(partition by ds.login order by ds.id asc) as LoginRank
from tablename.ds
Run Code Online (Sandbox Code Playgroud)
I have the following table.
create table ds (id int(11), login int(11))
insert into ds (id, login)
values (1,1),
(2,1),
(3,1),
(4,2),
(5,2),
(6,6),
(7,6),
(8,1)
Run Code Online (Sandbox Code Playgroud)
I tried applying many existing mysql fixes to my dataset but continue to …
问候Delphian堆垛机.
我搜索了网站,所有"排列等级和排名"相关的讨论,找不到符合我需求的那个.
在德尔福:
有一个数组:
Members: array [0..3] of Byte = (0,1,2,3);
Run Code Online (Sandbox Code Playgroud)
如果想要迭代由3个元素组成的所有不同排列,可以估计结果列表将由24行组成,按字典顺序排列为:
0 012
1 013
2 021
3 023
4 031
5 032
6 102
7 103
8 120
9 123
10 130
11 132
12 201
13 203
14 210
15 213
16 230
17 231
18 301
19 302
20 310
21 312
22 320
23 321
Run Code Online (Sandbox Code Playgroud)
可以使用"n选择k"公式计算列表的大小,其中"n"表示成员数,"k"表示选择数:
p(n,k) = n! / (n-k)!
p(4,3) = 4! / (4-3)! = (4 x 3 x 2 x 1) / …
Run Code Online (Sandbox Code Playgroud) df = pl.DataFrame(
{
"era": ["01", "01", "02", "02", "03", "03"],
"pred1": [1, 2, 3, 4, 5,6],
"pred2": [2,4,5,6,7,8],
"pred3": [3,5,6,8,9,1],
"something_else": [5,4,3,67,5,4],
}
)
pred_cols = ["pred1", "pred2", "pred3"]
ERA_COL = "era"
Run Code Online (Sandbox Code Playgroud)
我正在尝试做一个相当于北极熊排名百分位的事情。Polars 的rank
功能缺乏pct
Pandas 所具有的旗帜。
我在这里查看了另一个问题:how to replacement pandas df.rank(axis=1) with Polars
但问题的结果(并将其应用到我的代码中)有些不对劲。计算 Pandas 中的排名百分比,给我一个浮点数,Polars 提供的示例给我一个数组,而不是浮点数,因此示例中计算的内容有所不同。
举个例子,Pandas 代码是这样的:
df[list(pred_cols)] = df.groupby(ERA_COL, group_keys=False).apply(
lambda d: d[list(pred_cols)].rank(pct=True)
)
Run Code Online (Sandbox Code Playgroud) 我想使用一个公式,第一个值 (4) 的排名为 1,第二个值 (3) 的排名为 2,第三个值 (3) 的排名为 2,第四个值 ( 2) 排名为 3。例如:4,3,3,2 将作为排名 1,2,2,3
请帮忙
我想要它的解决方案