Spark 数据框中值为“-”的日期列

问题描述 投票:0回答:1

我在数据块中有一个日期列,其中 1 条记录的值为“-”。我无法将其过滤掉或选择此行。我如何在 where 子句中使用这个值“-”?

我已经尝试过了

spark_df_2023_fil=spark_df_2023.filter(spark_df_2023["navdt"] == '-')
spark_df_2023_fil=spark_df_2023.filter(spark_df_2023["navdt"] != '-')

但这两个都给了我 0 条记录。

spark_df_2023_fil=spark_df_2023.filter(spark_df_2023["navdt"] == '-')
spark_df_2023_fil=spark_df_2023.filter(spark_df_2023["navdt"] != '-')
python dataframe pyspark databricks
1个回答
0
投票

似乎为我工作......我希望这就是你正在尝试的?

from pyspark.sql.types import *
from pyspark.sql.functions import *
import datetime
schema = StructType([StructField("navdt", StringType(), True)])
l = [("2024-03-01",),('-',)]
spark_df_2023 = spark.createDataFrame(l, schema)
display(spark_df_2023)
df = spark_df_2023.filter(spark_df_2023.navdt != '-')
display(df)

© www.soinside.com 2019 - 2024. All rights reserved.