【问题标题】:Subtract values of columns from two different data frames in PySpark to find RMSE从 PySpark 中的两个不同数据帧中减去列的值以找到 RMSE
【发布时间】:2018-08-07 04:45:16
【问题描述】:

我无法弄清楚。我正在尝试计算测试数据和预测数据之间的 RMSE。

测试

col1    col2
 a        2 
 b        3

预测

col1   col2
 a       4 
 b       5

我正在尝试做这个测试(col2)-预测(col2)。那就是

2-4 =-2
3-5 =-2

我试过了

test.select("col2").subtract(prediction.select("col2"))

但我没有得到所需的结果。我试图获得这个结果来找到 RMSE。 spark中是否有内置函数来查找RMSE?

谢谢。

【问题讨论】:

    标签: python apache-spark dataframe pyspark rdd


    【解决方案1】:

    它是一个连接和一个算术减法:

    test.join(prediction, on="col1").withColumn("sub", test.col2-prediction.col2)
    

    【讨论】:

    • 谢谢。所以不加入我们就不能做算术减法吧?
    • 如果没有连接,您无法将测试中的 X 行与预测中的 X 行进行比较。 subtract 将数据帧测试与数据帧预测进行比较,删除第二个中存在的第一个行。
    【解决方案2】:

    请在下面的表达式中替换您的表名:

    tab1.join(tab2).withColumn("Sub", tab2("T1")-tab1("T")).select("Sub").show() 
    

    【讨论】:

    • 虽然它是在 Spark Scala 中.. 你可以像 Thin is pyspark 这样的东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多