Pyspark 轮功能未按预期工作

Pyspark round function not working as expected

我已经使用 MulticlassClassificationEvaluator 模块计算了朴素贝叶斯模型的准确性,我正在尝试将其四舍五入到小数点后两位。下面是相同的代码:

    print("Naive Bayes accuracy is: " + str(round(rf_accuracy,2)))

但我面临以下问题:


TypeError Traceback(最后一次调用) 在 () ----> 1 print("朴素贝叶斯精度为:" + str(round(rf_accuracy,2)))

1 帧 /usr/local/lib/python3.6/dist-packages/pyspark/sql/column.py 在 _to_java_column(col) 54 “{0} 类型为 {1}。” 55 “对于列文字,使用 'lit'、'array'、'struct' 或 'create_map'” ---> 56 “函数”.format(col, type(col))) 57 return 杰科尔 58

TypeError:参数无效,不是字符串或列: 类型的 93.15707620528771。对于列文字,请使用 'lit'、'array'、'struct' 或 'create_map' 函数。

我在 google 上搜索了很多,并浏览了 pyspark 函数和示例,但没有成功。不知道我错过了什么。任何帮助将不胜感激。

如果 rfaccuracy 是数据框的列名,那么您必须这样做

import pyspark.sql.functions aa f
df.select(f.round('rfaccuracy')).show()