我在删除数据框中包含大于null的na_threshold的行时遇到了一些麻烦
na_threshold=2
df3=df3.dropna(thresh=len(df3.columns) - na_threshold)
我跑步时
df_null = df3.where(reduce(lambda x, y: x | y, (f.col(x).isNull() for x in df3.columns)))
df_null是具有1行的数据帧条目,只有一列具有空值
我尝试增加值na_threshold,但是并没有改变。
答案 0 :(得分:0)
我意识到drop.na函数确实起作用
发生的事情是该文件最初是通过Pandas读取的,而在Pandas使用nan,NaT有时是“-”的情况下,我在将其他Null之类的值转换为Null之前放了drop na函数。
for column in columns:
df3 = df3.withColumn(column,when((col(column)=='nan'),None).otherwise(F.col(column)))
df3 = df3.withColumn(column,when((col(column)=='NaT'),None).otherwise(F.col(column)))
df3 = df3.withColumn(column,when((col(column)=='-'),None).otherwise(F.col(column)))
na_threshold=2
df3=df3.dropna(thresh=len(df3.columns) - na_threshold)```