如何根据pyspark中另一列的值检查一列是否为null?

klsxnrf1  于 2021-07-13  发布在  Spark
关注(0)|答案(2)|浏览(444)

我怎样才能使我的条件打印真实是如果 vin 在特定的 date_stamp 是否为空?
vinvinardatenulleqr2114402-02-2021ebntyure43evirter4502-03-2021

date_stamp = "02-02-2021"

df2 = df.withColumn(vin,F.when(F.col('date')==F.lit(date_stamp)).isnull())
if df2==True:
   print('True')
else:
   print('False')
uubf1zoe

uubf1zoe1#

不能测试Dataframe是真是假。您需要测试列,并使用 head()[0] :

result = df.filter(F.col('date')==F.lit(date_stamp)).select(F.col('vin').isNull()).head()[0]

然后你可以测试 result 使用类似 if result: print('True')

xlpyo6sf

xlpyo6sf2#

你也可以这样写:

df2 = df.filter("date = '02-02-2021' AND vin IS NULL")

if df2.count():
    print(True)
else:
    print(False)

如果 df2.count > 0 这意味着至少有一个空值 vin 在那一天 date = 02-02-2021

相关问题