如何使用pyspark对数据框中的两列进行数学运算

How to do mathematical operation with two column in dataframe using pyspark

我的数据框包含三列 "x" 、"y" 和 "z"

x        y         z
bn      12452     221
mb      14521     330
pl      12563     160
lo      22516     142

我需要创建一个由这个公式导出的另一列

(m = z / y+z)

所以新的数据框应该是这样的:

x        y         z        m
bn      12452     221      .01743
mb      14521     330      .02222
pl      12563     160      .01257
lo      22516     142      .00626
df = sqlContext.createDataFrame([('bn', 12452, 221), ('mb', 14521, 330)], ['x', 'y', 'z'])
df = df.withColumn('m', df['z'] / (df['y'] + df['z']))
df.head(2)