我的数据框有三列" 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
答案 0 :(得分:8)
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)