Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 替换pyspark数据帧中的值_Python_Apache Spark_Pyspark_Spark Dataframe - Fatal编程技术网

Python 替换pyspark数据帧中的值

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

我是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 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() 

谢谢这解决了我的第一个问题。对第二部分有什么建议吗?对不起,没有看到第二部分,我想第二部分已经在对你的问题的评论中得到了回答