Pandas 在其他列的基础上更换pyspark列

Pandas 在其他列的基础上更换pyspark列,pandas,pyspark,apache-spark-sql,Pandas,Pyspark,Apache Spark Sql,在我的数据框架中,我有两列,“时间戳”和“小时”。我想在缺少“时间戳”值的地方插入“小时”列值。我不想创建新列,而是在“时间戳”中填充缺少的值 我想做的是将pandas代码替换为pyspark代码: data['time_stamp'] = data.apply(lambda x: x['hour'] if pd.isna(x['time_stamp']) else x['time_stamp'], axis=1) 像这样的东西应该有用 from pyspark.sql import fun

在我的数据框架中,我有两列,“时间戳”和“小时”。我想在缺少“时间戳”值的地方插入“小时”列值。我不想创建新列,而是在“时间戳”中填充缺少的值

我想做的是将pandas代码替换为pyspark代码:

data['time_stamp'] = data.apply(lambda x: x['hour'] if pd.isna(x['time_stamp']) else x['time_stamp'], axis=1) 

像这样的东西应该有用

from pyspark.sql import functions as f

df = (df.withColumn('time_stamp',
 f.expr('case when time_stamp is null then hour else timestamp'))) #added ) which you mistyped
或者,如果您不喜欢sql:

df = df.withColumn('time_stamp', f.when(f.col('time_stamp').isNull(),f.col('hour'))).otherwise(f.col('timestamp')) # Please correct the Brackets
可能重复的