TypeError:type Column没有定义__round__方法[duplicate]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeError:type Column没有定义__round__方法[duplicate]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我的数据看起来像这样:
+-------+-------+------+----------+
|book_id|user_id|rating|prediction|
+-------+-------+------+----------+
| 148| 588| 4| 3.953999|
| 148| 28767| 3| 2.5816362|
| 148| 41282| 3| 4.185532|
| 148| 18313| 4| 3.6297297|
| 148| 11272| 3| 3.0962112|
+-------+-------+------+----------+
我想通过舍入预测列中的值来创建新的列名'pred_class'。我运行这段代码:
results.withColumn('pred_class',round(results['prediction']))
它给了我这样的错误:
TypeError:type Column不定义round方法
有人可以帮我这个吗?谢谢!
您正在使用基本python中的round
函数对未正确定义的spark Column对象。使用round
的pyspark.sql.functions
函数代替:
results = spark.createDataFrame([{'book_id': 148, 'user_id': 588, 'rating': 4, 'prediction': 3.953999}])
from pyspark.sql.functions import round # import the method here
results.withColumn('pred_class',round(results['prediction'])).show()
+-------+----------+------+-------+----------+
|book_id|prediction|rating|user_id|pred_class|
+-------+----------+------+-------+----------+
| 148| 3.953999| 4| 588| 4.0|
+-------+----------+------+-------+----------+
以上是关于TypeError:type Column没有定义__round__方法[duplicate]的主要内容,如果未能解决你的问题,请参考以下文章
Pyspark 和错误“TypeError:必须是实数,而不是 Column”,当尝试在窗口上使用定义的函数查找指南针方位时
Apollo Graphql 自定义标量 JSON - 抱怨“TypeError:type.getFields 不是函数”
TypeError:Cannot read property 'type' of undefined
TypeError [ERR_INVALID_ARG_TYPE]:“listener”参数必须是函数类型。收到未定义
NodeJS - TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。收到未定义
图片上传错误:TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。接收类型未定义