Python 在withColumn函数中应用过滤器
有一个Python 在withColumn函数中应用过滤器,python,python-3.x,list,pyspark,apache-spark-sql,Python,Python 3.x,List,Pyspark,Apache Spark Sql,有一个带列的函数,该函数在条件满足时适用。 还有另一个过滤要使用的数据的功能FILTER 我不能把这两者结合起来。以下是我的代码: df = df.withColumn("financial_period",(when(col("Main_flag") == "2", filter(col("financial_period").contains("0630"))).(when(col("
带列的函数
,该函数在条件满足时适用。
还有另一个过滤要使用的数据的功能FILTER
我不能把这两者结合起来。以下是我的代码:
df = df.withColumn("financial_period",(when(col("Main_flag") == "2", filter(col("financial_period").contains("0630"))).(when(col("Main_flag") == "1", filter(col("financial_period").contains("0331"))).(when(col("Main_flag") == "3", filter(col("financial_period").contains("0930"))).(when(col("Main_flag") == "4", filter(col("financial_period").contains("1231"))).otherwise("Error"))))))
以下代码起作用:
df = df.filter(col("financial_period").contains("0630"))
但我想在第二个代码中应用条件
有什么想法吗?使用apply方法可能有助于解释您的尝试失败的原因,例如,是否导致错误?结果不是如预期的那样吗?