【发布时间】:2020-07-18 03:43:00
【问题描述】:
我想针对表格中的每一行对每一行进行一些计算,然后将最大值保留在新列中。
例如,我想为以下数据框中的每一行计算(x / x * y):
id score
A 1.2
B 4.5
C 0.8
D 1.1
E 6.7
A 将对所有其他行 B、C、D、E 进行计算
这就像做一个嵌套的for循环:
for(int i = 0; i < table.length; i++)
for(int j = 0; j < table.length; j++)
if(i == j) continue
result = score-from-A / (score-from-A * score-from-B)
if(result > max_score_A_current_has)
max_score_A_current_has = result
这是预期的输出。公式为x / (x * y)
id score max
A 1.2 1.25 because max in 0.2 (A-B), 1.25 (A-C), 0.9 (A-D)
B 4.5 1.25 0.83 (B-A), 1.25 (B-C), 0.91 (B-D)
C 0.8 0.9 0.83 (C-A), 0.2 (C-B), 0.9 (C-D)
D 1.1 1.25 0.83 (D-A), 0.2 (D-B), 1.25 (D-C)
我不知道如何在 pyspark 中做到这一点。
【问题讨论】:
-
添加预期输出并更详细地解释您的问题
-
更新了问题
标签: python apache-spark pyspark