如何替换PySpark中另一列中缺少的值?
我想用t5中的值来替换t4中缺少的一些值。搜索代码,但对我不起作用如何替换PySpark中另一列中缺少的值?,pyspark,coalesce,Pyspark,Coalesce,我想用t5中的值来替换t4中缺少的一些值。搜索代码,但对我不起作用 当前: 目标: df是一个数据帧。代码: pdf = df.toPandas() from pyspark.sql.functions import coalesce pdf.withColumn("t4", coalesce(pdf.t4, pdf.t5)) 错误:“DataFrame”对象没有属性“withColumn” 另外,以前尝试过以下代码,但都不起作用 new_pdf=pdf['t4'].fi
- 当前:
- 目标:
pdf = df.toPandas()
from pyspark.sql.functions import coalesce
pdf.withColumn("t4", coalesce(pdf.t4, pdf.t5))
错误:“DataFrame”对象没有属性“withColumn”
另外,以前尝试过以下代码,但都不起作用
new_pdf=pdf['t4'].fillna(method='bfill', axis="columns")
错误:对象类型没有轴命名列,就像错误指示的。withColumn()不是数据帧的方法,而是spark数据帧。请注意,当使用.toPandas()时,您的pdf将成为熊猫数据帧,因此如果要使用.withColumn()请避免转换 更新:
如果pdf是熊猫数据帧,则可以执行以下操作:
pdf['t4']=pdf['t4'].fillna(pdf['t5'])
看起来pdf是熊猫数据框,而不是spark数据框请向我们展示您的数据框的几行,以及应用您的逻辑后这些行的外观。您将其转换为熊猫数据帧有什么原因吗?谢谢大家。已添加图像,不确定是否可以看到。谢谢。我确实试过先用熊猫。但它不起作用。你也知道原因吗?代码:new_pdf=pdf['t4'].fillna(method='ffill',axis=“columns”)错误:如果pdf是熊猫数据框,则对象类型没有轴命名列,您可以执行:
pdf['t4']=pdf['t4'].fillna(pdf['t5'])