Python 用谷歌表格公式计算标准化分数

Python 用谷歌表格公式计算标准化分数,python,google-sheets,excel-formula,google-sheets-formula,Python,Google Sheets,Excel Formula,Google Sheets Formula,我的电子表格如下所示: Score1 Score2 Score3 Joe 8 5 3 Jane 4 6 2 Abdul 5 5 3 Nadia 9 7 5 我想计算一个包含每个人的“平均标准化分数”(ANS)的新列,其中对于每个分数,我通过减去平均值并除以该分数列的标准偏差得到

我的电子表格如下所示:

        Score1    Score2    Score3
Joe          8         5         3 
Jane         4         6         2
Abdul        5         5         3
Nadia        9         7         5
我想计算一个包含每个人的“平均标准化分数”(ANS)的新列,其中对于每个分数,我通过减去平均值并除以该分数列的标准偏差得到“标准化分数”,然后对这些标准化分数进行平均,得到每个人的ANS

结果应该是:

        Score1    Score2    Score3        ANS
Joe          8         5         3     -0.135
Jane         4         6         2     -0.686
Abdul        5         5         3     -0.621
Nadia        9         7         5      1.44
此操作的python式伪代码为:

for j in [1..N_cols]:
    mean_scores = mean(score[i, j] for i in [1..N_rows])
    std_scores = std(score[i, j] for i in [1..N_rows])
    for i in [1..N_rows]:
        norm_scores[i, j] = (scores[i, j] - mean_scores)/std_scores

for i in [1..N_rows]:
    avg_norm_scores[i] = mean(norm_scores[i, j] for j in [1..N_cols])
或者在numpy,它只是:

avg\u norm\u分数=((分数-分数.平均值(轴=0))/scores.std(轴=0)).mean(轴=1)


在google sheets中,我计算包含ANS的新列最简洁的方法是什么?

也许不是最简洁的方法,但正确的答案是:

=average((B2-average(B:B))/STDEVP(B:B),(C2-average(C:C))/STDEVP(C:C),(D2-average(D:D))/STDEVP(D:D))

复制下来以适应,假设
8
在B2中。

你能包括获得ANS的数学方程吗?谢谢,是的,我最后做了这个。我希望能有某种方法来循环列,因为在我的真实示例中,我有8个列,而等式变得很混乱