- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如何根据成员的 ID 从排序集中获取成员列表而不是仅获取一个成员?
我想用实际排序集中的一组 ID 构建一个子集。
我正在为 Redis 使用 Ruby 客户端,不想一一迭代。因为我想查找的成员可能超过 3000 个。
这是 issue tracker到一个新命令 ZMSCORE 来执行批量 ZSCORE。
最佳答案
ZSCORE
没有可变形式,但是 - 请参阅讨论:https://github.com/antirez/redis/issues/2344
也就是说,目前您可以为此使用 Lua 脚本。例如:
local scores = {}
while #ARGV > 0 do
scores[#scores+1] = redis.call('ZSCORE', KEYS[1], table.remove(ARGV, 1))
end
return scores
从命令行运行它看起来像:
$ redis-cli ZADD foo 1 a 2 b 3 c 4 d
(integer) 4
$ redis-cli --eval mzscore.lua foo , b d
1) "2"
2) "4"
编辑:在 Ruby 中,它可能类似于以下内容,尽管您最好使用 SCRIPT LOAD
和 EVALSHA
并从外部文件加载脚本(而不是在应用程序中对其进行硬编码):
require 'redis'
script = <<LUA
local scores = {}
while #ARGV > 0 do
scores[#scores+1] = redis.call('ZSCORE', KEYS[1], table.remove(ARGV, 1))
end
return scores
LUA
redis = ::Redis.new()
reply = redis.eval(script, ["foo"], ["b", "d"])
local scores = {}
while #ARGV > 0 do
local member_id = table.remove(ARGV, 1)
local member_score = {}
member_score[1] = member_id
member_score[2] = redis.call('ZSCORE', KEYS[1], member_id)
scores[#scores + 1] = member_score
end
return scores
关于ruby - Redis 排序集 : Bulk ZSCORE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36263698/
考虑以下数据框 df np.random.seed([3,1415]) df = pd.DataFrame(dict( S=np.random.rand(20), W=
我有一个数据框,其中有一列“组”可以有 50 个不同的值,而一列“值”是数字。 一个例子可以是: pd.DataFrame({'group':['a','b','c','a','a','b','a',
我正在尝试查找各组中值的 z 分数,例如在以下数据中 df: GROUP VALUE 1 5 2 2 1 10 2 20 1 7 在第 1 组中,值是
如何根据成员的 ID 从排序集中获取成员列表而不是仅获取一个成员? 我想用实际排序集中的一组 ID 构建一个子集。 我正在为 Redis 使用 Ruby 客户端,不想一一迭代。因为我想查找的成员可能超
我正在尝试将名为 [Z Score] 的列更新到 SQL 中的表中。我编写了在 SELECT 查询中创建新列的代码,如下所示: SELECT cd.* FROM ( SELECT [Ca
我正在尝试将名为 [Z Score] 的列更新到 SQL 中的表中。我编写了在 SELECT 查询中创建新列的代码,如下所示: SELECT cd.* FROM ( SELECT [Ca
使用以下代码: import pandas as pd from sklearn.preprocessing import scale df = pd.DataFrame({"Probe":["143
我目前正在将组分配给一个特殊的 url,并将他们的 groupId 作为分数。 创建群组网址: $this->cache->redis->zadd("group_route",$groupI
这个问题在这里已经有了答案: Is Redis list or set pop method thread safe? (1 个回答) 关闭 6 年前。 如果两个 Redis 客户端同时发出 ZAD
使用 Elasticsearch/Elastic,我想合并 n 个文档集合并按 zScore(或任何标准化分数)对它们进行排序。 详细信息: 合并 2..n 个文档集合,每个文档都有一个不同范围的分数
我可以将一列插入到一个数据框中,该数据框对另一列进行 z 评分,如下所示: [1] df.insert(, column='ZofA', value=(df['A']-df['A'].mean())/
我有一个 pandas groupby 对象,它返回每种基因类型的计数,大致如下所示(为清楚起见,手动格式化列标题): counts = df.groupby(["ID", "Gene"]).size
我有一个 pandas 数据框,其中包含一列我想要 zscore 归一化的实数值: >> a array([ nan, 0.0767, 0.4383, 0.7866, 0.8091,
为什么 Python 中的 sklearn.preprocessing.StandardScaler 标准化与 Matlab 中的 zscore 不同? Python 中的 sklearn.prepr
我是一名优秀的程序员,十分优秀!