在Java中,我有一个df
,看起来像这样:
| 名称|列_1|列_2|
| - -|- -|- -|
| 名称_1|零值|一些值|
| 名称_2|一些值|零值|
| 名称_3|零值|零值|
我要筛选COLUMN_1和COLUMN_2具有Null值的所有数据列,让新数据集看起来像这样:
| 名称|列_1|列_2|
| - -|- -|- -|
| 名称_1|零值|一些值|
| 名称_2|一些值|零值|
如何保留在COLUMN_1和COLUMN_2中至少有一个值的行
我尝试了下面的过滤器,但是and
语句似乎是顺序的,并且从df中删除了所有行:
Column filter = col("COLUMN_1").isNotNull().and(col( "COLUMN_2").isNotNull());
df.filter(filter).show();
如何保留在COLUMN_1和COLUMN_2中至少有一个值的行
1条答案
按热度按时间uqdfh47h1#
您的筛选器要求**
COLUMN_1
和COLUMN_2
都不能为空,才能包含在结果中。您真正想要的是
COLUMN_1
和COLUMN_2
中至少有一个**不为空,这可以通过or
实现: