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

标签 apache-spark pyspark apache-spark-sql spark-dataframe pyspark-sql

我有三列“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)

关于apache-spark - 如何使用pyspark对数据框中的两列进行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728017/

相关文章:

scala - AssemblyKey用作什么,以及如何导入它们?

python - 减少对 - python

apache-spark - 时间戳差异总是 INTERVAL DAY TO SECOND 吗?

azure - 将 DataFrame 从 Azure Databricks 笔记本写入 Azure DataLake Gen2 表

scala - 从时间戳范围中获取开始日期和结束日期

apache-spark - 使用pyspark获取列的数据类型

performance - Spark中有什么方法可以保持每个阶段的运行时间?

python - Pyspark 数据框收集热门记录

apache-spark - Spark Dataframe 最大列数

scala - 数据框中 ArrayType 列之间的差异