【问题标题】:Replace values in a pyspark dataframe [duplicate]替换pyspark数据框中的值[重复]
【发布时间】:2018-03-09 05:23:35
【问题描述】:

我是 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'***

非常感谢任何帮助!

更新:

我尝试了下面的代码 sn-p 但它返回另一个错误。

df.withColumn("new_Col", when("ColA".isNull,df.select(mean("ColA"))
  .first()(0).asInstanceOf[Double])
  .otherwise("ColA"))

AttributeError: 'str' object has no attribute 'isNull'

【问题讨论】:

    标签: python apache-spark pyspark spark-dataframe


    【解决方案1】:

    这应该可行:

    df[["col1"]].show() 
    

    【讨论】:

    • 谢谢!这解决了我的第一个问题。对第二个有什么建议吗?
    • 抱歉没有看到第二部分,我认为第二部分已在 cmets 中回答您的问题
    猜你喜欢
    • 1970-01-01
    • 2021-12-31
    • 2018-05-04
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2018-04-22
    • 1970-01-01
    相关资源
    最近更新 更多