小编dmc*_*c7z的帖子

计算几列的相应z得分

我正在使用SQL查询来确定几列的z得分(x - μ/σ).

特别是,我有一个如下表:

my_table
id    col_a  col_b  col_c
1     3      6      5
2     5      3      3
3     2      2      9
4     9      8      2
Run Code Online (Sandbox Code Playgroud)

...并且我想根据其列的平均值和标准偏差选择每行中每个数字的z得分.

所以结果看起来像这样:

id    col_d     col_e     col_f
1    -0.4343    1.0203    ...
2     0.1434   -0.8729
3    -0.8234   -1.2323
4     1.889     1.5343
Run Code Online (Sandbox Code Playgroud)

目前我的代码计算两列的分数,如下所示:

select id,
   (my_table.col_a - avg(mya.col_a)) / stddev(mya.col_a) as col_d,
   (my_table.col_b - avg(myb.col_b)) / stddev(myb.col_b) as col_e, 
from my_table,
select col_a from my_table)mya,
select col_b from my_table)myb
group by id;
Run Code Online (Sandbox Code Playgroud)

但是,这非常慢.我一直在等待分钟进行三列查询.

有没有更好的方法来实现这一目标?我正在使用postgres,但任何一般语言都会对我有帮助.谢谢!

sql postgresql

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

Perl的字符串参数foreach

Perldocs只表示foreach循环"迭代正常列表值" https://perldoc.perl.org/perlsyn.html#Foreach-Loops,但我有时会看到它们带有字符串参数,例如以下示例:

foreach (`curl example.com 2>/dev/null`) {
    # iterates 50 times
}

foreach ("foo\nbar\nbaz") {
    # iterates just 1 time. Why?
}
Run Code Online (Sandbox Code Playgroud)

传递像这样定义的字符串的行为是什么?另外,为什么不同的结果是传递由反引号命令和文字字符串返回的字符串,如示例中所示?

perl

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

标签 统计

perl ×1

postgresql ×1

sql ×1