【问题标题】:Replacing null values in a column in Pyspark Dataframe替换 Pyspark Dataframe 中列中的空值
【发布时间】:2020-10-23 03:14:42
【问题描述】:

我需要替换 Spark 数据框中列中的空值。下面是我试过的代码

df=df.na.fill(0,Seq('c_amount')).show()

但它给我一个错误NameError: name 'Seq' is not defined

下面是我的桌子

   +------------+--------+
   |c_account_id|c_amount|
   +------------+--------+ 
   |           1|    null|    
   |           2|    123 |
   |           3|    null|
   +------------+--------+

预期输出

   +------------+--------+
   |c_account_id|c_amount|
   +------------+--------+ 
   |           1|       0|    
   |           2|     123|
   |           3|       0|
   +------------+--------+

【问题讨论】:

    标签: apache-spark pyspark apache-spark-sql pyspark-dataframes


    【解决方案1】:

    你需要这样使用

    df = df.fillna("<BLANK>", subset=['col_name'])
    

    【讨论】:

    • 我在空的地方得到 。我应该在那里使用“0”吗?如果我使用它不会被视为字符串?
    • yes please.use 0. 你也可以介意批准答案吗..
    • 先生,应用该代码后,我能够得到正确的答案。但之后,如果我尝试 printSchema(),它会说“NoneType”对象没有属性“printSchema”。先生,您能详细说明问题吗?
    • NoneType 意味着您实际上拥有的不是您认为正在使用的任何类或对象的实例。这通常意味着上面的赋值或函数调用失败或返回了意外的结果。
    • 但是为什么我使用这个功能后会出现这样的错误?有没有办法解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 2021-07-18
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多