Java -如何过滤 Dataframe 中特定列具有空值的行

ia2d9nvy  于 2022-11-20  发布在  Java
关注(0)|答案(1)|浏览(165)

在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中至少有一个值的行

uqdfh47h

uqdfh47h1#

您的筛选器要求**COLUMN_1COLUMN_2都不能为空,才能包含在结果中。
您真正想要的是COLUMN_1COLUMN_2
至少有一个**不为空,这可以通过or实现:

Column filter = col("COLUMN_1").isNotNull().or(col("COLUMN_2").isNotNull());

相关问题