我有一个大型数据集,我想删除其中包含null
值的列,并返回一个新的 Dataframe 。我该怎么做呢?
下面的代码只删除包含null
的单列或单行。
df.where(col("dt_mvmt").isNull()) #doesnt work because I do not have all the columns names or for 1000's of columns
df.filter(df.dt_mvmt.isNotNull()) #same reason as above
df.na.drop() #drops rows that contain null, instead of columns that contain null
比如说
a | b | c
1 | | 0
2 | 2 | 3
在上面的例子中,它将删除整个列B
,因为它的一个值为空。
2条答案
按热度按时间pb3skfrl1#
以下是删除所有具有NULL值的列的一种可能方法:有关按列计算NULL值的代码的源代码,请参见here。
之前:
之后:
希望这对你有帮助!
bf1o4zei2#
如果我们只需要保留那些至少有一个检查过的列不为空的行,那么就使用这个方法。执行时间非常短。