Python 3.x 如何划分两个加和数据帧

Python 3.x 如何划分两个加和数据帧,python-3.x,pyspark,Python 3.x,Pyspark,我想将pyspark中的两列之和除以,例如,我在下面有一个数据集 A B C 1 1 2 3 2 1 2 3 3 1 2 3 我想得到的是可乐之和除以可乐之和,如下所示 6 (Sum of colB) / 3 (Sum of colA) = 2 我试过的是 sumofA = df.groupby().sum('A') sumofB = df.groupby().sum('B') Result = B / A 但会产生错误: TypeError:

我想将pyspark中的两列之和除以,例如,我在下面有一个数据集

    A  B  C
 1  1  2  3
 2  1  2  3
 3  1  2  3
我想得到的是可乐之和除以可乐之和,如下所示

  6 (Sum of colB)  / 3 (Sum of colA) = 2
我试过的是

sumofA = df.groupby().sum('A') 
sumofB = df.groupby().sum('B')

Result = B / A
但会产生错误:

TypeError: unsupported operand type(s) for /: 'DataFrame' and 'DataFrame'

高级感谢。

您的方法是正确的,但您只能在聚合函数中进行计算

from pyspark.sql import functions as F
df.groupBy().agg(F.sum("B")/F.sum("A")).show()
+-----------------+
|(sum(B) / sum(A))|
+-----------------+
|              2.0|
+-----------------+
或者,您可以使用
collect()[0][0]

from pyspark.sql import functions as F
a=df.groupBy().agg(F.sum("B")/F.sum("A")).collect()[0][0]
a

Out[5]: 2.0