Python 替换pyspark数据帧中的值
我是pyspark的新手,正在进行我的第一个spark项目,我面临两个问题 a) 无法使用引用列Python 替换pyspark数据帧中的值,python,apache-spark,pyspark,spark-dataframe,Python,Apache Spark,Pyspark,Spark Dataframe,我是pyspark的新手,正在进行我的第一个spark项目,我面临两个问题 a) 无法使用引用列 df["col1"].show() ***TypeError: 'Column' object is not callable*** b) 无法用聚合值(如平均值)替换spark数据框中的值 Code: from pyspark import SparkConf, SparkContext from pyspark.sql.functions import * from pyspark.sql
df["col1"].show()
***TypeError: 'Column' object is not callable***
b) 无法用聚合值(如平均值)替换spark数据框中的值
Code:
from pyspark import SparkConf, SparkContext
from pyspark.sql.functions import *
from pyspark.sql import Row, HiveContext, SQLContext, Column
from pyspark.sql.types import *
df = hive_context.table("db_new.temp_table")
df.select("col1").fillna(df.select("col1").mean())
***AttributeError: 'DataFrame' object has no attribute 'mean'***
非常感谢您的帮助
更新:
我尝试了下面的代码片段,但它返回了另一个错误
df.withColumn("new_Col", when("ColA".isNull,df.select(mean("ColA"))
.first()(0).asInstanceOf[Double])
.otherwise("ColA"))
AttributeError: 'str' object has no attribute 'isNull'
这应该起作用:
df[["col1"]].show()
谢谢这解决了我的第一个问题。对第二部分有什么建议吗?对不起,没有看到第二部分,我想第二部分已经在对你的问题的评论中得到了回答