Python 3.x 如何划分两个加和数据帧
我想将pyspark中的两列之和除以,例如,我在下面有一个数据集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:
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