首页 > 解决方案 > 如何使用 pyspark 对 spark 数据框中新添加的列执行功能

问题描述

我试图使用文字在 pyspark 中创建一个新列,但是当我尝试使用该列执行一些功能时,它显示这样的错误 AttributeError: 'NoneType' object has no attribute 'show' 我的代码是

autodata1=autodata.withColumn('pricePerMPG',(col('PRICE')/(col('MPG-CITY')+col('MPG-HWY')/2))).show(truncate=False)`
autodata1.show()
from pyspark.sql.functions import max
max = autodata1.agg({"pricePerMPG": "max"}).collect()[0]
print(max)

谁能帮我解决这个问题?

标签: apache-sparkpysparkapache-spark-sql

解决方案


show()触发一个动作并返回一个非对象。

autodata1=autodata.withColumn('pricePerMPG',(col('PRICE')/(col('MPG-CITY')+col('MPG-HWY')/2)))
autodata1.show(truncate=False)
from pyspark.sql.functions import max
max = autodata1.agg({"pricePerMPG": "max"}).collect()[0]
print(max)

推荐阅读